Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 22:18   #1
Dr.Teck
 
Регистрация: 13.05.2012
Сообщений: 4
Сообщение штриховка линий Opengl

нужно заштрихувать линию, помогите...



PHP код:
// 111.cpp: определяет точку входа для консольного приложения

#include "stdafx.h"
#include <windows.h>
#include <GL/gl.h>
#include "glut.h"
#include <math.h>

void init(void)
{
    
glShadeModel(GL_SMOOTH); //set the shader to smooth shader

    
glNewList(1,GL_COMPILE);
    
glColor3f(1,0,0); // Задаємо колір створюваного примітива
    
glBegin(GL_LINES); // Задаємо сам примітив
    
glVertex2d(0.1,1);
    
glVertex2d(0.8,2);
    
glEnd();
    
glEndList(); // Закриваємо список зображень під номером 1

    
glNewList(2,GL_COMPILE);
    
glColor3f(1,0,0); // Задаємо колір створюваного примітива
    
glBegin(GL_POINTS); // Задаємо сам примітив
    
glVertex2d(0.5,1);
    
glVertex2d(0.8,2);
    
glEnd();
    
glEndList(); // Закриваємо список зображень під номером 2

    
glNewList(3,GL_COMPILE);
    
glColor3f(01.01.0); // Задаємо колір створюваного примітива
    
glBegin(GL_QUADS); // Задаємо сам примітив
    
glVertex2d(0.5,1);
    
glVertex2d(0.8,2);
    
glVertex2d(0.2,-0.5);
    
glVertex2d(-0.2,-0.5);
    
glEnd();
    
glEndList(); // Закриваємо список зображень під номером 3
}

void display(void)
{
    
glClearColor(1.00.00.01.0); 
    
glClear(GL_COLOR_BUFFER_BIT); // clear the color

    
glPointSize(8);
    
glLineWidth(5);
    
glColor3d(1,1,0);

    
glPolygonMode (GL_FRONT,GL_LINE);


    
glBegin(GL_POINTS);
    
glVertex2d(1,1);
    
glEnable (GL_POINT_SMOOTH);
    
glEnd();

    
glBegin(GL_LINES);
    
glVertex2d(-0.8,0.5);
    
glVertex2d(-0.8,-0.7);
    
glEnable(GL_LINE_SMOOTH);
    
glEnd();

    
glBegin(GL_TRIANGLES);
    
glVertex2d(-0.3,0.5);
    
glVertex2d(-0.1,1);
    
glVertex2d(-0.3,0.9);
    
glEnd();

    
glBegin(GL_QUADS);
    
glVertex2d(-0.2,0.5);
    
glVertex2d(0.2,0.5);
    
glVertex2d(0.2,-0.5);
    
glVertex2d(-0.2,-0.5);
    
glEnd();

    
glBegin(GL_LINE_STRIP);
    
glVertex2d(0.3,-0.9);
    
glVertex2d(0.5,-0.3);
    
glVertex2d(0.7,-0.9);
    
glVertex2d(0.2,-0.5);
    
glVertex2d(0.8,-0.5);
    
glVertex2d(0.3,-0.9);
    
glEnd();

    
glCallList(1); 
    
glCallList(2); 
    
glCallList(3); 

    
glutSwapBuffers(); // swap the buffers

    
glBegin(GL_LINE_STRIP);
    
glVertex2d(0.3,-0.9);
    
glVertex2d(0.5,-0.3);
    
glVertex2d(0.7,-0.9);
    
glVertex2d(0.2,-0.5);
    
glVertex2d(0.8,-0.5);
    
glVertex2d(0.3,-0.9);
    
glEnd();
}



void reshape(int wint h)
{
glViewport(00, (GLsizei)w, (GLsizei)h); // set the matrix
glMatrixMode(GL_PROJECTION);
glLoadIdentity();//set the matrix back to model
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void keyboard(unsigned char keyint xint y)
{
if(
key==27)
{
exit(
0); // quit the program
}
}
int main(int argcchar **argv)
{

    
glutInit(&argcargv);
    
glutInitDisplayMode(GLUT_DOUBLE); //set the display to Doublebuffer
    
glutInitWindowSize(300300);
    
glutCreateWindow(argv[0]);
    
init(); // call the init function
    
glutDisplayFunc(display); //use the display function to draweverything
    
glutReshapeFunc(reshape); //reshape the window accordingly
    
glutKeyboardFunc(keyboard); //check the keyboard
    
glutMainLoop(); //call the main loop


return 0;

Dr.Teck вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление линий drNabla Microsoft Office Excel 3 17.01.2011 01:58
Пересечение линий PastoriXx Общие вопросы по Java, Java SE, Kotlin 5 22.12.2010 16:54
Отрисовка линий Rave MSD Общие вопросы Delphi 2 16.06.2010 14:01
Не работает штриховка rainbow Паскаль, Turbo Pascal, PascalABC.NET 0 16.02.2009 19:47