2009-09-21 65 views
1

親愛的朋友們,有誰能告訴我如何在GLCanvas中顯示一張圖片,以及如何使用鼠標旋轉GLCanvas中的圖片。我是這個jogl開發的新手。您可以爲我提供如何做到這一點。如果可能,請提供我使用了一些代碼片段和一些參考站點來了解關於jogl開發的一個清晰的概念。如何使用jogl旋轉圖片?

關於, s.kumaran。

+0

嗨,你解決了嗎? – elect 2015-08-07 13:28:39

回答

1

最簡單的方法是使用圖片對Quad進行紋理處理,然後將仿射變換應用到該Quad。渲染這個四邊形會讓你看到一個旋轉的圖片,你可以通過移動四邊形的頂點來做任何變換。

0

我假設你正在繪製一個3D場景,並且想要改變它的方向,而不是讓你想旋轉的2D圖像。

簡短的回答是,它發生在兩個部分。您需要將場景的方向存儲爲4x4矩陣(均勻矩陣 - 如果您不知道它是什麼,請搜索它)。您首先需要編寫代碼,將鼠標拖動轉換爲4x4矩陣的變化。所以當拖動鼠標時,向矩陣施加適當的旋轉或其他任何東西。

然後,您需要重繪場景,但使用新的變換4x4矩陣。使用glMatrixMode指定哪個矩陣(使用GL_PROJECTION或GL_MODELVIEW),然後像glMultMatrixf()一樣操作適當的矩陣。

如果沒有意義拿起關於如何旋轉場景的OpenGL教程。 OpenGL和JOGL足夠接近OpenGL中的方法在JOGL中工作。

2

要使用在Java中秋千使用的MouseListener的類TextureIO。然後顯示在GLCanvas中的圖像,創建使用gl.glBegin(GL.GL_POLYGON)多邊形並加載紋理,則可以很容易地控制旋轉通過簡單地改變相機的位置或進行一些轉換(在您的案例中爲「gl.glRotate(angle,x-axis,y-axis,z-axis)」)在模型(即紋理多邊形) - 查看矩陣。