我想在 C++ 中使用 GLUT 和 openGL 绘制一个 4pointed star。这是我的代码
glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.0f,6.0f,0.0f);
glVertex3f(1.0f,4.0f,0.0f);
glVertex3f(3.0f,3.0f,0.0f);
glVertex3f(1.0f,2.0f,0.0f);
glVertex3f(0.0f,0.0f,0.0f);
glVertex3f(-1.0f,2.0f,0.0f);
glVertex3f(-3.0f,3.0f,0.0f);
glVertex3f(-1.0f,4.0f,0.0f);
glEnd();
问题是形状直接从0,6变成3,3
谁能帮我解决这个问题, screenshot
我想要这样的东西 desired output
最佳答案
第1点GL_TRIANGLE_FAN
primitiv 始终保持固定(参见 Triangle primitives )。只需启动 GL_TRIANGLE_FAN
原始点位于“内部”点之一:
glBegin(GL_TRIANGLE_FAN);
glVertex3f(1.0f,4.0f,0.0f);
glVertex3f(3.0f,3.0f,0.0f);
glVertex3f(1.0f,2.0f,0.0f);
glVertex3f(0.0f,0.0f,0.0f);
glVertex3f(-1.0f,2.0f,0.0f);
glVertex3f(-3.0f,3.0f,0.0f);
glVertex3f(-1.0f,4.0f,0.0f);
glVertex3f(0.0f,6.0f,0.0f);
glEnd();
关于c++ - 如何使用 glut openGL 绘制 4 角星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64139873/