D3D Dynamic Lighting
This code sample is named tut04_lights. It is the fourth in a series of tutorials on using Direct3D Mobile. It demonstrates 3D rendering with dynamic lighting.
- D3DMLIGHTTYPE enumeration
- D3DMLIGHT structure
- IDirect3DMobileDevice::SetLight function
- IDirect3DMobileDevice::LightEnable function
To run the code sample
Navigate to the solution file (*.sln), and double-click it. By default, the solution file is copied to the following folder:
C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\directx\d3dm\tutorials\tut04_lights
Microsoft Visual Studio 2005 launches and loads the solution.
Build the solution (Ctrl+Shift+B).
Deploy the solution (F5).
The tut04_lights code sample is an extension of tut03_matrices.
To use lighting in Direct3D Mobile, you must create one or more "lights," setup a "material," and make sure the geometry contains "surface normals."
Lights can have position, color, and be of a certain type such as directional (light comes from one direction) or point (light comes from a specific x, y, z coordinate and radiates in all directions).
Materials describe the surface of the geometry — specifically, how it gets light (diffuse color, ambient color, etc.).
Surface normals are part of a vertex, and are needed for the Direct3D Mobile's internal lighting calculations.
Pocket PC SDK: Windows Mobile 6 Professional SDK
Development Environment: Visual Studio 2005.
ActiveSync: Version 4.5.