Renderworld seems to work once, then errors
SuperStrict
Import sidesign.minib3d
Import MaxGui.Drivers
'?Not win32 'Uncomment (3-lines) when using multiple canvases and BMax 1.32b and up
'GLShareContexts
'?
SetGraphicsDriver GLGraphicsDriver(),GRAPHICS_BACKBUFFER|GRAPHICS_DEPTHBUFFER
'SetGraphicsDriver(GLMax2DDriver())
'Graphics3D(800,600,0,2,60)
Global Camera:TCamera
Global Cube:TMesh
Global Light:TLight
Global Initialized:Int = 0
'End Of external Header File
Global Timer1:TTimer
Timer1:TTimer = CreateTimer:TTimer( 16 )
Global Canvas1:TGadget
Local Window1:TGadget = CreateWindow:TGadget("Window1",583,139,587,433,Null,WINDOW_TITLEBAR|WINDOW_CLIENTCOORDS |WINDOW_CENTER)
Canvas1:TGadget = CreateCanvas:TGadget(0,0,587,433,Window1:TGadget,Null)
ActivateGadget( Canvas1:TGadget )
SetGadgetLayout( Canvas1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE
Select EventSource()
Case Window1 Window1_WC( Window1:TGadget )
End Select
Case EVENT_MOUSEDOWN
Select EventSource()
Case Canvas1 Canvas1_MD( Canvas1:TGadget , EventData() , Window1:TGadget )
End Select
Case EVENT_GADGETPAINT
Select EventSource()
Case Canvas1 Canvas1_GP( Canvas1:TGadget )
End Select
Case EVENT_TIMERTICK
Select EventSource()
Case Timer1 Timer1_Timer( Timer1:TTimer )
End Select
End Select
Forever
Function Window1_WC( Window:TGadget )
DebugLog "Window Window1 wants to be closed"
End
End Function
Function Canvas1_MD( Canvas:TGadget , MouseButton:Int , Window:TGadget=Null )
DebugLog "Canvas Canvas1 detected Mouse Button "+ MouseButton +" pressed down"
End Function
Function Canvas1_GP( Canvas:TGadget )
DebugLog "Canvas Canvas1 needs to be redrawn"
SetGraphics CanvasGraphics ( Canvas )
'SetViewport 0,0,GadgetWidth( Canvas ),GadgetHeight( Canvas )
RenderWorld
Flip
'Cls
End Function
Function Timer1_Timer( Timer:TTimer )
DebugLog "Timer Timer1 ticked"
If Initialized =0
Initialized =1
SetGraphics CanvasGraphics(Canvas1)
camera=CreateCamera()
CameraViewport(camera,0,0,ClientWidth(Canvas1),ClientHeight(Canvas1))
CameraRange camera,.1,1000
CameraZoom camera,1.5
CameraClsColor camera,0,0,0
MoveEntity(Camera,0,0,-8)
cube=CreateCube()
Light=CreateLight()
EndIf
UpdateWorld
RedrawGadget(Canvas1)
End Function
|