Инициализирую так:
Код:
PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR), /* size */
1, /* version */
PFD_SUPPORT_OPENGL |
PFD_DRAW_TO_WINDOW |
PFD_DOUBLEBUFFER, /* support double-buffering */
PFD_TYPE_RGBA, /* color type */
16, /* prefered color depth */
0, 0, 0, 0, 0, 0, /* color bits (ignored) */
0, /* no alpha buffer */
0, /* alpha bits (ignored) */
0, /* no accumulation buffer */
0, 0, 0, 0, /* accum bits (ignored) */
16, /* depth buffer */
0, /* no stencil buffer */
0, /* no auxiliary buffers */
PFD_MAIN_PLANE, /* main layer */
0, /* reserved */
0, 0, 0, /* no layer, visible, damage masks */
};
.............................
static HRESULT InitGL(void)
{
glViewport(0, 0, 1024, 768);
hDC = GetDC(hWnd);
setupPixelFormat(hDC);
hGLRC = wglCreateContext(hDC);
wglMakeCurrent(hDC, hGLRC);
glLoadIdentity(); // Сброс просмотра оси x,y=0
return true;
};
Фунция рендеринга состоит только из:
Код:
glLoadIdentity(); //Установка координат в начало
glOrtho(0.0, (GLfloat) 1024, 0.0,(GLfloat) 768,-1.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glRasterPos2i(0,0);
SwapBuffers(hDC);
Устанавливаю при помощи ChangeDisplaySettings(&DM, 0);
32х битный цвет, все работает.
У станавливаю 16бит цвет сразу же после запуска под C++Builder и выпадает с Invalid floating point operation
Чего делать? вообще непонимаю, в 16бит цвете все работает кроме команды glRasterPos. В 32бит все работает.
Пробовал glRasterPos3 и задовал другие координаты, непомогате.
Может я инициализирую нетак? может кодом кто поделится
_________________
Хочу иметь.... много компьютеров, много денег, и быть известным. Но я не Гилл Бетс
)