Не подскажете, в чем дело : При использовании ARB_Multisample на втором проходе SetPixelFormat вываливается при PixelFormatIndex = 32.
bool TForm1::SetGLPixelFormat() { int PixelFormatIndex; if((hDC = GetDC(Panel1->Handle)) == NULL) return false; PIXELFORMATDESCRIPTOR PixelFormat = { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0 };
if(!arbMultisampleSupported) { PixelFormatIndex = ChoosePixelFormat(hDC, &PixelFormat); if(PixelFormatIndex == 0) return false; } else PixelFormatIndex = arbMultisampleFormat; if(!SetPixelFormat(hDC, PixelFormatIndex, &PixelFormat)) return false;
if((hRC = wglCreateContext(hDC)) == NULL) return false; if(!wglMakeCurrent(hDC, hRC))return false;
if(!arbMultisampleSupported) { if(InitMultisample(Panel1->Handle)) { wglMakeCurrent (NULL, NULL); wglDeleteContext(hRC); ReleaseDC(Panel1->Handle,hDC); return SetGLPixelFormat(); } } return true; }
|