Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исправить класс сокращения дроби http://www.cyberforum.ru/cpp-beginners/thread553501.html
класс реализует сокращение дроби , но он не работает выводит теже числа помогите может сам алгоритм неправильный , или ещё что то #include <cstdlib> #include <iostream> using namespace std; class rational { private: int a,b;
C++ исправьте код #include <cstdlib> #include <iostream> using namespace std; class rational { private: int a,b; public: http://www.cyberforum.ru/cpp-beginners/thread553440.html
Определить тип соединения сопротивлений - последовательное или параллельное C++
Написать программу, выводящую на экран сопротивление участка электрической цепи, состоящей из двух сопротивлений. Основная программа запрашивает значения сопротивлений и тип соединения (1-последовательное, 2-параллельное). Вычисление и вывод на экран реализовать в виде функции. borland 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() int main() {
C++ необходим совет опытных программистов c++ ребят, помогите, пожалуйста, мне, новичку, если не сложно. вобщем есть у меня прога, которую я разбил на модули. В code.h и code.cpp объявлен и определён соответственно класс матриц mtrx. Есть ещё codeanalyze.h и codeanalyze.cpp где у меня объявлены и определены функции для анализа матриц. При запуске компилятор vs2008 выдаёт ошибку. Вот фрагмент кода из codeanalyze.cpp #include "code.h"... подробнее

Показать сообщение отдельно
veter48
0 / 0 / 0
Регистрация: 09.11.2008
Сообщений: 87
09.05.2012, 18:23  [ТС]
Ну похожесть мне нужна довольно примитивное, вот я немного поигрался, и в принципе добился того чего хотел, добавить бы немного глянца, может немного поможете?
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#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;
            
            case '[': 
            if (kv > -5) 
            {
             kv -= 1;  
            }
            break;
            
            case ']': 
            if (kv < 75) 
            {
             kv += 1;  
            }
            break;
            
            case ',': 
            if (kd > -5) 
            {
             kd -= 1;  
            }
            break;
            
            case '.': 
            if (kd < 75) 
            {
             kd += 1;  
            }
            break;
    }
 
    glutPostRedisplay();
}
 
 
void display()
{
       
 
    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  
      
    GLfloat light0_diffuse[] = {0.7, 0.7, 0.7, 1.0};
    GLfloat light0_direction[] = {1.8, 1.5, 2.9, 0.005};
 
    GLfloat light0_spec[] = {0.5, 0.5, 0.5, 1.0};
 
    glEnable(GL_LIGHT0);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light0_spec);
    glLightfv(GL_LIGHT0, GL_POSITION, light0_direction);
    
    glEnable (GL_BLEND);
    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    
    GLfloat spec[] = {0.8, 0.8, 0.8, 1};
    GLfloat ambient[] = {1.0, 0, 0, 1};
    GLfloat dif[] = {0.588235, 0.670588, 0.729412, 0.15};
    GLfloat emis[] = {0.0, 0.0, 0.0, 1.0};
    glMaterialfv(GL_FRONT, GL_SPECULAR, spec);
    glMaterialf(GL_FRONT, GL_SHININESS, 125);
    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 +kv);
    glVertex2i(160 - kv,260);
    glVertex2i(200, 250-kv);
    glVertex2i(300+kv, 300);
    glVertex2i(275, 350+kv);
    glVertex2i(200, 350+kv);
    glEnd();    
 
    GLfloat ambienttwo[] = {0, 0, 1, 1.0};
 
    glMaterialfv(GL_FRONT, GL_AMBIENT, ambienttwo);
    
    glBegin(GL_POLYGON);
    glVertex2i(450-kd, 300);
    glVertex2i(500, 250-kd);
    glVertex2i(600, 250-kd);
    glVertex2i(610+kd,260);
    glVertex2i(575, 350+kd);
    glVertex2i(500, 350+kd);
 
    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("2. LD");
    glutKeyboardFunc(key);
 
 
     glClearColor (1, 1, 1, 1);
 
     glEnable(GL_LIGHTING);
 
     glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
 
     //glEnable(GL_NORMALIZE);
     
     glEnable(GL_LIGHTING);
 
     glEnable(GL_BLEND);
     glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
     
     float global_ambient[] = { 0.2, 0.2, 0.2, 1.0 };
     glLightModelfv(GL_LIGHT_MODEL_AMBIENT, global_ambient);
 
    
    glutReshapeFunc(reshape);
    glutDisplayFunc(display);
    
    glutMainLoop();
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru