|
|
1
1
如果我理解正确的话,你是在试图独立地旋转三角形吗?在这种情况下,您需要在三角形之前使用gl.pushMatrix(),在三角形之后使用gl.popMatrix()。前任:
另一方面,顶部旋转将应用于两个三角形。 另外,我注意到你说你需要两个交叉的“矩形”。如果是这样的话,你需要4个三角形或一个四边形。所以一个四边形,矩形,应该是:
或者更好
希望这有帮助。 啊,现在我们到了某个地方!好吧,这很简单。至于旋转,你可以避免这一点,并直接去画四个上面的相互。根据25和50的原始值,这里有一个三角形示例:
四边形示例:
如果这只是一个例子,那么这个代码应该是好的。但是,如果要渲染这些对象的倍数,则需要将四元渲染代码存储到顶点缓冲区对象中,然后渲染多个顶点缓冲区对象。 |
|
|
2
0
我将试着分几个部分回答你的问题。 1)这段代码将绘制一个矩形,但是您提到了2个矩形和2个三角形,这会让您很困惑。 2)“两个矩形稍后应作为一个对象”。这真的不可能通过OpenGL实现。在OpenGL中(至少在初学者级别),通过将单个命令链接在一起创建整个对象。所以你不会说“这是一个物体,现在把它画在这里,这里和这里”。相反,你说“画这个三角形,画这个矩形,旋转,画这个三角形”。这是一个循序渐进的过程。 OpenGL对对象或模型一无所知,由您在代码中定义它,然后告诉OpenGL如何绘制每个对象。 学习OpenGL的最佳来源之一是这里的NEHE教程 http://nehe.gamedev.net/ 他们应该有Java版本的教程,否则不难理解。 |
|
|
3
0
多亏了你的代码和纸上的一些几何图形,我终于找到了我的问题的解决方案: 交叉三角形解决方案:
或者四个三角形:
|