ПрограммированиеФорумГрафика

OpenGl - Рисования вершин сетки

#0
12:43, 17 окт 2013

Уважаемые форумчане, помогите будьте добры разобраться с OpenGl .
Когда указываю высоту точки , поднимается весь треугольник но не соединяется с остальними. Я толька начал изучать не знаю всех нюансов,
прилагаю код С++ Спасиба

 for(int i = 0; i < max_x; i++)
   {
    for(int j = 0; j < max_z; j++)
       {      
    /*Генерируем сетку по точка*/
                        
   //*GL_TRIANGLE_STRIP  каждая следующая вершина задает треугольник вместе с двумя предыдущими.*/
    glBegin(GL_TRIANGLE_STRIP); 
              
    glColor3f(0.0,1.0, 0.0); //Цвет лини зеленый
              
    glVertex3f(0.0, i, j + 1);  
    glVertex3f(0.0, i + 1 , j);  
    glVertex3f(0.0, i, j);       

           glEnd();  
                       
             }
      }
          
                
#1
13:01, 17 окт 2013

У тебя генерится набор несвязанных стрипов. Ты же сам их разрываешь, вызывая Begin/End во внутреннем цикле.
Перенеси их на уровень выше, и убери один glVertex.

#2
14:50, 17 окт 2013

Спасиба огромное

#3
15:01, 17 окт 2013

А как с двома glVertex уменя получается вот такая неприятность ?
[img=]Пример | OpenGl - Рисования вершин сетки

#4
15:25, 17 окт 2013

Sanitca13
> А как с двома glVertex уменя получается вот такая неприятность ?

Может стоит как-то так:

for(int i = 0; i < max_x; i++)
{
    glBegin(GL_TRIANGLE_STRIP); 
    for(int j = 0; j < max_z; j++)
    {      
        glColor3f(0.0, 1.0, 0.0);
        glVertex3f(0.0, (float) i,(float) j);
        glColor3f(0.0, 1.0, 0.0);
        glVertex3f(0.0, (float) (i+1), (float) j);
    }
    glEnd();
}
#5
15:30, 17 окт 2013

Спасиба , я просто glBegin(GL_TRIANGLE_STRIP);  винес за второй цикл

ПрограммированиеФорумГрафика

Тема в архиве.