本文整理汇总了C++中GLWindow::CreateGLWindow方法的典型用法代码示例。如果您正苦于以下问题:C++ GLWindow::CreateGLWindow方法的具体用法?C++ GLWindow::CreateGLWindow怎么用?C++ GLWindow::CreateGLWindow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLWindow
的用法示例。
在下文中一共展示了GLWindow::CreateGLWindow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WinMain
int WINAPI WinMain( HINSTANCE hInstance, // Дескриптор приложения
HINSTANCE hPrevInstance, // Дескриптор родительского приложения
LPSTR lpCmdLine, // Параметры командной строки
int nCmdShow ) // Состояние отображения окна
{
MSG msg; // Структура для хранения сообщения Windows
BOOL done = false; // Логическая переменная для выхода из цикла
glwWnd.fullscreen = false; // Оконный режим
// Создать наше OpenGL окно
if( !glwWnd.CreateGLWindow("Photon", 400, 400, 32) )
{
return 0; // Выйти, если окно не может быть создано
}
srand(time(NULL));
randNumGen = gsl_rng_alloc(gsl_rng_mt19937);
glwWnd.Resolution = vpViewport.Resolution;
vpViewport.SceneInit();
ImageSensor &isSensor_a = vpViewport.oWorld.isSensor;
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( glwWnd.active ) // Активна ли программа?
{
if(glwWnd.keys[VK_ESCAPE]) // Было ли нажата клавиша ESC?
{
done = true; // ESC говорит об останове выполнения программы
}
else // Не время для выхода, обновим экран.
{
vpViewport.OneStep();
glwWnd.DrawGLScene(isSensor_a); // Рисуем сцену
isSensor_a.Clear();
double cng = 1.01;
double nng = 0.1;
if(glwWnd.keys[107] == true){
vpViewport.oWorld.lLens.x+=nng;}
//vpViewport.oWorld.lLens.Focus*=cng;}
if(glwWnd.keys[109] == true){
vpViewport.oWorld.lLens.x-=nng;}
//vpViewport.oWorld.lLens.Focus/=cng;}
if(glwWnd.keys[32] == true){
vpViewport.oWorld.isSensor.ClearMode = SENSOR_ONE_CLEAR;}
SwapBuffers( glwWnd.hDC ); // Меняем буфер (двойная буферизация)
}
}
}
}
glwWnd.KillGLWindow(); // Разрушаем окно
return ( msg.wParam ); // Выходим из программы
}