我想用OpenGL库绘制一个带扇区的环,每个环都有不同的颜色。 要绘制环,我知道我可以使用gluDisk(gluNewQuadric(), 0, 1.5, 32, 100);
用不同颜色的分区绘制一个环
但绘制部门或区域以不同的颜色,我想我需要使用使用GL_TRIANGLE_FAN
或类似的东西的一种手工方法。
我以这种方式尝试,但输出不是很精确的环。
const float DEG2RAD = 3.14159/180;
glBegin(GL_TRIANGLE_FAN);
for(int i = 0; i <= 90; i++)
{
float degInRad = i*DEG2RAD;
glVertex2f(x, y); // point of the inner circle of the ring
for(int n = 0; n <= 4; n++)
{
float const t = = i*DEG2RAD*(n/4);
glVertex2f(x + sin(t)*r, y + cos(t)*r); // points of the outer circle.
}
}
glEnd();
的想法是以下的GL_TRIANGLE_FAN
作品,如何在用于内圆计算出的各点处的外圆坐4分这个图。因为外圈比内圈长。这是循环进入另一个循环的原因。
这不是我清楚你的外环正在试图做的,尤其是你的内环使用具有相同名称的循环变量。 – JasonD
'我'在哪里?何时有'= ='是有效的语法? – genpfault
我不确定这里的问题是什么。看起来你要求我们为你写代码。 –