How use Window3D
Posted: Sun Mar 16, 2025 10:15 am
Coming back to PB after a long hiatus. Tried the following code to see how a WIndow3D would work but could not get the 3d window to open. Obviously I have missed something. Any help greatly appreciated.
Code: Select all
If Not InitEngine3D()
MessageRequester("Error","Unable to initialise 3d Engine",#PB_MessageRequester_Ok|#PB_MessageRequester_Error)
EndIf
If Not InitSprite()
MessageRequester("Error","Unable to initialise sprite",#PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
InitKeyboard()
InitMouse()
win = OpenWindow(#PB_Any,0,0,1080,720,"My 3D Window",#PB_Window_SystemMenu | #PB_Window_ScreenCentered|#PB_Window_SizeGadget)
If Not win
MessageRequester("Error","Could not open window",#PB_MessageRequester_Ok|#PB_MessageRequester_Error)
EndIf
ButtonGadget(0,0,135,45,20,"Quit")
If Not OpenWindowedScreen(WindowID(win),0,0,1080,720,#True,0,0)
MessageRequester("Error","Could not open windowed screen",#PB_MessageRequester_Ok|#PB_MessageRequester_Error)
EndIf
win3d=OpenWindow3D(#PB_Any,50,50,640,480,"[color='ffffff00']A 3D Window",#PB_Window3D_SizeGadget)
If Not win3d
MessageRequester("Error","Could not open window3d",#PB_MessageRequester_Ok|#PB_MessageRequester_Error)
EndIf
Repeat
Repeat
event=WindowEvent()
Select event
Case #PB_Event_Gadget
If EventGadget()=0
End
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
Until event=0
FlipBuffers()
Delay(1)
ForEver