tg-shadow3

Description

This program shows an example of complicated full-scene shadow generation. This demo uses depth buffer-based method, which can also produce self-shadowing effect. (For details, see the Algorithm Details section.)

Coverage

This list doesn't contain settings for drawing other than full-scene shadows.

Functions Parameters Description
GXLoadTexMtxImm Matrices appropriate projection mtx
matrix destination GX_TEXMTX0, GX_TEXMTX1
Types GX_MTX3x4
GXSetNumTexGens number of texgens 2
GXSetTexCoordGen destination coord GX_TEXCOORD0, GX_TEXCOORD1
texgen type GX_TG_MTX3x4
texgen src GX_TG_POS
mtx src GX_TEXMTX0, GX_TEXMTX1
GXInitTexObj Pointer to image data. Appropriate.
width / height some constant values
Format GX_TF_RGBA8
wrap mode(s, t) GX_CLAMP
mipmap Always GX_FALSE.
GXLoadTexObj Destination texture name. GX_TEXMAP0, GX_TEXMAP1
GXInvalidateTexAll (no parameter)
GXSetTexCopySrc top / left / width / height some constant values
GXSetTexCopyDst width / height some constant values
Format GX_TF_Z24X8
mipmap filter GX_FALSE
GXCopyTex Pointer to image data. Appropriate.
clear operation GX_TRUE
GXSetNumTevStages number of TEV stages 3 (for 8bit compare mode),
5 (for 16bit compare mode)
GXSetTevOrder each argument see algorithm details
GXSetTevColorIn each argument see algorithm details
GXSetTevColorOp each argument see algorithm details
GXSetTevAlphaIn each argument see algorithm details
GXSetTevAlphaOp each argument see algorithm details
GXSetTevColor tev color register GX_TEVREG0, GX_TEVREG2
color value Appropriate.
GXSetCullMode culling mode GX_CULL_FRONT, GX_CULL_BACK
GXSetColorUpdate color update mode GX_ENABLE / GX_DISABLE.
GXPixModeSync (no parameter)

Operation Method

The Menu button exits the test.

The main stick moves camera position.
The sub stick moves light position.

The A button changes display modes.
The B button switches the shadow projection type (perspective/orthographic).
The Y button changes the size of shadow map.

Snapshot

tg-shadow3-00.jpg (56135 bytes)

Required Data Files

None.

Algorithm Details

See Section "7.1 Depth-Based Full-Scene Shadow Mapping" in "Graphics Library [Application Edition]."

Revision History

03/01/2006 Initial version.