Форум программистов, компьютерный форум 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  [ТС]     OpenGL и материалы
Ну похожесть мне нужна довольно примитивное, вот я немного поигрался, и в принципе добился того чего хотел, добавить бы немного глянца, может немного поможете?


Код
#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;
}
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru