2008-09-19 77 views
6

我有一個精靈加載爲紋理,我需要爲它設置動畫,讓它「向左」或向右「面對」 - 實質上有時我需要「翻轉」它。我知道OpenGL有一個可以重新定位對象的gltranslate,glrotate可以旋轉它。有沒有一種方法可以簡單地將它翻轉過一個軸?如果不是,你會如何實現這一目標?如何翻轉OpenGLES中的精靈/紋理?

+0

你的意思是像卡住了照片中間的旋轉,並旋轉到左邊和右邊?或者你的意思是翻轉像翻轉卡? – freespace 2008-09-19 16:29:31

回答

6

我還沒有搞錯點精靈,但我相信它們是紋理。紋理具有紋理矩陣,這意味着您可以在其上使用glTranslatef(),glScalef()glRotatef()

我會嘗試沿着glScalef(-1,1,1);行的東西,它會翻轉X軸的紋理座標。正如我所說的,我沒有玩過點精靈,但我也沒有混淆材質矩陣。不過,它們確實看起來很有用。

更新:我在此期間玩過質感矩陣。與在模型視圖和投影矩陣之間切換的方式相同,您可以切換到紋理矩陣;約:glMatrixMode(GL_TEXTURE);之後您可以執行上述操作。

你也可以只畫了四/兩個三角形,並用它:)做

0

你不能用OpenGL的點精靈來做到這一點;儘管可以移動精靈的中心,但其形狀總是以相同的方式定向。

你什麼可以做的是繪製你的精靈作爲四邊形,它可以讓你翻轉,旋轉和混亂他們任何你想要的。有關於手動繪製精靈(又名廣告牌)的教程NeHe