亲爱的朋友们,任何人都可以告诉我如何在GLCanvas中展示一张图片,并使用鼠标如何在GLCanvas中旋转图片。我是这个jogl developpement的新手。可以请我提供如何操作。如果可能的话为我提供一些代码片段和一些参考站点,以便对jogl开发有一个清晰的认识。
的问候, s.kumaran。
答案 0 :(得分:2)
要在GLCanvas上显示图像,请使用 gl.glBegin(GL.GL_POLYGON)创建多边形,然后使用 Class TextureIO 加载纹理。然后使用MouseListener Java Swings,您可以通过简单地更改相机的位置或进行一些转换(“gl.glRotate(角度,x轴,y轴,z)来轻松控制图像的旋转(即纹理多边形) -axis)在您的情况下“)在模型 - 视图矩阵中。
答案 1 :(得分:1)
最简单的方法是使用图片对Quad进行纹理处理,然后将仿射变换应用于该Quad。渲染此四边形将让您看到旋转图像,您可以通过移动四边形的顶点来完成任何变换。
答案 2 :(得分:0)
我假设您正在绘制3D场景并想要更改它的方向,而不是想要旋转的2D图像。
简短的回答是,它分两部分进行。您需要将场景的方向存储为4x4矩阵(均匀矩阵 - 如果您不知道它是什么,则搜索它)。您首先需要编写将鼠标拖动转换为该4x4矩阵的更改的代码。因此,当拖动鼠标时,对矩阵应用适当的旋转或其他任何内容。
然后你需要重绘场景,但使用新的变换后的4x4矩阵。使用glMatrixMode指定哪个矩阵(使用GL_PROJECTION或GL_MODELVIEW)然后使用glMultMatrixf()等函数来操作相应的矩阵。
如果没有意义,请选择一个关于如何旋转场景的OpenGL教程。 OpenGL和JOGL足够接近OpenGL中的方法在JOGL中工作。