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.
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 CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\Directx\d3dm\tutorials\Tut04_lights\``tut04_lights.sln
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.
Requirements
Pocket PC SDK: Windows Mobile 5.0 Pocket PC SDK.
Development Environment: Visual Studio 2005.
ActiveSync: Version 4.0.
See Also
Code Samples | D3D Create Device (tut01_createdevice) | D3D Vertices (tut02_vertices) | D3D Matrices (tut03_matrices) | D3D Texture Mapping (tut05_textures) | D3D Fixed Point Data (tut06_fixedpoint)
Send Feedback on this topic to the authors