【发布时间】:2012-10-01 04:34:59
【问题描述】:
我的窗口大小为 {0,0},{1e6,1e6}。我在这个区域内创建了 1000*1000 的网格。
我正在尝试在该区域创建随机点。
glEnable( GL_POINT_SMOOTH );
glEnable( GL_BLEND );
glPointSize( 200 );
for( int i = 0; i < 1e6; i++ )
{
glColor3ub(0,255,0);
// width and height are 1e6.
int x = rand() % WIDTH;
int y = rand() % HEIGHT;
glBegin( GL_POINTS );
glVertex2i( x, y );
glEnd();
}
glFlush();
glDisable( GL_BLEND );
x 和 y 是随机数。但是,所有点都仅绘制在窗口的左下角。
【问题讨论】:
-
你调用 glViewport 了吗?它的论据是什么?您的视口可能不是矩形 (0, 0)->(WIDTH, HEIGHT)
-
我已经通过了实际的宽度和高度。我猜生成的随机数太小了,所以它们只出现在左下角。我想要均匀分布的点。你能告诉我是否有更好的方法吗?
-
我要生成1000000分
-
我在下面给出了一些示例代码。是你想要的吗?
-
x = rand()/(float)RAND_MAX; y= rand()/(float)RAND_MAX;光盘[i].x=x宽度; discs[i].y=yHEIGHT;非常感谢。使用此代码,它可以工作
标签: opengl