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

OpenGL и материалы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исправить класс сокращения дроби http://www.cyberforum.ru/cpp-beginners/thread553501.html
класс реализует сокращение дроби , но он не работает выводит теже числа помогите может сам алгоритм неправильный , или ещё что то #include <cstdlib> #include <iostream> using namespace std; ...
C++ исправьте код #include <cstdlib> #include <iostream> using namespace std; class rational { private: int a,b; public: http://www.cyberforum.ru/cpp-beginners/thread553440.html
Определить тип соединения сопротивлений - последовательное или параллельное C++
Написать программу, выводящую на экран сопротивление участка электрической цепи, состоящей из двух сопротивлений. Основная программа запрашивает значения сопротивлений и тип соединения...
C++ Определить значение k, при котором сумма |A[1]+A[2]+...A[k]-(A[k+1]+...+A[N])| минимальна
Задан массив А. Определить значение k, при котором сумма |A+A+...A-(A+...+A)| минимальна (т.е. минимален модуль разности сумм элементов в правой и левой части, на которые массив делится этим k).
C++ Как записать двумерный массив в файл? http://www.cyberforum.ru/cpp-beginners/thread553416.html
Здравствуйте. У меня есть такой код: #include <iostream> using namespace std; #include <conio.h> //Заголовочный файл conio.h необходим, чтобы использовать //функцию getch()...
C++ необходим совет опытных программистов c++ ребят, помогите, пожалуйста, мне, новичку, если не сложно. вобщем есть у меня прога, которую я разбил на модули. В code.h и code.cpp объявлен и определён соответственно класс матриц mtrx. Есть ещё... подробнее

Показать сообщение отдельно
veter48
0 / 0 / 0
Регистрация: 09.11.2008
Сообщений: 87
22.04.2012, 18:25  [ТС]
Ну, я что-то попытался настроить. Добавил параметры материала. Но я не совсем понял что значит
в массиве надо указывать 4 компонента, не 3
. Ну, в общем, я нашел параметры материала для стекла и указал их, но на стекло это ни как не похоже. Мне кажется, что с настройкой освещения у меня что-то не правильно, помогите, пожалуйста. Спасибо.
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
#include <GL/glut.h> 
 
static int kv= 1;
static int kd = 1;
 
void reshape(int w, int h)
{
    glViewport(0, 0, w, h);
    
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0, w, 0, h);
    
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 
static void key(unsigned char key, int x, int y)
{
    switch (key) 
    {
        case 27 : 
        case 'q':
            exit(0);
            break;
 
        case '+':
            if (kv < 75 & kd < 75) 
            {
             kv += 1;
             kd += 1;
            }
            break;
 
        case '-': 
            if (kv > -5 & kd > -5) 
            {
             kv -= 1; 
             kd -= 1; 
            }
            break;
    }
 
    glutPostRedisplay();
}
 
 
void display()
{
       
 
    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  
      
    GLfloat light0_diffuse[] = {1, 1, 0, 1.0};
    GLfloat light0_direction[] = {0.5, 1, 1, 0.005};
 
    glEnable(GL_LIGHT0);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);
    glLightfv(GL_LIGHT0, GL_POSITION, light0_direction);
    
    
    GLfloat spec[] = {0.9, 0.9, 0.9, 1.0};
    GLfloat ambient[] = {0.0, 0.0, 0.0, 1.0};
    GLfloat dif[] = {0.588235, 0.670588, 0.729412, 1.0};
    GLfloat emis[] = {0.0, 0.0, 0.0, 1.0};
    glMaterialfv(GL_FRONT, GL_SPECULAR, spec);
    glMaterialf(GL_FRONT, GL_SHININESS, 96);
    glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE, dif);
    glMaterialfv(GL_FRONT, GL_EMISSION, emis);
    
 
    glBegin(GL_POLYGON);
    glVertex2i(150 - kv,300);
    glVertex2i(200, 250-kv);
    glVertex2i(300+kv, 300);
    glVertex2i(275, 350+kv);
    glVertex2i(200, 350+kv);
    glEnd();
    
    
    glDisable(GL_LIGHT0);
    
    glutSwapBuffers();
}
 
 
 
int main (int argc, char * argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
    glutInitWindowSize(800, 600);
    glutInitWindowPosition(100,100);
    glutCreateWindow("Glass");
    glutKeyboardFunc(key);
 
 
     glClearColor (1, 1, 1, 1);
 
     glEnable(GL_LIGHTING);
 
     glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
 
     glEnable(GL_NORMALIZE);
     
     glEnable(GL_LIGHTING);
     
     glDisable(GL_COLOR_MATERIAL);
     
     float global_ambient[] = { 0.0, 0.0, 0.0, 1.0 };
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, global_ambient);
 
    
    glutReshapeFunc(reshape);
    glutDisplayFunc(display);
    
    glutMainLoop();
    
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru