我的窗口大小为{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是随机数。但是,所有点仅在窗口的左下方绘制。
答案 0 :(得分:0)
确保您平台上的RAND_MAX
大于1e6
。否则,您将看到的最大x / y值将是RAND_MAX-1
,而不是您期望的1e6
。
或生成随机数without modulo。