D3D Dynamic Lighting
8/28/2008
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.
Feature Area
Relevant APIs
- D3DMLIGHTTYPE enumeration
- D3DMLIGHT structure
- IDirect3DMobileDevice::SetLight function
- IDirect3DMobileDevice::LightEnable function
Usage
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).
Remarks
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.
Development Environments
Pocket PC SDK: Windows Mobile 6 Professional SDK
Development Environment: Visual Studio 2005.
ActiveSync: Version 4.5.
See Also
Reference
Concepts
Code Samples for Windows Mobile
D3D Create Device
D3D Vertices
D3D Matrices
D3D Texture Mapping
D3D Fixed Point Data