yes, it seems to work in this way! this weekend I will do some tests in order to verify that it works fine.
A question... why that behavior? :| On 18 Giu, 21:47, Leigh McRae <leigh.mc...@lonedwarfgames.com> wrote: > I would suggest reading the chapter on viewing from the Red Book. Here > is a version online. > > http://www.glprogramming.com/red/ > > The problem is that your translations are out of order. Try this order. > > gl.glTranslatef( 10.0f, 10.5f, -0.0f ); //back to previous position > gl.glRotatef( 45.0f, 0.0f, 0.0f, -1.0f ); //rotate > gl.glTranslatef( -10.0f, -10.5f, 0.0f ); //to the origin > > Really this is an OpenGL question and not an Android question. > > Leigh > > On 6/18/2010 1:42 PM, Paolo wrote: > > > > > > > I have to traslate into the z-axis a bit, otherwise I wouldn't see > > anything on the screen. > > > Anyway, I'm doing this step by step as you said to me ;) > > At first i traslate the quad to the origin and in fact i see it there. > > Then I rotate of 45 degree around the z-axis and I see it rotated > > right. > > > At last I traslate it again to the previous position, but the quad > > goes to a different position from that which I expected. > > Instead, if i do after the rotation: > > > glTraslete(1.0f, 0f,0f); > > > the quad moves of an unit along x-axis as if also this was rotated of > > 45 degrees, nord-east direction (in order to intend us) and not east- > > direction as I expect. I hope you undestrand me now :( > > > Paolo > > > p.s. if you prefer I can post my code > > > On 18 Giu, 18:45, Leigh McRae<leigh.mc...@lonedwarfgames.com> wrote: > > >> I am not exactly sure what you're saying actually. At any rate, I > >> noticed that you're translating along the z-axis. If you're rotating > >> around the z-axis you don't need to translate along z. Also it could be > >> that you're translating the quad offscreen since you haven't mirrored > >> the z translation. > > >> Anyway, what are you seeing? Did you change the order? I would do it > >> step by step. Start with getting the translation to the origin right. > >> Once that looks right then add the rotation. Finally add the translation > >> back. > > >> Leigh > > >> On 6/18/2010 12:35 PM, Paolo wrote: > > >>> Thanks for your answer. > > >>> my matrix is GL_MODELVIEW. > >>> I have noticed that once I have traslated and rotated the quad, also > >>> the aces x,y,z seem to be rotated of 45 degree. If it is right, it's > >>> normal that when i applied the second traslalte the quad goes in > >>> another position. > > >>> is it normal? is there something wrong? > > >>> On 18 Giu, 18:21, Leigh McRae<leigh.mc...@lonedwarfgames.com> wrote: > > >>>> OpenGL applies it's transforms in reverse so maybe swap the two > >>>> translates. Sounds lame but this is the sort of thing you get right > >>>> once and don't look at again for sometime. Also make sure your matrix > >>>> mode is GL_MODELVIEW. > > >>>> Leigh > > >>>> On 6/18/2010 11:58 AM, Paolo wrote: > > >>>>> Hi leigh! > >>>>> I've tried, but it doesn't work... the quad goes in a wrong position : > >>>>> ( > > >>>>> My quad has these coordinates > > >>>>> //vertex bottom left > >>>>> vertex[0] = 9.5f; > >>>>> vertex[1] = 10f; > >>>>> vertex[2] = 0.0f; > >>>>> //top left > >>>>> vertex[3] = 9.5f; > >>>>> vertex[4] = 11.0f; > >>>>> vertex[5] = 0.0f; > >>>>> //bottom right > >>>>> vertex[6] = 10.5f; > >>>>> vertex[7] = 10f; > >>>>> vertex[8] = 0.0f; > >>>>> //top right > >>>>> vertex[9] = 10.5; > >>>>> vertex[10] = 11f; > >>>>> vertex[11] = 0.0f; > > >>>>> and this is my draw function... > > >>>>> public void draw(GL10 gl){ > >>>>> gl.glPushMatrix(); > >>>>> gl.glTranslatef(-10, -10.5f, 0); //to the origin > > >>>>> gl.glRotatef(45, 0, 0, -1); //rotate > > >>>>> gl.glTranslatef(10, 10.5f, -2.0f); //back to previous > >>>>> position > > >>>>> // Enabled the vertices buffer for writing and to be used > >>>>> during > >>>>> // rendering. > >>>>> gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); > >>>>> // Specifies the location and data format of an array of > >>>>> vertex > >>>>> // coordinates to use when rendering. > >>>>> gl.glVertexPointer(3, GL10.GL_FLOAT, 0, markerBuffer); > >>>>> gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, NUMERO_VERTICI); > >>>>> // Disable the vertices buffer. > >>>>> gl.glDisableClientState(GL10.GL_VERTEX_ARRAY); > >>>>> gl.glPopMatrix(); > > >>>>> } > > >>>>> On 18 Giu, 17:31, Leigh McRae<leigh.mc...@lonedwarfgames.com> > >>>>> wrote: > > >>>>>> Translate the quad to the origin, rotate, translate back. > > >>>>>> Leigh > > >>>>>> On 6/18/2010 11:12 AM, Paolo wrote: > > >>>>>>> Hi guys! > >>>>>>> I'm a newbie in OpenGL. :D > >>>>>>> I'm trying to rotate a quad around its center. > > >>>>>>> This is my scenario: I've a quad, drawn with TRIANGLE_STRIP, at > >>>>>>> specified coordinates. Now I want to rotate of 45 degrees around its > >>>>>>> center, without move it from its position, not around the origin of > >>>>>>> the aces. > >>>>>>> I hope you are able to understand my english... :) > > >>>>>>> How can I do that? > > >>>>>>> Thanks > > >>>>>>> Paolo > > >>>>>> -- > >>>>>> Leigh McRaewww.lonedwarfgames.com > > >>>> -- > >>>> Leigh McRaewww.lonedwarfgames.com > > >> -- > >> Leigh McRaewww.lonedwarfgames.com > > -- > Leigh McRaewww.lonedwarfgames.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en