View Full Version : [Frage] was soll ich davon halten ...
Kuschelmaus
13-12-2002, 18:26
wie gfallt euch das? :p
hat wer von euch dasselbe problem ghabt?
bin grad am fehlersuchen, aber wenn ich nix find geb ichs ab und dann will ich extrapunkte, weil so schön kariert, das muß ma amal schaffen :D
i hab wa s ähnliches ghabt, hast du schon backface culllign, dann werden die normalen falsch berechnet
hab das gleiche problem.... wenns schon gelöst is wär ich dankbar für anregungen.....
uaaahh.... langsam bin ich am durchdrehen.... ich krieg dieses verdammte backface culling nicht zum laufen....ich kanns noch so oft durchdenken, ich komm einfach auf keinen grünen zweig was diese normalvektoren betrifft.....
um kurz zu resumieren: entweder die normalvektoren sind gegeben, dann werden sie immer gleich mit transformiert und ich brauch sie für jedes polygon einfach nur aus dem transNormals array holen
tn[X] = transNormals[faceTable[x][n+1]][X];
tn[Y] = transNormals[faceTable[x][n+1]][Y];
tn[Z] = transNormals[faceTable[x][n+1]][Z];
oder ich berechne sie aus dem ursprünlichen vertexTable und lass sie durch die Transformationsmatrix laufen
kpv1[X] = vertexTable[faceTable[x][2]][X] - vertexTable[faceTable[x][1]][X];
kpv1[Y] = vertexTable[faceTable[x][2]][Y] - vertexTable[faceTable[x][1]][Y];
kpv1[Z] = vertexTable[faceTable[x][2]][Z] - vertexTable[faceTable[x][1]][Z];
kpv2[X] = vertexTable[faceTable[x][n]][X] - vertexTable[faceTable[x][1]][X];
kpv2[Y] = vertexTable[faceTable[x][n]][X] - vertexTable[faceTable[x][1]][Y];
kpv2[Z] = vertexTable[faceTable[x][n]][Z] - vertexTable[faceTable[x][1]][Z];
source[0][X] = (kpv1[Y]*kpv2[Z])-(kpv1[Z]*kpv2[Y]);
source[0][Y] = (kpv1[Z]*kpv2[X])-(kpv1[X]*kpv2[Z]);
source[0][Z] = (kpv1[X]*kpv2[Y])-(kpv1[Y]*kpv2[X]);
transformNormalsMatrix.transformPoints(1, source, target);
tn[X] = target[0][X];
tn[Y] = target[0][Y];
tn[Z] = target[0][Z];
sämtliche, für backface culling bzw. shading relevanten berechnungen bzw. bestimmungen basieren ja auf der betrachtung meiner vektoren im raum (viewing coordinates) und nicht in der projektionsebene oder den normalisierten device koordinaten, so denke ich jedenfalls..... aber wieso funktioniert meine obige berechnung für die normalvektoren nicht????
vielleicht weiß ja dankenswerter weise jemand rat......
ich kann nimma.....
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.