Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于OpenGL的C++自适应网格_C++_Opengl_Mesh - Fatal编程技术网

基于OpenGL的C++自适应网格

基于OpenGL的C++自适应网格,c++,opengl,mesh,C++,Opengl,Mesh,我需要用OpenGL为正方形创建一个自适应网格,但我不知道如何创建。 基本上,我用4个点来创建我的正方形 p* p1 = new p(-10.0f, 10.0f, 0.0f); p* p2 = new p(10.0f, 10.0f, 0.0f); p* p3 = new p(10.0f, -10.0f, 0.0f); p* p4 = new p(-10.0f, -10.0f, 0.0f); 然后我希望能够创建一个网格,在那里我可以改变组成网格的正方形的数量。为此,我有2个FOR循环,其中我使用

我需要用OpenGL为正方形创建一个自适应网格,但我不知道如何创建。 基本上,我用4个点来创建我的正方形

p* p1 = new p(-10.0f, 10.0f, 0.0f);
p* p2 = new p(10.0f, 10.0f, 0.0f);
p* p3 = new p(10.0f, -10.0f, 0.0f);
p* p4 = new p(-10.0f, -10.0f, 0.0f);
然后我希望能够创建一个网格,在那里我可以改变组成网格的正方形的数量。为此,我有2个FOR循环,其中我使用glBeginGL_LINE_循环和4个glVertex3f创建每个正方形,但我不知道如何定义这些点的坐标

for (int j=-10; j<nb; j+=nb)
{ 
for (int i=-10; i<nb; i+=nb)
    { 
    glBegin(GL_LINE_LOOP);
    glVertex3f (i, j, 0);
    glVertex3f (i, j+1, 0);
    glVertex3f (i+1, j+1, 0);
    glVertex3f (i+1, j, 0);
    glEnd();
}   
}

请发布您需要帮助的实际代码。不幸的是,您发布的代码与问题不太相关,而您询问的关于两个for循环的实际代码不存在。@martin_pr我编辑了我的文章。这个代码的问题是,它在我的正方形中创建了小正方形,但我不能修改正方形的数量。是的,内部循环的每次迭代都会创建一个边长为1的正方形。假设nb变量是初始化为10的int,将其更改为更高的值将生成更多的平方。编辑:啊,你可能希望for循环中的i+=1和j+=1。@martin_pr是的,你是对的,但我希望有更大的平方,因为我的nb变量被初始化为2。当nb=4时,我应该有4个正方形,而当nb等于100时,我应该有100个正方形