Тема: Qt, OpenGL, Створення ліній
При малювання сітки я помітив дивну річ, через одну лінію лінія більша десь на 1 піксель. Як намалювати лінії у висоту щоб вони всі були рівні ?
По ширині малюються лінії нормально (дивіться скрін)
Мій клас успадковується від QGLWidget
class WidgetOpenGL : public QGLWidget
{
Q_OBJECT
public:
explicit WidgetOpenGL();
~WidgetOpenGL();
void initializeGL();
void paintGL();
};
initializeGL
setFixedSize(500, 500); // Задав фіксований (Не можна змінювати) розмір вікна
glViewport(0, 0, 500, 500); // Такий самий розміри встановлюю в OpenGL
/*Трішки віддаляю*/
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glScaled( 0.9, 0.9, 0 );
/*Задаю двовимірну систему координат*/
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluOrtho2D( -1000, 1000, -1000 , 1000 );
paintGL
glClear(GL_COLOR_BUFFER_BIT);
glClearColor( 1, 1, 1, 1);
glBegin( GL_LINES );
glColor3ub( 233, 68, 173 );
for(int x = -1000; x <= 1000; x += 100) // Тут проблеми з лініями
{
qDebug() << x;
glVertex2i( x, 1000 );
glVertex2i( x, -1000 );
}
qDebug() << "-";
for(int y = -1000; y <= 1000; y += 100)
{
qDebug() << y;
glVertex2i( 1000, y );
glVertex2i( -1000, y );
}
glEnd();