Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибки в файле gl.h, При компиляции выводит ошибки 
:(
    Опции темы
Gl00M
Дата 24.1.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 24.9.2006
Где: Коломна, МО

Репутация: нет
Всего: нет



Например, выдается ошибка при компиляции такого кода:
Код

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <windows.h>

static GLfloat spin = 0.0;
void init(void){
    glClearColor(0.0,0.0,0.0,0.0);
    glShadeModel(GL_FLAT);
}

void display(void){
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();
    glRotatef(spin,0.0,0.0,1.0);
    glColor3f(1.0,1.0,1.0);
    glRectf(-25.0,25.0,25.0);
    glPopMatrix();
    glutSwatBuffers();
}

void spinDisplay(void){
    spin=spin+2.0;
    if(spi>360.0)
        spin=spin-360.0;
    glutPostRedisplay();
}

void reshape(int w,int h){
    glViewport(0,0,(GLsizei)w,(GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-50.0,50.0,-50.0,50.0,-1.0,1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

void mouse(int button, int state, int x, int y){
    switch(button){
    case GLUT_LEFT_BUTTON:
        if(state==GLUT_DOWN)
            glutIdleFunc(spinDisplay);break;
    case GLUT_MIDDLE_BUTTON:
        if(state==GLUT_DOWN)
            glutIdleFunc(NULL);break;
    default:
        break;
    }
}

int main(int argc, char** argv){
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(250,250);
    glutInitWindowPosition(100,100);
    glutCreateWindow(argv[0]);
    init();
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutMouseFunc(mouse);
    glutMainLoop();
    return 0;
}

Что-то связанное с GLfloat...
PM MAIL WWW ICQ   Вверх
AssassinFX
Дата 24.1.2007, 18:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



Gl00M, Извени телепатическими способностями необладаю,какая ошибка?
PM MAIL   Вверх
Gl00M
Дата 24.1.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 24.9.2006
Где: Коломна, МО

Репутация: нет
Всего: нет



Извиняюсь... был не дома (имел с собой только исходный код)...
Код

--------------------Configuration: double - Win32 Debug--------------------
Compiling...
double.cpp
h:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
h:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
h:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

double.obj - 3 error(s), 0 warning(s)


т.е. ошибка в этой строке:
Код

WINGDIAPI void APIENTRY glAccum (GLenum op, GLfloat value);

PM MAIL WWW ICQ   Вверх
AssassinFX
Дата 25.1.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



Gl00M, Странно,а что за компил?
PM MAIL   Вверх
Gl00M
Дата 25.1.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 24.9.2006
Где: Коломна, МО

Репутация: нет
Всего: нет



Компилю в Microsoft Visual C++ 6.5
Посоветовали заменить GLfloat на просто float, но все равно происходят те же ошибки....

Это сообщение отредактировал(а) Gl00M - 25.1.2007, 17:08
PM MAIL WWW ICQ   Вверх
AssassinFX
Дата 25.1.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



Gl00M, Давай мыло я тебе вышлю свои работающие gl(h/lib) файлы
PM MAIL   Вверх
azazelpj
Дата 7.12.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Цитата(Gl00M @  24.1.2007,  17:19 Найти цитируемый пост)
#include <GL/glaux.h>


А где можно скачать данную старую библиотеку?
И еще вопрос, есть ли базы с библиотеками (можно на забугорных серверах  smile )?

мде... скачать скачали, а ошибку выдает #include <GL/glaux.h>
Писал код в 2008 версии VS
Вот код кому интересно:
Код


      #include <windows.h>       // Заголовочные файлы для Windows
     #include <gl\gl.h>         // Заголовочные файлы для библиотеки OpenGL32
     #include <gl\glu.h>        // Заголовочные файлы для библиотеки GLu32
     #include <gl\glaux.h>      // Заголовочные файлы для библиотеки GLaux

     HGLRC  hRC=NULL;         // Постоянный контекст рендеринга
     HDC  hDC=NULL;           // Приватный контекст устройства GDI
     HWND  hWnd=NULL;         // Здесь будет хранится дескриптор окна
     HINSTANCE  hInstance;    // Здесь будет хранится дескриптор приложения

     bool  keys[256];         // Массив, используемый для операций с клавиатурой
     bool  active=true;       // Флаг активности окна, установленный в true по умолчанию
     bool  fullscreen=true;   // Флаг режима окна, установленный в полноэкранный по умолчанию

     LRESULT  CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );  // Прототип функции WndProc

     GLvoid ReSizeGLScene( GLsizei width, GLsizei height )// Изменить размер и инициализировать окно GL 
     {
      if( height == 0 )// Предотвращение деления на ноль 
       {
     height = 1;
       }
       glViewport( 0, 0, width, height );// Сброс текущей области вывода
    glMatrixMode( GL_PROJECTION );     // Выбор матрицы проекций
    glLoadIdentity();     // Сброс матрицы проекции
    // Вычисление соотношения геометрических размеров для окна
    gluPerspective( 45.0f, (GLfloat)width/(GLfloat)height, 0.1f, 100.0f );
    glMatrixMode( GL_MODELVIEW );     // Выбор матрицы вида модели
    glLoadIdentity();        // Сброс матрицы вида модели
  }
       int InitGL( GLvoid )  // Все установки касаемо OpenGL происходят здесь
       {
               glShadeModel( GL_SMOOTH );   // Разрешить плавное цветовое сглаживание
                  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);   // Очистка экрана в черный цвет
                      glClearDepth( 1.0f );  // Разрешить очистку буфера глубины
    glEnable( GL_DEPTH_TEST ); // Разрешить тест глубины

    glDepthFunc( GL_LEQUAL );  // Тип теста глубины
        glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST ); // Улучшение в вычислении перспективы
            return true;  // Инициализация прошла успешно
  }
    int DrawGLScene( GLvoid )   // Здесь будет происходить вся прорисовка

    {
          glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); // Очистить экран и буфер глубины
          glLoadIdentity();  // Сбросить текущую матрицу
          return true;   // Прорисовка прошла успешно
    }
         GLvoid KillGLWindow( GLvoid )// Корректное разрушение окна
     {
             if( fullscreen )// Мы в полноэкранном режиме?
     {
                       ChangeDisplaySettings( NULL, 0 ); // Если да, то переключаемся обратно в оконный режим
              ShowCursor( true );// Показать курсор мышки
     }
            if( hRC ) // Существует ли Контекст Рендеринга?
             {
            if( !wglMakeCurrent( NULL, NULL ) )  // Возможно ли освободить RC и DC?
       {
           MessageBox( NULL, "Release Of DC And RC Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION );
       }
         if( !wglDeleteContext( hRC ) ) // Возможно ли удалить RC?
       {
         MessageBox( NULL, "Release Rendering Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION );
       }
      hRC = NULL;   // Установить RC в NULL
       }
          if( hDC && !ReleaseDC( hWnd, hDC ) )  // Возможно ли уничтожить DC?
     {
        MessageBox( NULL, "Release Device Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION );
        hDC=NULL;    // Установить DC в NULL
     }
         if(hWnd && !DestroyWindow(hWnd))  // Возможно ли уничтожить окно?
  {
    MessageBox( NULL, "Could Not Release hWnd.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION );
    hWnd = NULL;  // Установить hWnd в NULL
  }
    if( !UnregisterClass( "OpenGL", hInstance ) ) // Возможно ли разрегистрировать класс
  {
    MessageBox( NULL, "Could Not Unregister Class.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION);
    hInstance = NULL;  // Установить hInstance в NULL
  }
}
    BOOL CreateGLWindow( LPCWSTR title, int width, int height, int bits, bool fullscreenflag )
{
      GLuint    PixelFormat;   // Хранит результат после поиска
        WNDCLASS  wc;  // Структура класса окна
          DWORD    dwExStyle;    // Расширенный стиль окна
  DWORD    dwStyle;   // Обычный стиль окна
    RECT WindowRect;  // Grabs Rectangle Upper Left / Lower Right Values
  WindowRect.left=(long)0;   // Установить левую составляющую в 0
  WindowRect.right=(long)width;   // Установить правую составляющую в Width
  WindowRect.top=(long)0;  // Установить верхнюю составляющую в 0
  WindowRect.bottom=(long)height;  // Установить нижнюю составляющую в Height
    fullscreen=fullscreenflag;  // Устанавливаем значение глобальной переменной fullscreen
      hInstance    = GetModuleHandle(NULL);   // Считаем дескриптор нашего приложения
  wc.style    = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;    // Перерисуем при перемещении и создаём скрытый DC
  wc.lpfnWndProc    = (WNDPROC) WndProc;    // Процедура обработки сообщений
  wc.cbClsExtra    = 0;    // Нет дополнительной информации для окна
  wc.cbWndExtra    = 0;  // Нет дополнительной информации для окна
  wc.hInstance    = hInstance; // Устанавливаем дескриптор
  wc.hIcon    = LoadIcon(NULL, IDI_WINLOGO);   // Загружаем иконку по умолчанию
  wc.hCursor    = LoadCursor(NULL, IDC_ARROW);    // Загружаем указатель мышки
  wc.hbrBackground  = NULL;  // Фон не требуется для GL
  wc.lpszMenuName    = NULL;    // Меню в окне не будет
  wc.lpszClassName  = "OpenGL";  // Устанавливаем имя классу
    if( !RegisterClass( &wc ) )  // Пытаемся зарегистрировать класс окна
  {
    MessageBox( NULL, "Failed To Register The Window Class.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;   // Выход и возвращение функцией значения false
  }
      if( fullscreen ) // Полноэкранный режим?
  {
          DEVMODE dmScreenSettings; // Режим устройства
    memset( &dmScreenSettings, 0, sizeof( dmScreenSettings ) );  // Очистка для хранения установок
    dmScreenSettings.dmSize=sizeof( dmScreenSettings );  // Размер структуры Devmode
    dmScreenSettings.dmPelsWidth  =   width;  // Ширина экрана
    dmScreenSettings.dmPelsHeight  =   height; // Высота экрана
    dmScreenSettings.dmBitsPerPel  =   bits;  // Глубина цвета
    dmScreenSettings.dmFields= DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;// Режим Пикселя
        // Пытаемся установить выбранный режим и получить результат.  Примечание: CDS_FULLSCREEN убирает панель управления.
    if( ChangeDisplaySettings( &dmScreenSettings, CDS_FULLSCREEN ) != DISP_CHANGE_SUCCESSFUL )
    {
          // Если переключение в полноэкранный режим невозможно, будет предложено два варианта: оконный режим или выход.
      if( MessageBox( NULL, "The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?", 
          "NeHe GL", MB_YESNO | MB_ICONEXCLAMATION) == IDYES )
      {
        fullscreen = false; // Выбор оконного режима (fullscreen = false)
      }
      else
      {
          // Выскакивающее окно, сообщающее пользователю о закрытие окна.
        MessageBox( NULL, "Program Will Now Close.", "ERROR", MB_OK | MB_ICONSTOP );
        return false;  // Выход и возвращение функцией false
      }
    }
  }
        if(fullscreen) // Мы остались в полноэкранном режиме?
  {
          dwExStyle = WS_EX_APPWINDOW;  // Расширенный стиль окна
    dwStyle = WS_POPUP;   // Обычный стиль окна
    ShowCursor( false );   // Скрыть указатель мышки
  }
  else
  {
          dwExStyle  =   WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;    // Расширенный стиль окна
    dwStyle    =   WS_OVERLAPPEDWINDOW;   // Обычный стиль окна
  }
          AdjustWindowRectEx( &WindowRect, dwStyle, false, dwExStyle ); // Подбирает окну подходящие размеры
            if( !( hWnd = CreateWindowEx(  dwExStyle,   // Расширенный стиль для окна
          _T("OpenGL"),    // Имя класса
          title,   // Заголовок окна
          WS_CLIPSIBLINGS |  // Требуемый стиль для окна
          WS_CLIPCHILDREN | // Требуемый стиль для окна
          dwStyle,  // Выбираемые стили для окна
          0, 0,    // Позиция окна
          WindowRect.right-WindowRect.left,  // Вычисление подходящей ширины
          WindowRect.bottom-WindowRect.top,  // Вычисление подходящей высоты
          NULL,   // Нет родительского
          NULL,   // Нет меню
          hInstance,  // Дескриптор приложения
          NULL ) ) )  // Не передаём ничего до WM_CREATE (???)
            {
    KillGLWindow(); // Восстановить экран
    MessageBox( NULL, "Window Creation Error.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;  // Вернуть false
  }
              static  PIXELFORMATDESCRIPTOR pfd= // pfd сообщает Windows каким будет вывод на экран каждого пикселя
  {
    sizeof(PIXELFORMATDESCRIPTOR), // Размер дескриптора данного формата пикселей
    1, // Номер версии
    PFD_DRAW_TO_WINDOW |   // Формат для Окна
    PFD_SUPPORT_OPENGL |   // Формат для OpenGL
    PFD_DOUBLEBUFFER,      // Формат для двойного буфера
    PFD_TYPE_RGBA,  // Требуется RGBA формат
    bits,  // Выбирается бит глубины цвета
    0, 0, 0, 0, 0, 0,  // Игнорирование цветовых битов
    0,  // Нет буфера прозрачности
    0,  // Сдвиговый бит игнорируется
    0,  // Нет буфера накопления
    0, 0, 0, 0,  // Биты накопления игнорируются
    32,  // 32 битный Z-буфер (буфер глубины)
    0,   // Нет буфера трафарета
    0,  // Нет вспомогательных буферов
    PFD_MAIN_PLANE,  // Главный слой рисования
    0,  // Зарезервировано
    0, 0, 0  // Маски слоя игнорируются
  };
                if( !( hDC = GetDC( hWnd ) ) )  // Можем ли мы получить Контекст Устройства?
  {
    KillGLWindow();  // Восстановить экран
    MessageBox( NULL, "Can't Create A GL Device Context.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;   // Вернуть false
  }
     if( !( PixelFormat = ChoosePixelFormat( hDC, &pfd ) ) ) // Найден ли подходящий формат пикселя?
  {
    KillGLWindow();   // Восстановить экран
    MessageBox( NULL, "Can't Find A Suitable PixelFormat.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;                // Вернуть false
  }
     if( !SetPixelFormat( hDC, PixelFormat, &pfd ) ) // Возможно ли установить Формат Пикселя?
  {
    KillGLWindow(); // Восстановить экран
    MessageBox( NULL, "Can't Set The PixelFormat.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;   // Вернуть false
  }
         if( !( hRC = wglCreateContext( hDC ) ) ) // Возможно ли установить Контекст Рендеринга?
  {
    KillGLWindow();  // Восстановить экран
    MessageBox( NULL, "Can't Create A GL Rendering Context.", "ERROR", MB_OK | MB_ICONEXCLAMATION);
    return false;  // Вернуть false
  }
      if( !wglMakeCurrent( hDC, hRC ) )  // Попробовать активировать Контекст Рендеринга
  {
    KillGLWindow();  // Восстановить экран
    MessageBox( NULL, "Can't Activate The GL Rendering Context.", "ERROR", MB_OK | MB_ICONEXCLAMATION );
    return false;  // Вернуть false
  }
     ShowWindow( hWnd, SW_SHOW );  // Показать окно
  SetForegroundWindow( hWnd );  // Слегка повысим приоритет
  SetFocus( hWnd );      // Установить фокус клавиатуры на наше окно
  ReSizeGLScene( width, height ); // Настроим перспективу для нашего OpenGL экрана.
    if( !InitGL() )                  // Инициализация только что созданного окна
  {
    KillGLWindow();    // Восстановить экран
    MessageBox( NULL, _T("Initialization Failed."), _T("ERROR"), MB_OK | MB_ICONEXCLAMATION );
    return false;  // Вернуть false
  }
      return true; // Всё в порядке!
}
LRESULT CALLBACK WndProc(  HWND  hWnd,   // Дескриптор нужного окна
        UINT  uMsg,    // Сообщение для этого окна
        WPARAM  wParam,  // Дополнительная информация
        LPARAM  lParam)  // Дополнительная информация
{
      switch (uMsg)  // Проверка сообщения для окна
  {
          case WM_ACTIVATE:  // Проверка сообщения активности окна
    {
      if( !HIWORD( wParam ) )  // Проверить состояние минимизации
      {
        active = true;  // Программа активна
      }
      else
      {
        active = false;   // Программа теперь не активна
      }
      return 0;   // Возвращаемся в цикл обработки сообщений
    }
        case WM_SYSCOMMAND:  // Перехватываем системную команду
    {
      switch ( wParam )  // Останавливаем системный вызов
      {
        case SC_SCREENSAVE:   // Пытается ли запустится скринсейвер?
        case SC_MONITORPOWER:     // Пытается ли монитор перейти в режим сбережения энергии?
        return 0;   // Предотвращаем это
      }
      break; // Выход
    }
        case WM_CLOSE:  // Мы получили сообщение о закрытие?
    {
      PostQuitMessage( 0 );  // Отправить сообщение о выходе
      return 0;  // Вернуться назад
    }
        case WM_KEYDOWN:  // Была ли нажата кнопка?
    {
      keys[wParam] = true;   // Если так, мы присваиваем этой ячейке true
      return 0;   // Возвращаемся
    }
        case WM_KEYUP:  // Была ли отпущена клавиша?
    {
      keys[wParam] = false;    //  Если так, мы присваиваем этой ячейке false
      return 0;   // Возвращаемся
    }
        case WM_SIZE:  // Изменены размеры OpenGL окна
    {
      ReSizeGLScene( LOWORD(lParam), HIWORD(lParam) );  // Младшее слово=Width, старшее слово=Height
      return 0; // Возвращаемся
    }
  }
        // пересылаем все необработанные сообщения DefWindowProc

  return DefWindowProc( hWnd, uMsg, wParam, lParam );
}
int WINAPI WinMain(  HINSTANCE  hInstance,    // Дескриптор приложения
      HINSTANCE  hPrevInstance,    // Дескриптор родительского приложения
      LPSTR    lpCmdLine,    // Параметры командной строки
      int    nCmdShow )   // Состояние отображения окна
{
      MSG  msg;    // Структура для хранения сообщения Windows
  BOOL  done = false;    // Логическая переменная для выхода из цикла
    // Спрашивает пользователя, какой режим экрана он предпочитает
  if( MessageBox( NULL, "Хотите ли Вы запустить приложение в полноэкранном режиме?",  "Запустить в полноэкранном режиме?", MB_YESNO | MB_ICONQUESTION) == IDNO )
  {
    fullscreen = false; // Оконный режим
  }
    // Создать наше OpenGL окно
  if( !CreateGLWindow( "NeHe OpenGL окно", 1024, 768, 32, fullscreen ) )
  {
    return 0;   // Выйти, если окно не может быть создано
  }
    while( !done )  // Цикл продолжается, пока done не равно true
  {
     if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )  // Есть ли в очереди какое-нибудь сообщение?
    {
         if( msg.message == WM_QUIT )   // Мы поучили сообщение о выходе?
      {
        done = true;  // Если так, done=true
      }
      else   // Если нет, обрабатывает сообщения
      {
           TranslateMessage( &msg );  // Переводим сообщение
        DispatchMessage( &msg );      // Отсылаем сообщение
      }
    }
    else   // Если нет сообщений
    {
         // Прорисовываем сцену.
      if( active )     // Активна ли программа?
      {
        if(keys[VK_ESCAPE])     // Было ли нажата клавиша ESC?
        {
          done = true;  // ESC говорит об останове выполнения программы
        }
        else // Не время для выхода, обновим экран.
        {
         DrawGLScene();   // Рисуем сцену
          SwapBuffers( hDC );  // Меняем буфер (двойная буферизация)
        }
      }
            if( keys[VK_F1] )   // Была ли нажата F1?
      {
        keys[VK_F1] = false;    // Если так, меняем значение ячейки массива на false
        KillGLWindow();      // Разрушаем текущее окно
        fullscreen = !fullscreen;      // Переключаем режим
        // Пересоздаём наше OpenGL окно
        if( !CreateGLWindow( _T("NeHe OpenGL структура"), 1024, 768, 32, fullscreen ) )
        {
          return 0;   // Выходим, если это невозможно
        }
      }
    }
  }
      // Shutdown
  KillGLWindow();  // Разрушаем окно
  return ( msg.wParam );  // Выходим из программы
}



Это сообщение отредактировал(а) azazelpj - 7.12.2008, 21:55
PM MAIL   Вверх
Kallikanzarid
Дата 7.12.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: нет
Всего: 3



azazelpj, а зачем тебе GLaux, если ты не используешь GLaux?

Gl00M,
1) GLfloat = float. Значит константы для него должны заканчиваться суффиксом f: 0.0f, -50.0f и т. д.
2) Ты используешь GLUT, не подключая его? На что ты надеешься?

Лирическое отступление: почему все идиоты пеняют на компилятор?

ЗЫ: azazelpj, что-то твой код вызывает у меня дежа вю...  smile 

Это сообщение отредактировал(а) Kallikanzarid - 7.12.2008, 23:39
PM MAIL   Вверх
azazelpj
Дата 7.12.2008, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Цитата(Kallikanzarid @  7.12.2008,  23:12 Найти цитируемый пост)
а зачем тебе GLaux, если ты не используешь GLaux?

Не использую его не я, а автор. (простите за тавтологию)
Урок просто очень хорошо расписан. Вот если бы был точно такой же (по описанию), но про блокнот или проигрыватель видео или музыки на 2008 VS то вообще супер.   


PM MAIL   Вверх
Kallikanzarid
Дата 7.12.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: нет
Всего: 3



Если удалишь #include <gl/glaux.h>, его расписанность не пострадает.
Урок про блокнот? ЕМНИП, если умеешь создавать окно с кнопкой, до блокнота - один шаг.
Проигрыватель музыки - серьезный программный продукт. Уроком может быть разве что, как к кнопе привинить проигрывание wav-файла. Но это курам на смех.
PM MAIL   Вверх
Rickert
Дата 8.12.2008, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



#include <windows.h> должен стоять перед #include <gl/gl.h>


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Gongex
Дата 14.2.2009, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 1.1.2008

Репутация: -1
Всего: 0



у меня были те же проблемы.Там на форуме тоже издевались как и здесь,и никто не ответил нормально.
Короче,автор,помести папку свою glut.h и все на имя .h в каталог "С://programm files/Visual studio/VC/Include/GL/"  ......у тя проблема в том что папки GL нету а файл лежит просто в Include/

файлы Glaux качаются на сайте Devil.....потому что Этот пакет называется Дэвилом.
Качай здесь:http://openil.sourceforge.net/
Качай -Windows x64 SDK

Это сообщение отредактировал(а) Gongex - 14.2.2009, 15:48
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1232 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.