Есть следующий код:
#include <stdio.h>
#include <GL/glut.h>
#include <stdlib.h>
struct ProgData {
int width;
int height;
};
ProgData pdata;
void DisplayFunc(void){
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glLoadIdentity();
float deep = -1.3f; //!!!
glBegin(GL_LINES);
glColor3f(1.0f,1.0f,0.0f);
glVertex3f(pdata.width/2,0,deep);
glVertex3f(pdata.width/2,pdata.height,deep);
glVertex3f(0,pdata.height/2,deep);
glVertex3f(pdata.width,pdata.height/2,deep);
glEnd();
// glFinish();
glPopMatrix();
glutSwapBuffers();
}
void KeyboardFunc( unsigned char key, int x, int y){
printf(" %c - %d - %d \n",key,x,y);
}
void ReshapeFunc(GLint width, GLint height){
pdata.width = width;
pdata.height = height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, 0, height, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glutPostRedisplay();
}
void MouseFunc(int button, int up, int x, int y){
// Button
// 0 - Left.
// 2 - Right
// 3 - Wheel up
// 4 - Wheel down
// 1 - Wheel press
//
// up -
// on mouse down - 0
// on mouse up - 1
//printf("%d %d %d %d\n",x,y,a,b);
}
int main(int argc, char *argv[]){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(320, 240);
pdata.width = 320;
pdata.height = 240;
glutCreateWindow("Splines");
glutDisplayFunc(DisplayFunc);
glutReshapeFunc(ReshapeFunc);
glutKeyboardFunc(KeyboardFunc);
glutMouseFunc(MouseFunc);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glDepthFunc(GL_LESS);
glHint(GL_LINE_SMOOTH_HINT,GL_NICEST);
glutMainLoop();
return 0;
}
В функции DisplayFunc есть переменная float deep, суть в том, что если я устанавливаю ее в значение от -1..0, линии рисуются нормально.
Если устанавливаю в -1...-(бесконечность), линий не вижу :\.
Как только не извращался, не могу понять почему.
Также если устанавливаю эту переменную в ноль и делаю glTranslatef в z на больше чем -1, все опять не прорисовывается.
В чем проблема?
Ответ на:
комментарий
от generatorglukoff
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум QtOpenGL. Почему-то сегфолтится на glBegin() (2011)
- Форум Попробуйте откомпилить у себя (2005)
- Форум OpenGL (2008)
- Форум openGL: почему-то не работает ничего, кроме последней функции (2011)
- Форум OpenGL: освещение (2005)
- Форум OpenGL. Ошибка проверки глубины. (2013)
- Форум [opengl] мерцает текст (2011)
- Форум Помощь в gluLookAt (2013)
- Форум OpenGL: проблемы со сглаживанием (2005)
- Форум Не открывается меню в GLUT (2013)