Воскресенье, 12.05.2024, 23:42
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Форма входа
ДРУЗЬЯ САЙТА

Вызвать мастера в Красноярске

8 983 207 5474

8 902 918 9334

8 933 332 3164

---------------------------------

Запчасти бытткхники

  • Велес т.2935600
  • СЦ Близнецов т.2296595
  • Вираж
  • Красраб 110 т.2589503
  • Комплекстур Щорса30 т.2606797
  • Радиодетали

  • Якорный 9 т.2688317
  • Воронова 16 т.2202990
  • Красраб 125а т.2456544
  • Профи т.2702737
  • Дайте две т.+79237713323
  • Электрика

  • Электро +
  • Планета электрика
  • ЗАКЛАДКИ
    Поиск
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Главная » Статьи » C++ Builder » Консоль

    Консоль с++ builder 6 библиотека Glut и OpenGl простая программа

    Консоль с++ builder 6  библиотека Glut и OpenGl простая программа

    Как подключить правильно Glut  к с++ builder 6 будет рассказано

    в следующей статье 

    Исходник и исполняемый файл здесь

    =

    =

    //---------------------------------------------------------------------------
    #include <GL/glut.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <iostream>
    #include <stdlib.h>
    #include <vcl.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------
    int width=700; int height=500;   float color1=1.0;
    //------------------------------------------------------------------
    void Display()
    {
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
            glColor3f(color1, 0.3, 1);
         //   glutSolidSphere(1.0f, 10, 3);
             glutWireTeapot(0.9);
             glRotatef(3, 0,1,0);    //random(RAND_MAX)/RAND_MAX;  srand(RAND_MAX);

             glFlush(); //
             glutSwapBuffers();
             glutPostRedisplay();
    }
    //------------------------------------------------------------------------------------------
    void MyIdle()
    {
         //
    }
    //------------------------------------------------------------------------------------------------
     void Reshape(int width, int height) // Reshape function
    {

      glViewport(0 ,0 ,width ,height  ); //выводим на весе окно
      glMatrixMode( GL_PROJECTION );
      glLoadIdentity();
      glOrtho(-2,2, -2,2,  2,10);
    //  glOrtho(-1,12, -1,12, 2,12);
      gluLookAt(0,0,5, 0,0,0, 0,1,0); //откуда и куда смотрим
      glMatrixMode( GL_MODELVIEW );
      
                 /*
      glViewport(0, 0,width , height);
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
    //  gluOrtho2D(-1, 1, -1, 1); //параметры все окно

    //  gluOrtho2D(     //near  -1.0, far 1.0
    //  -1.4, //left
    //  1.4,  //right
    //  -1.4, //bottom
    //  1.4); //top
            
      glOrtho(
        -5., //left
        5.,  //right
        -5., //bottom
        5.,  //top
        -1., //near
        1.); //far

      glMatrixMode(GL_MODELVIEW);
                 */

    }
    //---------------------------------------------------------------------------
    void Keyboard( unsigned char key, int x, int y )
    {
    #define ESCAPE '\033'

        if( key == ESCAPE )
            exit(0);
    }
    //---------------------------------------------------------------------------
    void mmouse(int button, int state, int x, int y)
    {
      if( state == GLUT_DOWN ) {
        switch( button ) {
          case GLUT_LEFT_BUTTON:
            color1 =0.0  ;
            break;
          case GLUT_RIGHT_BUTTON:
            color1 = 1.0;
            break;
        }
        glutPostRedisplay();
      }   
    }
    //----------------------------------------------------------------------------------
    void init (void)
    {

       glClearColor (0.0, 0.0, 0.0, 0.0);
       glEnable(GL_COLOR_MATERIAL);
       glEnable(GL_DEPTH_TEST);
       glEnable(GL_LIGHTING);
       glEnable(GL_LIGHT0);
               float p[4]={3,3,3,1},
                     d[3]={-1,-1,-3};
       glLightfv(GL_LIGHT0,GL_POSITION,p);
       glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,d);

    }
    //----------------------------------------------------------------------------------
    #pragma argsused
    int main(int argc, char* argv[])
    {
      SetConsoleCP(1251);
      SetConsoleOutputCP(1251);
      std::cout << "Консоль C++ Builder 6 программа использует библиотеку GLUT"; //
      std::cout << endl;
      std::cout << "Выход клавиша Esc"; //
      std::cout << endl;
      std::cout << "Изменить цвет левая кнопка мыши вернуть цвет правая"; //

      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);       //(GLUT_SINGLE | GLUT_RGB);
      glutInitWindowSize( width,  height ); //
      glutCreateWindow("Game"); //
      init ();

                
      glutReshapeFunc(Reshape);
      glutDisplayFunc (Display); //
      glutIdleFunc(MyIdle);
      glutKeyboardFunc(Keyboard);
      glutMouseFunc( mmouse );
      
      glutMainLoop();

      return 0;
    }
    //---------------------------------------------------------------------------

     

    =

    Категория: Консоль | Добавил: doka (19.10.2020)
    Просмотров: 392 | Рейтинг: 0.0/0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]