[opengl/glut]falsche schattierung



  • DaHunger schrieb:

    also ich hab gerade herausgefunden, dass mein kreuzprodukt nicht richtig funktioniert.

    hier der code

    ObjektVektor Objekt::kreuzProdukt(ObjektVektor vec1, ObjektVektor vec2){
    GLfloat normalenVektor[3];
    	normalenVektor[0]=(vec1.getY() * vec2.getZ())-(vec1.getZ() * vec2.getY());
    	normalenVektor[1]=(vec1.getZ() *vec!!2!!.getX())-(vec1.getX() * vec2.getZ());
    	normalenVektor[2]=(vec1.getX() * vec2.getY())-(vec1.getY() * vec!!2!!.getX());
    	                                   
    	ObjektVektor erg(normalenVektor[0],normalenVektor[1],normalenVektor[2]);
    	return erg;
    }
    

    meiner meinung nach absolut richtig...

    weiß da jemand nen fehler ?

    Ich hab mal Ausrufezeichen um deinen C&P Fehler gemacht! 😉



  • ui wie doof

    da steht ein paar mal vec1 wo vec2 hingehört ^^

    richtig gehört die funktion also so:

    ObjektVektor Objekt::kreuzProdukt(ObjektVektor vec1, ObjektVektor vec2){
    	GLfloat normalenVektor[3];
    	normalenVektor[0]=vec1.getY() * vec2.getZ()-vec1.getZ() * vec2.getY();
    	normalenVektor[1]=vec1.getZ() * vec2.getX()-vec1.getX() * vec2.getZ();
    	normalenVektor[2]=vec1.getX() * vec2.getY()-vec1.getY() * vec2.getX();
    
    	ObjektVektor erg(normalenVektor[0],normalenVektor[1],normalenVektor[2]);
    	return erg;
    }
    

    falls es jemand interessiert 😉

    EDIT:
    oh hab die 3. seite nich entdeckt und auch den fehler gefunden danke ^^



  • jetzt is alles richtig schattiert

    Person ich;
    ich.swear("Ich werde nie wieder copy und paste benutzen.");
    

Anmelden zum Antworten