DXUT框架剖析(10)
管理DXUT框架的函数
函数
描述
DXUTResetFrameworkState
将框架状态重置为初始默认状态,之前设置的框架状态改变将失效。
DXUTShutdown
触发程序终止和清空框架
DXUTGetExitCode
获取框架的退出代码
DXUTResetFrameworkState
Resets DXUT state to its initial default state. All previous DXUT state changes are lost.
VOID DXUTResetFrameworkState() ;
Parameters
None.
Return Values
No return value.
Remarks
This function does not normally need to be called. It is useful for testing purposes because the application process does not have to be restarted to reset DXUT back to its initial state.
DXUTShutdown
Triggers program termination and DXUT cleanup.
VOID DXUTShutdown(
int nExitCode
) ;
Parameters
- nExitCode
- [in] The exit code returned via the DXUTGetExitCode function. The default value is 0
Return Values
No return value.
Remarks
It is not necessary for the application to call this function, since the application lifespan is handled by DXUT. However, the application can call this function to cleanly terminate the application process.
DXUTGetExitCode
Get DXUT exit code.
INT DXUTGetExitCode() ;
Parameters
None.
Return Values
A DXUT exit code, which will be one of the following possible values.
Value
Description
0
Successful execution.
1
An undetermined error occurred.
2
No Direct3D device could be found with the specified device settings.
3
A media file could not be found.
4
The Direct3D device has a non-zero reference count, meaning that some objects were not released.
5
An error occurred when attempting to create an Direct3D device.
6
An error occurred when attempting to reset an Direct3D device.
7
An error occurred in the device creation callback function.
8
An error occurred in the device creation callback function.
9
The incorrect version of Direct3D or D3DX is installed.
10
The last device used upon exit was a REF device type.
11
The device was removed.
Remarks
The return value of this function is typically used in the application as the return code of the application's WinMain function. Command-line tests can then be performed on applications using this return code.
The following is an example of command-line usage that uses DXUT exit code:
start /wait BasicHLSL.exe
echo %errorlevel%
检索Direct3D变量的函数
函数
描述
DXUTGetD3DObject
获取一个指向IDirect3D9对象的指针
DXUTGetD3D9Device
获取一个指向代表当前设备的IDirect3DDevice9接口指针
DXUTGetDeviceSettings
获取用来创建当前设备的结构体DXUTDeviceSettings
DXUTGetPresentParameters
获取当前设备的提交(presentation)参数
DXUTGetD3D9BackBufferSurfaceDesc
获取一个指向当前设备后台缓冲区表面的D3DSURFACE_DESC结构体的指针
DXUTGetD3D9DeviceCaps
获取一个指向当前设备的D3DCAPS9结构体的指针
DXUTGetD3DObject
Get a pointer to the IDirect3D9 object.
IDirect3D9 * DXUTGetD3DObject() ;
Parameters
None.
Return Values
Pointer to the IDirect3D9 object. NULL is returned if no IDirect3D9 object has been created. See Remarks.
Remarks
This function exposes access to a global IDirect3D9 object. The reference count on this object interface is not incremented, so a calling function should not release the IDirect3D9 interface pointer returned by this function.
DXUTGetDeviceSettings
Get the DXUTDeviceSettings structure used to create the current device.
DXUTDeviceSettings DXUTGetDeviceSettings() ;
Parameters
None.
Return Values
DXUTDeviceSettings structure used to create the current device.
Remarks
This settings structure can describe either a Direct3D 9 device or a Direct3D 10 device as defined the structure's DXUTDeviceVersion member.
If no device exists, then the DXUTDeviceSettings structure is filled with zeros.
DXUTGetPresentParameters
Get the presentation parameters of the Direct3D 9 device.
D3DPRESENT_PARAMETERS DXUTGetPresentParameters() ;
Parameters
None.
Return Values
The presentation parameters of the Direct3D 9 device.
Remarks
If no Direct3D 9 device exists, then the D3DPRESENT_PARAMETERS structure is filled with zeros.
DXUTGetD3D9BackBufferSurfaceDesc
Get a pointer to a D3DSURFACE_DESC surface description of the current Direct3D 9 back buffer.
CONST D3DSURFACE_DESC * DXUTGetD3D9BackBufferSurfaceDesc() ;
Parameters
None.
Return Values
Pointer to a D3DSURFACE_DESC surface description of the current Direct3D 9 back buffer.
Remarks
If no Direct3D 9 device exists, then the D3DSURFACE_DESC structure is filled with zeros.
DXUTGetD3D9DeviceCaps
Get a pointer to the D3DCAPS9 capabilities of the current device.
CONST D3DCAPS9 * DXUTGetD3D9DeviceCaps() ;
Parameters
None.
Return Values
Pointer to the D3DCAPS9 capabilities of the Direct3D 9 device.
Remarks
If no Direct3D 9 device exists, then the D3DCAPS9 structure is filled with zeros.