С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Reborn
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 3
#1

Подскажите по С++ OpenGL(GLUT) - C++

13.09.2012, 14:30. Просмотров 761. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста!
Как создать 2 квадрата?
Один создал а второй не получается(((

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// lab.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h" 
#include "windows.h" 
#include "GL/gl.h"  
#include "GL/glu.h"  
#include "GL/glut.h"  
 
 
void Initialize(void)
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
      
      glEnable(GL_LINE_SMOOTH);
    
}
 
 
void  display (void) 
    {  glTranslatef(-0.5, 0.0, -0.4);
 
    glClear(GL_COLOR_BUFFER_BIT);
 
    for(int i =1; i<11; i++)
    {
        glPointSize( i );
        glBegin(GL_POINTS);
        glVertex2f( -0.9 + i*0.1, 0.8);
        glEnd();
    }
    glEnable(GL_POINT_SMOOTH);
    for(int i = 1; i < 11; i++)
    {
        glPointSize( i );
        glBegin(GL_POINTS);
        glVertex2f( -0.9 + i*0.1, 0.8);
        glEnd();
    }
       
    
             
         
 
        {
        //Чотирикутник
        glTranslatef(-0.1, -0.5, 0.0); 
        glBegin(GL_QUADS);
                glColor3f(1, 0, 0);
                glVertex3f(-0.3f, 0.3f, 0.3f);  // Слева вверху
                glColor3f(0, 1, 0);
                glVertex3f( 0.3f, 0.3f, -0.2f);  // Справа вверху
                glColor3f(0, 0, 1);
                glVertex3f( 0.3f,-0.3f, -0.2f);  // Справа внизу
                glColor3f(1, 0, 1);
                glVertex3f(-0.3f,-0.3f, -0.2f);  // Слева внизу
                        
 
         glEnd();
         glFlush();
        } 
 
    {
        //Трикутник
        
        glTranslatef(1.0, 0.2, 1.0);
         glBegin(GL_TRIANGLES);
                
                glColor3f(1, 0, 0);
                glVertex2f(-0.5, -0.5);
                glColor3f(0, 1, 0);
                glVertex2f(0.5, -0.5);
                glColor3f(0, 0, 1);
                glVertex2f(0.0, 0.0);
                
         glEnd();
         glFlush();
 
    }
        
    {
    //Лінія
    glTranslatef(-1.5, 0.6, 0.0);
    glDisable(GL_POINT_SMOOTH);
    glLineWidth(3.5);   // Ширина
        glBegin (GL_LINES);
        
        glColor3f(0.0, 1.0, 0.0);
        glVertex2f (1.2, 0.5);  
        glVertex2f (4.0, 0.5);
        glEnd ();  
        glFlush (); 
 
    }
 
 
    
}  
 
 
 
int main(int argc, char** argv)
    {   
        glutInit (&argc, argv); /* Перший параметр є покажчиком на кількість аргументів в командному 
                               рядку, а другий P покажчик на масив аргументів. Зазвичай ці значення беруться 
                               з головної функції програми */
 
    
        glutInitDisplayMode(GLUT_SINGLE); /*Виведення у вікно здійснюється з використанням 1 буфера. 
                                        Зазвичай використовується для виведення статичної інформації. */
 
        glutInitWindowSize(800, 600); //визначення розмірів вікна
 
        glutInitWindowPosition(350, 250);
 
        glutCreateWindow("Лабораторна робота № 1 Ініціалізація OpenGL та GLUT. Графічні примітиви OpenGL.");
 
        glutDisplayFunc(display);   
 
        Initialize();
 
        glutMainLoop();
 
    
        return 0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 14:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите по С++ OpenGL(GLUT) (C++):

Ошибка GLUT (OpenGL) - C++
Переписывал с видеоурока код, чем больше писал, тем больше ошибок такого типа: &quot;Game1.exe&quot; (Win32). Загружено...

Как подключить к проекту OpenGL и GLUT ? - C++
В С++ я новичок, перехожу на него с С#, так что многого еще не понимаю. Необходимо подключить к моему классу GameWindow OpenGL и GLUT....

Кириллица в openGL (glut, freeglut) или (!) альтернатива - C++
Ребят уже целый вечер гуглю. Недельку назад начал плотно изучать C++. С графикой вообще интересно, Арканоиды там всякие и т.п. И вот...

[C++, OpenGL, glut] передача метода класса в качестве параметра функции glutDisplayFunc() - C++
Пишу программу для обхода бинаронго дерева поиска. Программа написана и кажется даже работает, но только в консоли. Решил выводить...

Подскажите как подключить gl/glut.h - C++
Я использую MinGw Developer Studio ver 2.05. В ней отсутствует библиотека &lt;gl/glut.h&gt;. Откуда ее можно скачать и в какую папку нужно его...

Я новичок создаю программу подскажите в чём смысл ошибок???? что-то с библиотекой glut ? - C++
Создаю программу моделирование гравитации ) выдавало ошибку что нет библиотеки glut ) нашёл в инете скопировал вставил после этого выдаёт...

4
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
13.09.2012, 15:17 #2
Это у вас прорисовка 1ого квадрата:
Цитата Сообщение от Reborn Посмотреть сообщение
glBegin(GL_QUADS);
glColor3f(1, 0, 0);
glVertex3f(-0.3f, 0.3f, 0.3f); // Слева вверху
glColor3f(0, 1, 0);
glVertex3f( 0.3f, 0.3f, -0.2f); // Справа вверху
glColor3f(0, 0, 1);
glVertex3f( 0.3f,-0.3f, -0.2f); // Справа внизу
glColor3f(1, 0, 1);
glVertex3f(-0.3f,-0.3f, -0.2f); // Слева внизу
glEnd();
Зачем вы указываете координату по оси Z (3ий параметр в ф-ии glVertex3f), если вам нужен квадрат?

Чтобы нарисовать 2ой квадрат, дублируйте блок кода прорисовки 1ого квадрата и просто измените координаты.
0
Reborn
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 3
13.09.2012, 17:52  [ТС] #3
Цитата Сообщение от Elboy Посмотреть сообщение
Это у вас прорисовка 1ого квадрата:

Зачем вы указываете координату по оси Z (3ий параметр в ф-ии glVertex3f), если вам нужен квадрат?

Чтобы нарисовать 2ой квадрат, дублируйте блок кода прорисовки 1ого квадрата и просто измените координаты.
Что то у меня не получается, код дублирую и не получается.
0
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
13.09.2012, 18:03 #4
Нужно не просто продублировать но и координаты изменить, чтобы квадрат в другом месте нарисовался, а не поверх старого.
0
Reborn
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 3
13.09.2012, 18:40  [ТС] #5
Цитата Сообщение от Elboy Посмотреть сообщение
Нужно не просто продублировать но и координаты изменить, чтобы квадрат в другом месте нарисовался, а не поверх старого.
Пробивал но не получилось((
0
13.09.2012, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2012, 18:40
Привет! Вот еще темы с ответами:

Подскажите как устранить ошибку С++, OpenGl - C++
Вот код: #include &lt;windows.h&gt; #include &lt;gl\gl.h&gt; #include &lt;gl\glu.h&gt; # include &lt;gl\glaux.h&gt; static HGLRC hRC; static...

Подскажите сайт с уроками по OpenGL для Visual Studio 2010 Express - C++
Нашёл сайт www.pmg.org.ru,но ничего не понял.Как создать Win32 приложение(у меня только проект Win32)?Где меню Project/setting(у меня...

подключение glut - C++
Не могу подключить glut к своему приложению. Проблема в том, что я пользуюсь Windows 8 (x64), VS Premium (x64). Перепробывал...

Литература по GLUT - C++
Доброго времени суток! Кто-нибудь может посоветовать литературу по OpenGL и/или GLUT (справочники тоже будут очень полезны). Заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.