Syntax
dbSetD3DDeviceCallback(ProcAddress, CallbackType)
Description
This command can be used to set a callback function for events that the D3D device might experience during a failure. These callbacks can be used to back up important data stored in video memory before the device is reset and also to reload your program's data before the program continues. This command will not work after OpenDBWnd has been called.
The 'CallbackType' parameter can be any one of the following values:#GDK_Callback_DeviceLost : The D3D render device has been lost (backup your data here)
#GDK_Callback_DeviceNotReset : The D3D render device has not been reset
#GDK_Callback_DeviceReset : The D3D render device has been reset (restore your data here)Example:
; Show the PureGDK render window
hDBWnd=OpenDBWnd(0,0,640,480,32,#GDK_Window_SystemMenu|#GDK_Window_ScreenCentered)Procedure D3DDeviceLost()
; Backup your project data here
dbMessage("Info","D3DDeviceLost")
EndProcedureProcedure D3DDeviceReset()
; Reload your project data here
dbMakeObjectCube(1,3)
dbScaleObject(1,88,88,88)
dbColorBackdrop(RGB(Random(255),Random(255),Random(255)))
dbMessage("Info","D3DDeviceReset")
EndProceduredbSetD3DDeviceCallback(@D3DDeviceLost(),#GDK_Callback_DeviceLost)
dbSetD3DDeviceCallback(@D3DDeviceReset(),#GDK_Callback_DeviceReset)dbMakeObjectCube(1,3)
dbScaleObject(1,88,88,88)
dbColorBackdrop(RGB(0,0,0))Repeat: Delay(1)
x.f+0.1: y.f+0.4: z.f+0.7
dbRotateObject(1,x.f,y.f,z.f)
dbSync()
ForEver