【发布时间】:2023-03-19 15:31:02
【问题描述】:
所以我对 C++ 还是很陌生,我现在正在 uni 上学习它。
我开始使用 openGL,我目前正在制作不同的形状和对象以显示在屏幕上,除了一个功能外,它运行良好:
void Shape::drawRandom(void) {
glEnable(GL_POINT_SMOOTH);
glPointSize(5.0);
glColor3ub(255, 0, 0);
glBegin(GL_POINTS);
//v1
float x1 = rand_FloatRange(-0.75, 0.75);
float y2 = rand_FloatRange(-0.75, 0.75);
glVertex2f(x1, y2);
//v2
float x3 = rand_FloatRange(-0.75, 0.75);
float y4 = rand_FloatRange(-0.75, 0.75);
glVertex2f(x3, y4);
//v3
float x5 = rand_FloatRange(-0.75, 0.75);
float y6 = rand_FloatRange(-0.75, 0.75);
glVertex2f(x5, y6);
//v4
float x7 = rand_FloatRange(-0.75, 0.75);
float y8 = rand_FloatRange(-0.75, 0.75);
glVertex2f(x7, y8);
glEnd();
}
基本上,此函数获取两个随机浮点值(在不同的函数中生成),并将它们设置为顶点(点)的 x any y 值并显示它们。
基本上在屏幕上用随机坐标绘制 4 个点。
但我觉得它非常多余,每对坐标的代码几乎相同,并且可能会被简化。
我试图用循环来做,但我失败了,我现在很好奇如何让这个更简单,更少冗余
【问题讨论】:
-
我想看看您对循环的尝试,以便我们帮助您更好地理解它们。因为循环是要走的路,而且你已经弄清楚了那部分。
标签: c++ function opengl methods