Hey,

i have the following problem: i have following setup:

The red quad should always keep the position relative to the white quad. I got this working by using the same translation and rotation matrix as the white quad.

The red one "recieves" the matrices from the white one.

img at: cdg.bplaced.net/2.PNG (would have used IMG tag, but was denied )

Now i want to rotate the red quad around itself. I do it, by adding the amout of degree to the one recieved from the parent object and using it as the values for the rotation matrix:

Code :ikarusRotationMatrix: cos(deg+turnDeg), -sin(deg+turnDeg), 0.0, 0.0 sin(deg+turnDeg), cos(deg+turnDeg), 0.0, 0.0 0.0, 0.0, 1.0, 0.0 0.0, 0.0, 0.0, 1.0

deg: the amout the white quad is rotated

turnDeg: the amount the red quad should be rotated

The problem now is, that if i let it rotate, it starts rotating around the center of the white quad.

I now have the question, how i can rotate it around itself but let it stay at the position relative to the white quad?

Source of the VertexShader:

Code :#version 150 core in vec4 in_Position; in vec4 in_Color; in vec2 in_TextureCoord; uniform mat4 window_Matrix; uniform mat4 ikarus_Rotation_Matrix; uniform mat4 translation_Matrix; uniform mat4 ntranslation_Matrix; out vec4 pass_Color; out vec2 pass_TextureCoord; void main(void) { gl_Position = window_Matrix * translation_Matrix * ikarus_Rotation_Matrix * in_Position; pass_TextureCoord = in_TextureCoord; pass_Color = in_Color; }

Thanks,

Josh