Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Mam taki problem. Otóż bawię się 3D i chcę zrobić takie... coś za pomocą vertex'ów. Wygląda to m.w. jak ostrosłup z 4 wierzchołkami u podstawy, tyle że obcięty w 1/3 wysokości. I teraz tak: jeżeli lighting=false, wszysko jest OK, ale jeżeli włączam światło, kształt znika. (może nie znika, robi się czarny i nie reaguje na światło). Nie jest to wina światła, bo są tam też inne modele 3D i wszystko jakoś działa. Wie ktoś o co chodzi?

Opublikowano

1. Musisz zrobic vertexami wektory normalne - bez nich swiatlo nie dziala na recznie rysowanych brylach

2. ustaw d3d_set_shading(true)

Opublikowano

chodzi o dodanie do prymitywow d3d_vertex_normal. Wektory normalne 'mowia' swiatlu gdzie jest twarz poligonu, 'mowia' jak dodawac swiatlo

Opublikowano

To ci powinno pomoc zrozumiec wektory normalne:

vectorswc0.png

Opublikowano

Dzięki, działa. Trochę skakcze, ale dobra. A mógłbyś coś dla mnie jeszcze zrobić? Otóż coś mi się robi z teksturą. Kod wygląda tak:

d3d_model_primitive_begin(MT11,pr_trianglestrip)
    d3d_model_vertex_normal_texture(MT11,-10,20,10,-10,26,20,0,0)
    d3d_model_vertex_normal_texture(MT11,10,20,10,10,26,20,1,0)
    d3d_model_vertex_normal_texture(MT11,4,30,4,4,36,14,1,1)
    d3d_model_vertex_normal_texture(MT11,-4,30,4,-4,36,14,0,1)
    d3d_model_vertex_normal_texture(MT11,-10,20,10,-10,26,20,0,0)
d3d_model_primitive_end(MT11)

 

Ogólnie jest dobrze, ale tekstura jest trochę poplątana, tzn są trzy tekstury, wszystkie mają inny kształt i są na sobie. Wygląda to m.w tak:

image1.jpg

 

Wiesz o co chodzi?

Opublikowano
d3d_model_primitive_begin(MT11,pr_trianglestrip)
    d3d_model_vertex_normal_texture(MT11,-10,20,10,-10,26,20,0,0)
    d3d_model_vertex_normal_texture(MT11,10,20,10,10,26,20,1,0)
    d3d_model_vertex_normal_texture(MT11,4,30,4,4,36,14,1,1)
    d3d_model_vertex_normal_texture(MT11,-4,30,4,-4,36,14,0,1)
d3d_model_primitive_end(MT11)

Opublikowano

Hmm... Znikła tekstura w lewym, dolnym rogu i jest dziura. Podsumowując są dwie tekstury (podam trzy punkty wsparcia) :

Pierwsza: 1.lewy górny 2.prawy górny 3. prawy dolny

Druga: 1.prawy górny 2. prawy dolny 3. lewy dolny

 

PS: Jak nie chcesz nie musisz mi pomagać :sp_ike:

Opublikowano

d3d_model_primitive_begin(MT11,pr_trianglelist)

d3d_model_vertex_normal_texture(MT11,-10,20,10,-10,26,20,0,0)
d3d_model_vertex_normal_texture(MT11,10,20,10,10,26,20,1,0)
d3d_model_vertex_normal_texture(MT11,4,30,4,4,36,14,1,1)

d3d_model_vertex_normal_texture(MT11,4,30,4,4,36,14,1,1)
d3d_model_vertex_normal_texture(MT11,-4,30,4,-4,36,14,0,1)
d3d_model_vertex_normal_texture(MT11,-10,20,10,-10,26,20,0,0)

d3d_model_primitive_end(MT11)

Jak nie stripem to lista trojkatow. powinno dzialac :)

Opublikowano
To ci powinno pomoc zrozumiec wektory normalne:

vectorswc0.png

A to nie jest przypadkiem iloczyn wektorów znormalizowanych tego trójkąta?

A wektor "normalny" to po prostu wektor podzielony przez jego długość - określa tylko jego kierunek, nie?

Opublikowano

Ee tam, pomylily mi sie nazwy ;P kazdemu sie moze zdazyc. Grunt ze dziala :)

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...