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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окно для OpenGL и окно MFC 
:(
    Опции темы
bronislav
Дата 28.5.2008, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что именно тебе надо?
Окно в котором отображается 3d сцена, или в этом окне еще должны быть менюшки, кнопочки всякие?


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
Lenkov
Дата 28.5.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



мне нужно окно 3D а так же разные кнопки и много чего другого (элементы диалога) в одном приложении, ну почти как в том примере.
PM MAIL   Вверх
bronislav
Дата 28.5.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну вот так и испольуй как в том примере.

Про инициализацию на WinAPI я писал, что испольуется если надо создать окно, без элементов диалога. Потому, что элементы диалога можно создать и с помошью WinAPI, но "овчинка выделки не стоит".

Больше сил потратить на обработку событий.

Используй какой-нибудь GUI toolkit, и там инициализируй. Хотя в некоторых toolkit'ах инициализация уже ниписана, надо только соответствуюший метод вызвать. 


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
Lenkov
Дата 29.5.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



пробовал http://www.firststeps.ru/mfc/opengl/r.php?15
но выдает ошибки. Как думаешь так можно?
PM MAIL   Вверх
kapralov
  Дата 29.5.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Народ! всем привет , вот созал окошко в opengl, таким макаром:
файлик Main.cpp
Код

// Включаем необходимые библиотеки:
// OpelGL

#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glaux.lib")
// Добавляем библиотеку, необходимую для использования timeGetTime():
#pragma comment(lib, "winmm.lib") 
// Наш главный хидер:
#include "main.h"
#include <wchar.h>
// Необходимые дескрипторы:
HWND  g_hWnd;
RECT  g_rRect;
HDC   g_hDC;
HGLRC g_hRC;
HINSTANCE g_hInstance;


///////////////////////////////////////////////////////////////
//
//            Функция вызывается каждый кадр и рендерит сцену
//
///////////////////////////////////////////////////////////////
 

void RenderScene()
{
 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    // пока тут пусто потом код рендеринга идет
    
    SwapBuffers(g_hDC);


}
 
///////////////////////////////////////////////////////////////
//
//            Инициализирует игровое окно
//
///////////////////////////////////////////////////////////////
 
void Init(HWND hWnd)
{
    g_hWnd = hWnd;
    GetClientRect(g_hWnd, &g_rRect);
    InitializeOpenGL(g_rRect.right, g_rRect.bottom);

}
 
///////////////////////////////////////////////////////////////
//
//            Главный цикл
//
///////////////////////////////////////////////////////////////
 
WPARAM MainLoop()
{
    MSG msg;
 
    while(1)
    {
        if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
            if(msg.message == WM_QUIT)
                break;
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {
                RenderScene();
        }
    }
 
    DeInit();
 
    return(msg.wParam);
}
 
///////////////////////////////////////////////////////////////
//
//            Обработка сообщений windows
//
///////////////////////////////////////////////////////////////
 
LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    LONG    lRet = 0;
    PAINTSTRUCT    ps;
 
    switch (uMsg)
    {
    case WM_SIZE:        // Если изменён размер окна
 
        SizeOpenGLScreen(LOWORD(lParam),HIWORD(lParam));// LoWord=Width, HiWord=Height
        GetClientRect(hWnd, &g_rRect);        // получаем window rectangle
        break;
 
    case WM_PAINT:            // Если нужно перерисовать сцену
        BeginPaint(hWnd, &ps);    // Иниц. paint struct
        EndPaint(hWnd, &ps);    // EndPaint, подчищаем
        break;
 
    case WM_KEYDOWN:    // Это сообщение означает, что нажата клавиша на клавиатуре.
                // Сама клавиша передаётся в параметре wParam
        switch(wParam)
        {
            case VK_ESCAPE:            // Если нажат ESCAPE
                PostQuitMessage(0);    // Выходим
                break;
        }
        break;
 
    case WM_CLOSE:        // Если окно было закрыто
        PostQuitMessage(0);    // Выходим
        break;
 
    default:        // Return по умолчанию
        lRet = DefWindowProc (hWnd, uMsg, wParam, lParam);
        break;
    }
 
    return lRet;
}



файл main.h
Код

#ifndef _MAIN_H
#define _MAIN_H

// Хидеры, необходимые для работы программы
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <gl\gl.h>
#include <gl\glu.h>
 
// Обьявим глобальные переменные, ширину, высоту и глубину цвета экрана
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
#define SCREEN_DEPTH 16
#define peremennaya 16
 
// Глобальные параметры окна; будут доступны из других файлов:
extern HWND  g_hWnd;
extern RECT  g_rRect;
extern HDC   g_hDC;
extern HGLRC g_hRC;
extern HINSTANCE g_hInstance;
 
 
// Прототип главной функции программы - WinMain
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hprev, PSTR cmdline, int ishow);
 
// Прототип функции обработки сообщений
LRESULT CALLBACK WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
 
// Функция - главный цикл программы
WPARAM MainLoop();
 
// Функция, создающая окно
HWND CreateMyWindow(LPSTR strWindowName, int width, int height, DWORD dwStyle, bool bFullScreen, HINSTANCE hInstance);
 
// Функция, устанавливающая формат пиксела
bool bSetupPixelFormat(HDC hdc);
 
// Прототип функции, устанавливающей размеры окна OpenGL
void SizeOpenGLScreen(int width, int height);
 
// Функция, инициализирующая OpenGL
void InitializeOpenGL(int width, int height);
 
// Общая инициализация
void Init(HWND hWnd);
 
// Функция, которая собственно рисует сцену
void RenderScene();
 
// Де-инициализация
void DeInit();

#endif


ну и наконец
init.cpp
Код

// Включаем наш хидер
#include "main.h"

///////////////////////////////////////////////////////////////
//
//        Функция, создающая наше окошко
//
///////////////////////////////////////////////////////////////
HWND CreateMyWindow(LPSTR strWindowName, int width, int height, DWORD dwStyle, bool bFullScreen, HINSTANCE hInstance)
{
    HWND hWnd;        // дескриптор окна
    WNDCLASS wndclass;    // класс окна
    memset(&wndclass, 0, sizeof(WNDCLASS));        // Резервируем память под класс окна
    wndclass.style = CS_HREDRAW | CS_VREDRAW;    // Стандартные параметра
    wndclass.lpfnWndProc = WinProc;            // Передаём указатель на функцию обработки сообщений
    wndclass.hInstance = hInstance;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);    // Иконка
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);        // Курсор
    wndclass.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);    // Окно будет белым
    wndclass.lpszClassName = "Test";        // Имя класса
    RegisterClass(&wndclass);                //регистрируем класс
 
    dwStyle = WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; // Стиль окна
 
    g_hInstance = hInstance;
 
    // Устанавливаем заданные размеры окна.
    RECT rWindow;
    rWindow.left    = 0;            // Левая сторона -  0
    rWindow.right    = width;        // Правая сторона - 800
    rWindow.top        = 0;        // Верх - 0
    rWindow.bottom    = height;        // Низ - 800
 
    AdjustWindowRect( &rWindow, dwStyle, false);    // Применяем заданные размеры
 
                            // Создаём окно
    hWnd = CreateWindow("Test", strWindowName, dwStyle, 0, 0,
                rWindow.right  - rWindow.left, rWindow.bottom - rWindow.top,
                NULL, NULL, hInstance, NULL);
 
    if(!hWnd) return NULL;            // Есди не получилось - умираем...
    ShowWindow(hWnd, SW_SHOWNORMAL);    // Показать окно
    UpdateWindow(hWnd);            // И нарисовать его
    SetFocus(hWnd);                // Фокусирует клавиатуру на наше окно
    
    return hWnd;
}
 
 
///////////////////////////////////////////////////////////////
//
//        Функция, устанавливающая формат пиксела
//
///////////////////////////////////////////////////////////////
bool bSetupPixelFormat(HDC hdc)
{
    PIXELFORMATDESCRIPTOR pfd;    // Дескриптор формата пиксела
    int pixelformat;
    pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);    // Устанавливаем размер структуры
    pfd.nVersion = 1;                // Всегда ставим = 1
            // Передаём нужные флаги OpenGL
    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    pfd.dwLayerMask = PFD_MAIN_PLANE;        // Стандартная маска (один хрен игнорируется)
    pfd.iPixelType = PFD_TYPE_RGBA;        // Нам нужны RGB and Alpha типа пикселей
    pfd.cColorBits = SCREEN_DEPTH;        // Используем наши #define для цветовой глубины
    pfd.cDepthBits = SCREEN_DEPTH;    // Это игнорируется для RGBA, но все равно передадим
    pfd.cAccumBits = 0;
    pfd.cStencilBits = 0;
 
    // Ф-я ищет формат пиксела, наиболее подходящий заданным требованиям, выход при неудаче
    if ( (pixelformat = ChoosePixelFormat(hdc, &pfd)) == FALSE )
    {
        MessageBox(NULL, "ChoosePixelFormat failed", "Error", MB_OK);
        return FALSE;
    }
 
    // Устанавливаем указанный формат пиксела
    if (SetPixelFormat(hdc, pixelformat, &pfd) == FALSE)
    {
        MessageBox(NULL, "SetPixelFormat failed", "Error", MB_OK);
        return FALSE;
    }
 
    return TRUE;
}
 
///////////////////////////////////////////////////////////////
//
//        Ф-я устанавливает размер окна OpenGL
//
///////////////////////////////////////////////////////////////
void SizeOpenGLScreen(int width, int height)
{
    if (height==0)        // Предотвратим деление на 0
        height=1;
 
    // Сделаем наше окно OpenGL размером с главное окно программы. При желании можно сделать
    // вьюпорт меньше окна.
    glViewport(0,0,width,height);
 
    glMatrixMode(GL_PROJECTION);    // Выберем матрицу проекции
    glLoadIdentity();        // И сбросим её
 
    // Вычислим перспективу нашего окна
    // Параметры:
    // (угол взгляда, отношение ширины и высоты,
    // Ближайшее расстояние обьекта до камеры, при котором он виден,
    // и дальнейшее расстояние, при котороом происходит отрисовка
    gluPerspective(45.0f,(GLfloat)width/(GLfloat)height, .5f ,150.0f);
 
    // Важно: дальняя дистанция должна быть больше единицы, если вы не хотите получить
    // прикольные артефакты, работая с освещением. Мало кто знает об этом, но при
    // использовании света с ближней дистанцией камеры меньше 1, на полигонах будут
    // видны неуместные блики и флеши.
 
    glMatrixMode(GL_MODELVIEW);  // Выберем матрицу моделей
    glLoadIdentity();            // И сбросим её
}
 
 
///////////////////////////////////////////////////////////////
//
//            Ф-я инициализирует OpenGL
//
///////////////////////////////////////////////////////////////
 
void InitializeOpenGL(int width, int height)
{
    g_hDC = GetDC(g_hWnd);    // Устанавливаем глобальный дескриптор окна
 
    if (!bSetupPixelFormat(g_hDC))        // Устанавливаем формат пиксела
        PostQuitMessage (0);            // И выходим при ошибке
 
    g_hRC = wglCreateContext(g_hDC);        // Контекст рендеринга для hdc
    wglMakeCurrent(g_hDC, g_hRC);        // Делаем контекст текущим
    glEnable(GL_TEXTURE_2D);            // Включаем текстуры
    glEnable(GL_DEPTH_TEST);            // И тест глубины
 
    // И устанавливаем размер вьюпорта:
    SizeOpenGLScreen(width, height);
    
}
 
///////////////////////////////////////////////////////////////
//
//            Ф-я де-Инициализирует OpenGL
//
///////////////////////////////////////////////////////////////
void DeInit()
{
    if (g_hRC)
    {
        wglMakeCurrent(NULL, NULL);    // Освобождает память, занятую для рендера
        wglDeleteContext(g_hRC);    // Удаляет контекст рендеринга OpenGL
    }
 
    if (g_hDC)
        ReleaseDC(g_hWnd, g_hDC);    // Убирает HDC из памяти
 
    UnregisterClass("Test", g_hInstance);    // Освобождаем класс окна
    PostQuitMessage (0);                    // Выходим
}
 
///////////////////////////////////////////////////////////////
//
//            Функция регистрирует и создает окно
//
///////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hprev, PSTR cmdline, int ishow)
{
    HWND hWnd;
 
    // Создает окно с помощью нашей функции, в которую передаём:
    // Имя, Ширину, Высоту, любые флаги для окна, хотим ли мы фулскрин, и hInstance
    hWnd = CreateMyWindow("Test", SCREEN_WIDTH, SCREEN_HEIGHT, 0, false, hInstance);
 
    // Выходим при ошибке
    if(hWnd == NULL) return TRUE;
 
    // Инициализируем OpenGL
    Init(hWnd);
 
    // Запускаем игровой цикл
    return MainLoop();
}


в конечном итоге получаю просто черное окно , вопрос как в это окно я могу вставить кнопу , или текстовое окно? с помощью winapi
PM MAIL   Вверх
Lenkov
Дата 29.5.2008, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



скажите какую книгу лучше приобрести, для того что бы писать такие проги!
PM MAIL   Вверх
kapralov
Дата 29.5.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ладно черт с ним в winapi пока, у меня стоит VS2003 скачал с сайта библиотеку glaux что то никак не могу ее заюзать , какие файлы куда надо перенести , чтоб оно работало , хоть примеры посматреть
PM MAIL   Вверх
bronislav
Дата 29.5.2008, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kapralov @  29.5.2008,  13:01 Найти цитируемый пост)
в конечном итоге получаю просто черное окно , вопрос как в это окно я могу вставить кнопу , или текстовое окно? с помощью winapi 

Ты хочешь создать в окне елементы управления, как объекты 3d сцены?
Тогда тебе надо писать свои GUI классы.

Цитата(Lenkov @  29.5.2008,  13:55 Найти цитируемый пост)
скажите какую книгу лучше приобрести, для того что бы писать такие проги! 

Приведенный выше код не есть пример для подражания. Для начала загляни в эту и эту темы.


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
Rickert
Дата 30.5.2008, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Не тема, а мусорка.

Это сообщение отредактировал(а) Rickert - 30.5.2008, 07:35


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


Шустрый
*


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

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



народ помогите. Ошибка auxIdleFunc( display ); error C2065: 'display' : undeclared identifier. Не знаю как еще попробовать.
Код

class CShar 
{
public:
    void CALLBACK display( void );
    void CALLBACK resize( int width, int height );
};

int WINAPI WinMain( HINSTANCE d1, HINSTANCE d2, LPSTR d3, int d4 )
{
    CShar shar, *shar1=&shar;
// Ïàðàìåòðû îáñ÷åòà ñöåíû â OpenGL: öâåòîâîé ðåæèì RGBA, óäàëåíèå
// íåâèäèìûõ ïîâåðõíîñòåé è ëèíèé, äâîéíàÿ áóôåðèçàöèÿ
auxInitDisplayMode( AUX_RGBA | AUX_DEPTH | AUX_DOUBLE );
// Ñîçäàíèå îêíà OpenGL ñ çàãîëîâêîì "Ïðîãðàììà 1.1"
// Ðàçìåð îêíà – 400õ400 ïèêñåëåé. Ëåâûé âåðõíèé óãîë îêíà
// çàäàåòñÿ ýêðàííûìè êîîðäèíàòàìè (50, 10).
auxInitPosition( 50, 10, 400, 400);
auxInitWindow( "Ïðîãðàììà 1.1" );
//  ñëó÷àå, êîãäà îêíî íå ïîëó÷àåò ñîîáùåíèé îò êëàâèàòóðû, ìûøè èëè
// òàéìåðà, òî áóäåò âûçûâàòüñÿ ôóíêöèÿ display. Òàê ìîæíî ïîëó÷èòü
// àíèìàöèþ. Åñëè àíèìàöèÿ íå íóæíà, òî ýòà ñòðîêà ëèøíÿÿ.
auxIdleFunc( display );
// Çàäàíèå ôóíêöèè, êîòîðàÿ áóäåò âûçûâàòüñÿ ïðè èçìåíåíèè
// ðàçìåðîâ îêíà Windows.
auxReshapeFunc( resize );
// Âêëþ÷åíèå ðÿäà ïàðàìåòðîâ OpenGL
glEnable( GL_ALPHA_TEST ); // Ó÷åò ïðîçðà÷íîñòè
glEnable( GL_DEPTH_TEST ); // Óäàëåíèå íåâèäèìûõ ïîâåðõíîñòåé
glEnable( GL_COLOR_MATERIAL ); // Ñèíõðîííîå çàäàíèå öâåòà ðèñîâàíèÿ
// è öâåòà ìàòåðèàëà îáúåêòîâ
glEnable( GL_BLEND ); // Ðàçðåøåíèå ñìåøåíèÿ öâåòîâ
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
glEnable( GL_LIGHTING ); // Ó÷åò îñâåùåíèÿ
glEnable( GL_LIGHT0 ); // Âêëþ÷åíèå íóëåâîãî èñòî÷íèêà ñâåòà
// Çàäàíèå ïîëîæåíèÿ è íàïðàâëåíèÿ íóëåâîãî èñòî÷íèêà ñâåòà
float pos[4] = { 3, 3, 3, 1 };
float dir[3] = { -1, -1, -1 };
glLightfv( GL_LIGHT0, GL_POSITION, pos );
glLightfv( GL_LIGHT0, GL_SPOT_DIRECTION, dir );
// Çàäàíèå ôóíêöèè îòðèñîâêè îêíà. Ýòà ôóíêöèÿ áóäåò âûçûâàòüñÿ âñÿêèé
// ðàç, êîãäà ïîòðåáóåòñÿ ïåðåðèñîâàòü îêíî íà ýêðàíå (íàïðèìåð, êîãäà
// îêíî áóäåò ðàçâåðíóòî íà âåñü ýêðàí)
auxMainLoop( display );
return 0;
}

void CALLBACK CShar::resize(int width, int height)
{
// Óêàçàíèå ÷àñòè îêíà äëÿ âûâîäà êàäðà OpenGL
glViewport( 0, 0, width, height );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
// Çàäàíèå òèïà ïðîåêöèè (glOrtho - ïàðàëëåëüíàÿ, glFrustum -
// ïåðñïåêòèâíàÿ). Ïàðàìåòðû ôóíêöèé îïðåäåëÿþò âèäèìûé îáúåì
// (ëåâàÿ ñòåíêà - ïÿòü åäèíèö âëåâî, ïðàâàÿ - ïÿòü åäèíèö âïðàâî,
// äàëåå çàäàþòñÿ íèæíÿÿ ñòåíêà, âåðõíÿÿ, ïåðåäíÿÿ è çàäíÿÿ)
glOrtho( -5, 5, -5, 5, 2, 12 );
// Çàäàíèå ïîçèöèè íàáëþäàòåëÿ (0, 0, 5), íàïðàâëåíèå ëó÷à
// çðåíèÿ (íà òî÷êó (0, 0, 0)), âåêòîð, ïðèíèìàåìûé çà íàïðàâëåíèå
// "ââåðõ" (0, 1, 0) (ò.å. ïàðàëëåëüíî îñè Y).
gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
glMatrixMode( GL_MODELVIEW );
}

void CALLBACK CShar::display( void )
{
// Î÷èñòêà áóôåðà êàäðà
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
// Ïåðåíîñ ñèñòåìû êîîðäèíàò, ñâÿçàííîé ñ îáúåêòîì, íà 0.01
glTranslated( 0.01, 0, 0 );
// Ðèñîâàíèå â íà÷àëå êîîðäèíàò, ñâÿçàííûõ ñ îáúåêòîì, ñôåðû
// ðàäèóñîì 1, îêðàøåííîé â êðàñíûé öâåò
glColor3d( 1, 0, 0 );
auxSolidSphere( 1 );
// Êîïèðîâàíèå ñîäåðæèìîãî áóôåðà êàäðà íà ýêðàí
auxSwapBuffers();
}


PM MAIL   Вверх
bronislav
Дата 30.5.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Rickert @  30.5.2008,  06:35 Найти цитируемый пост)
Не тема, а мусорка.

Полностью согласен.
Просьба к модератору закройте тему. Для дополнительныйх вопросов надо создавать отдельные темы.


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
kapralov
Дата 31.5.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Lеstat я просто прошу объяснить как мне использовать в vs2003 библиотеку GLUI , скачал версию GLUI 2.2 , как ее использовать, вот и все что я хотел узнать , а насчет мусорки , не нравица не отвечайте и не выпендривайтесь. Форум для того и создан чтоб новички могли спросить что да как.
PM MAIL   Вверх
bronislav
Дата 31.5.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kapralov @  31.5.2008,  11:37 Найти цитируемый пост)
чтоб новички могли спросить что да как. 

В правилах сказано, что для каждого вопроса надо создавать новую тему.
Так что...
В данном топике был вопрос про использование MFC + OpenGL
Для всех остальный вопросов создавайте отдельные топики


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
Rickert
Дата 31.5.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Модератору отправил уже репорт - пока молчат.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

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

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


 




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


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

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