OpenGL Transformation (Object Space / World Space)

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Matthias Ebel
Beiträge: 1
Registriert: 08.07.2002, 11:47
Kontaktdaten:

OpenGL Transformation (Object Space / World Space)

Beitrag von Matthias Ebel »

Hallo zusammen,

ich arbeite gerade an einem iPhone App und habe eine Wissenlücke.
Derzeit rotiere ich ein Object im lokalen Object Space so (Funktioniert auch).

Code: Alles auswählen

-(void)addRotation:(float)x:(float)y:(float)z
{
	float xx = matrix[_41];
	float yy = matrix[_42];
	float zz = matrix[_43];	
	matrix[_41]=0;
	matrix[_42]=0;
	matrix[_43]=0;
	
	static Matrix3D    rotationMatrix;
	if (x!=0)
	{
		Matrix3DSetIdentity(rotationMatrix);
		Matrix3DSetXRotationUsingRadians(rotationMatrix,x);
		Matrix3DMultiply(matrix,rotationMatrix,matrix);	
	}
	if (y!=0)
	{
		Matrix3DSetIdentity(rotationMatrix);
		Matrix3DSetYRotationUsingRadians(rotationMatrix,y);
		Matrix3DMultiply(matrix,rotationMatrix,matrix);	
	}
	if (z!=0)
	{
		Matrix3DSetIdentity(rotationMatrix);
		Matrix3DSetZRotationUsingRadians(rotationMatrix,z);
		Matrix3DMultiply(matrix,rotationMatrix,matrix);	
	}
	matrix[_41] = xx;
	matrix[_42] = yy;
	matrix[_43] = zz;	
}
Nun möchte ich das Object aber im WorldSpace Rotieren lassen. Allerdings so das dass Objekt danach noch an der selben stelle steht.
Ich weiss gerade nicht was ich dafür machen muss. Kann mir hier jemand helfen ?
Gab es hier nicht mal Tutorials darüber ?

Danke und Grüße

Matthias
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: OpenGL Transformation (Object Space / World Space)

Beitrag von kimmi »

Objekt zum Koordinatenursprung translieren, rotieren und wieder zurück zum ursprüngliche Platz translieren und dein Objekt ist lokal rotiert worden.

Gruß Kimmi
Antworten