SwapBuffers_(hdc) vor.
Kann man eigentlich durch "Hinein-Poken" dieses hdc ändern.
Bzw kommt man an das Bild mit Peek?
mfg
Code: Alles auswählen
Procedure OpenGLScreen(*p.GLscreen,xx,yy,ww,hh)
If *p
container = ContainerGadget(#PB_Any,xx,yy,ww,hh)
If container
hwnd = GadgetID(container)
hdc = GetDC_(hwnd)
pfd.PIXELFORMATDESCRIPTOR
pfd\nSize = SizeOf(PIXELFORMATDESCRIPTOR)
pfd\nVersion = 1
pfd\dwFlags = #PFD_SUPPORT_OPENGL | #PFD_DOUBLEBUFFER | #PFD_DRAW_TO_WINDOW
pfd\iLayerType = #PFD_MAIN_PLANE
pfd\iPixelType = #PFD_TYPE_RGBA
pfd\cColorBits = 32
pfd\cDepthBits = 32
pixformat = ChoosePixelFormat_(hdc, pfd)
SetPixelFormat_(hdc, pixformat, pfd)
hrc = wglCreateContext_(hdc)
wglMakeCurrent_(hdc, hrc)
SwapBuffers_(hdc)
*p\container = container
*p\hWnd = GadgetID(container)
*p\hDC = hdc
glMatrixMode_(#GL_PROJECTION)
gluPerspective_(45, 1, 0.1,1000.0)
glMatrixMode_(#GL_MODELVIEW)
glEnable_(#GL_ALPHA_TEST)
glAlphaFunc_(#GL_GREATER, 0.0)
glShadeModel_(#gl_smooth)
glClearColor_( 0.0, 0.5, 1.0, 0.0)
glClearDepth_(1.0)
glEnable_(#GL_DEPTH_TEST)
glDepthFunc_(#gl_lequal)
glHint_(#gl_perspective_correction_hint,#gl_nicest)
glEnable_ (#GL_COLOR_MATERIAL)
glEnable_(#GL_TEXTURE_2D)
ProcedureReturn 1
EndIf
EndIf
EndProcedure