gpt4 book ai didi

Java OpenGL 画一颗星星

转载 作者:行者123 更新时间:2023-11-30 01:38:37 27 4
gpt4 key购买 nike

我正在开发一个 OpenGL 项目,我想在其中画一颗星星。它不一定是 3D 外观的星星(2D 外观也可以)。我有星星中心的 xyz 坐标,并且我知道我想要的大小。我不做太多 OpenGL/3d 数学编程,因此我们将不胜感激。

编辑:更多细节:我不确定这是否可能,但我可以在 3D 空间中的某个点绘制一个 2D 外观的星星吗?我尝试了简单的正方形并尝试了类似的方法:

gl.glTranslated(x, y, z);
gl.glBegin(GL.GL_QUADS);
gl.glVertex2D(x-size,y-size);
gl.glVertex2D(x-size,y+size);
gl.glVertex2D(x+size,y+size);
gl.glVertex2D(x+size,y-size);
gl.glEnd();

即使我转换为 x、y、z,正方形似乎也没有处于正确的深度。它似乎比应有的距离屏幕前面更近。是否可以像这样将 2d 形状转换为 3d 形状?

谢谢

杰夫

最佳答案

您设置了projection matrix吗? ?如果不是,它可能被设置为恒等,这意味着顶点的 z 值不会影响它们在屏幕空间中的渲染位置。为了获得你想要的深度感,你需要创建一个透视投影矩阵。您可以使用 glFrustum() 创建投影矩阵。这是一个示例(来自 Wikipedia's OpenGL page ):

glMatrixMode( GL_PROJECTION );      /* Subsequent matrix commands will affect the projection matrix */
glLoadIdentity(); /* Initialise the projection matrix to identity */
glFrustum( -1, 1, -1, 1, 1, 1000 ); /* Apply a perspective-projection matrix */

网上有大量免费的 OpenGL 教程,因此您应该可以轻松找到更多信息。

关于Java OpenGL 画一颗星星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1877038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com