GL_POINTS рисует только одну точку вместо многих

0

У меня есть этот код, который должен нарисовать несколько точек на экране:

glBegin(GL_POINTS);
    for(int i = 0; i < x; i++)
    {
        for(int j = 0; j < y; j++)
        {
            glColor3f(0,0,0);
           glVertex3f(array1[i][j], array2[i][j], array3[i][j]); 
           cout<<array1[i][j]<<" "<<array2[i][j]<<" "<<array3[i][j]<<endl;
        }
    }

glEnd();

Я получаю только одну точку на экране. Я не представляю, как это происходит. Я печатаю значения массива, они все разные, но я получаю только одну точку вместо нескольких сотен точек. Можете ли вы сказать, что не так с этим кодом?

  • 2
    Какой диапазон у ваших точек вдоль х и у? Может ли быть так, что только одна из ваших точек находится в видимом диапазоне?
  • 0
    @BDL они варьируются от 25 до 0. Спасибо.
Показать ещё 2 комментария
Теги:
opengl

1 ответ

2
Лучший ответ

Возможно, что только один пункт из вашего набора данных попадает в окно просмотра или что все точки в конечном итоге проецируются только на один видимый пиксель. В любом случае вы должны проверить свой проекционный диапазон. Вы можете извлечь ограничительную рамку своего набора данных и установить объем просмотра немного больше этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню