Есть вот такой код:
#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);
// glColor3ub(255,255,255);
// glTranslatef(0,21,-3.0f);
glMatrixMode(GL_MODELVIEW);
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;
}
В функции void DisplayFunc(void), есть переменная deep типа float.
Если ее значение установлено от -1..0, то линии рисуемые следом, видны.
Если менее -1, то не видны.
Не могу понять в чем я туплю :\.
м?.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.