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

Задать нормали к граням пирамиды (MFC + OpenGL) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Форда-Беллмана http://www.cyberforum.ru/cpp-beginners/thread571484.html
хочю посмотреть как работает алгоритм Форда-Беллмана ,нашол реализацию на http://e-maxx.ru/algo/ford_bellman но не пойму как передавать граф:" Для алгоритма Форда-Беллмана, в отличие от многих других графовых алгоритмов, более удобно представлять граф в виде одного списка всех рёбер (а не n списков рёбер — рёбер из каждой вершины). В приведённой реализации заводится структура данных \rm edge...
C++ Cannot convert from 'char *' to 'char' помогите разобраться. код наполовину скопипастенный, на другую половину мной написан. В С++ я не особо, так что сильно не пинайте :) #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> #include <string.h> #include <cstdlib> #include <locale.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread571482.html
Поля C++
Здравствуйте. struct sreg { unsigned enable : 1; unsigned page : 3; unsigned : 1; // не используется unsigned mode : 2; unsigned : 4; // не используется unsigned access : 1; unsigned length : 1; unsigned non_resident : 1;
C++ Чтение из файла
у меня есть файл такого вида N | utr |KPD | 1 | 335.25 |0.78 | 2 | 276.09 |0.78 | 3 | 223.90 |0.78 | 4 | 184.39 |0.78 | 5 | 150.74 |0.78 | 6 | 124.13 |0.78 | 7 | 139.69 |0.82 | 8 | 115.04 |0.82 |
C++ Найти четные и нечотные елементы массива http://www.cyberforum.ru/cpp-beginners/thread571444.html
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(0, ""); int a;
C++ Заменить все максимальные элементы нулями (используя vector) Дана последовательность чисел. Заменить все максимальные элементы нулями. Вот в этой теме я нашла решение => http://www.cyberforum.ru/cpp-beginners/thread534516.html , но мне нужно с использованием класс-контейнера вектор, прошу помощи. подробнее

Показать сообщение отдельно
mexx-nikitin
78 / 78 / 3
Регистрация: 28.03.2010
Сообщений: 305

Задать нормали к граням пирамиды (MFC + OpenGL) - C++

11.05.2012, 17:29. Просмотров 461. Ответов 0
Метки (Все метки)

Подскажите,как правильно задать нормали к пирамиде?
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
#include "mmsystem.h"
 
static GLdouble g_fSizeBox = 15;
static GLfloat g_pfLineDiffuse[] = { 0.0f, 0.9f, 0.9f, 1.0f };
static GLfloat g_pfCubeDiffuse[] = { 0.7f, 0.04f, 0.04f, 1.0f };
static GLfloat g_fAngle = 240.0;
static GLfloat g_fSpeedAngle = 4.0e-3;
static GLint g_uBox = 1;
void CCubeColorView::OnInitialUpdate()
{
    CView::OnInitialUpdate();
    
    GLfloat fNormal = 0.9;
    static GLfloat pfMatAmbient[] =
                                { 1.0f, 1.0f, 1.0f, 1.0f };
    static GLfloat pfMatSpecular[] =
                                { 1.0f, 1.0f, 1.0f, 1.0f };
    static GLfloat pfLightPosition[] =
                                { 0.0, 0.0, 20.0, 1.0 };
    glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, pfMatAmbient);
    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, pfMatSpecular);
    glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 50.0);
    glLightfv(GL_LIGHT0, GL_POSITION, pfLightPosition);
    glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
    glClearColor(1.0f, 0.96f, 0.866f, 1.0f);
    glDepthFunc(GL_LEQUAL);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glDepthFunc(GL_LESS);
 
    glEnable(GL_DEPTH_TEST);
    //Рисуем 5 граней
    glNewList(g_uBox, GL_COMPILE);
    glBegin(GL_TRIANGLES);              // Начало рисования пирамиды
        glVertex3f( 0.0f, g_fSizeBox, 0.0f);            // Верх треугольника (Передняя)
        glVertex3f(-g_fSizeBox,-g_fSizeBox, g_fSizeBox);            // Левая точка
        glVertex3f( g_fSizeBox,-g_fSizeBox, g_fSizeBox);            // Правая точка
        glVertex3f( 0.0f, g_fSizeBox, 0.0f);            // Верх треугольника (Правая)
 
        glVertex3f( g_fSizeBox,-g_fSizeBox, g_fSizeBox);            // Лево треугольника (Правая)
        glVertex3f( g_fSizeBox,-g_fSizeBox, -g_fSizeBox);           // Право треугольника (Правая)
        glVertex3f( 0.0f, g_fSizeBox, 0.0f);            // Низ треугольника (Сзади)
        glVertex3f( g_fSizeBox,-g_fSizeBox, -g_fSizeBox);           // Лево треугольника (Сзади)
 
        glVertex3f(-g_fSizeBox,-g_fSizeBox, -g_fSizeBox);           // Право треугольника (Сзади)
        glVertex3f( 0.0f, g_fSizeBox, 0.0f);            // Верх треугольника (Лево)
        glVertex3f(-g_fSizeBox,-g_fSizeBox,-g_fSizeBox);            // Лево треугольника (Лево)
        glVertex3f(-g_fSizeBox,-g_fSizeBox, g_fSizeBox);            // Право треугольника (Лево)
 
        //дно пирамиды при помощи  2-х треугольников :)
    
        glVertex3f( g_fSizeBox,-g_fSizeBox, g_fSizeBox );   
        glVertex3f(-g_fSizeBox,-g_fSizeBox, g_fSizeBox );
        glVertex3f(g_fSizeBox,-g_fSizeBox, -g_fSizeBox);        
 
        glVertex3f( g_fSizeBox,-g_fSizeBox,  -g_fSizeBox);
        glVertex3f(-g_fSizeBox,-g_fSizeBox, g_fSizeBox );
        glVertex3f(-g_fSizeBox,-g_fSizeBox, -g_fSizeBox);
 
    glEnd();
 
    glEndList();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru