Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

31

04.05.2008, 21:07

Mist jetzt hab ich grade den Fehler gefunden, wenn er es war werde ich es gleich mal schreiben welcher es war :)

Könnte nen wenig dauern!


EDIT:::::::::::

War er doch nicht :(

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

32

04.05.2008, 22:32

man kann das ganze auch bei einem terrain vorhersehen. da gibt es keinen unterschied, außer das es bei einer pyramide leichter ist :p

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

33

04.05.2008, 22:34

Zitat von »"BlackSnake"«

man kann das ganze auch bei einem terrain vorhersehen. da gibt es keinen unterschied, außer das es bei einer pyramide leichter ist :p


Joa. Aber naja.. Die Fehlerquelle für einen Anfänger ist da wessentlich höher. Und für andere zum durchlesen nicht gerade einfacher.. ;)

tnecniv

Treue Seele

Beiträge: 164

Wohnort: BERLIN

  • Private Nachricht senden

34

04.05.2008, 23:21

Zitat

a = cv_Vertices[s_Indices[run]].x;
b = cv_Vertices[s_Indices[run + 1]].y;
c = cv_Vertices[s_Indices[run + 2]].z;
A = a - b;
B = c - b;
cv_Vertices[s_Indices[run]].NORMAL.x = (A.y * B.z) - (A.z * B.y);
cv_Vertices[s_Indices[run + 1]].NORMAL.y = (A.z * B.x) - (A.x * B.z);
cv_Vertices[s_Indices[run + 2]].NORMAL.z = (A.x * B.y) - (A.y * B.x);
run += 3;


das ist FALSCH!

du solltest vielleicht wirklich einmal eine pyramide oder der gleichen beleuchten, denn du scheinst das system mit den normalen noch nicht ganz verstanden zu haben.. dir ist bewusst. dass du jedem vertex einen normalenvektor gibst? sieht in den letzten zeilen nicht danach aus. dein code könnte folgendermaßen annähernd klappen:

C-/C++-Quelltext

1
2
3
4
5
6
7
vector a = Vertices[Indices[run]].POSITION
vector b = Vertices[Indices[run+1]].POSITION
vector c = Vertices[Indices[run+2]].POSITION
vector A = a-b
vector B = c-b
vector N = normalize(AxB)
Vertices[Indices[run]].NORMAL = Vertices[Indices[run+1]].NORMAL = Vertices[Indices[run+2]].NORMAL = N


ist allerdings eine seehr ungenaue Normalenberechnung

Es gibt so viele gut texte über terrains und auch deren normalen..google doch einfach mal.

Gruß Vincent
Sagt der igel zu dem dachs:
willst du größer sein, dann wachs!
- alte Fritz weisheit

35

04.05.2008, 23:42

Habs schon hinbekommen, aber danke :)

(Link)


Nächster halt, texturierung :P

36

13.05.2008, 16:36

Wie bekomme ich nun raus, wie oft ich die Normalen setzen muss, also, wie oft ich die schleife durchlaufen muss?

37

13.05.2008, 19:51

Weisst du ueberhaupt, was du da treibst?

38

13.05.2008, 19:57

so halb xD

Werbeanzeige