G3D Demos

# G3D Sample Demo

## Location

`$NitroSystem/build/demos/g3d`

## Compilation

Move to the `$NitroSystem/build/demos/g3d` and run

> `% make`

Executable (`.nef`, `.srl`) files will be generated in

> `$NitroSystem/build/demos/g3d/samples/sample_name/bin/platform/target/`

For example:

> `$NitroSystem/build/demos/g3d/samples/simple/bin/ARM9-TS/Release/`

## Execution

Navigate to the `$NitroSystem/build/demos/g3d/samples/sample_name/bin/platform/target/` directory and perform one of the following:

- Execute `*.srl` with ensata.
- Load and execute a `*.nlf` file with IS-NITRO-DEBUGGER.
- Execute a `*.srl` file with IS-NITRO-DEBUGGER.

## Description

#### Sample

`simple` | A simple sample that displays textured model rendering.
`1mat1shp` | A sample that displays quickly a very simple model.
`callback1` | A sample that allows customization to rendering processes using callback function registration.(1)
`callback2` | A sample that allows customization to rendering processes using callback function registration.(2)
`callback3` | A sample that allows customization to rendering processes using callback function registration.(3)
`callback4` | A sample that allows customization to rendering processes using callback function registration.(4)
`callback5` | A sample that allows customization to rendering processes using callback function registration.(5)
`CameraMtx` | This sample displays billboards. The sample also changes the projection matrix settings and compares drawing efficiency.
`CustomizeSbcOp` | This sample changes the SBC command processing functions to the functions customized by the user.
`DisposeTex` | This sample performs operations with no problems even if the texture regions have been reset to zero after the model textures have been transferred to the VRAM.
`Envelope` | A sample that displays a model that has a weighted envelope.
`GeComBuffering` | This sample uses the geometry command buffering feature.
`JointAnm` | This sample plays model joint animation.
`PartialAnm1` | This sample plays a portion of the model joint animation.
`PartialAnm2` | This sample combines and plays portions of the model joint animation.
`SlowMotion` | This sample plays the model joint animation in slow motion.
`SharedMotion` | This sample plays the same joint animation with models of different shapes.
`ManualSetup` | A sample that sets up the model resource without using `NNS_G3dResDefaultSetup`.
`MatColAnm` | A sample that plays the material color animation.
`ModifyNsbmd` | This sample changes the model's material color and light settings.
`MotionLOD` | A sample that reduces CPU processing by decreasing the frame rate of the character animation that is placed in the distance.
`MultiModel` | This sample merges several models using a converter and draws the result.
`RecordJoint` | A sample that precalculates the result of the joint.
`RecordMaterial` | A sample that precalculates the result of the material.
`RecordMtx` | This sample operates in the same way as the callback2 sample but without using callback.
`SeparateTex` | This sample splits and outputs model and texture binary with a converter and displays them with appropriate links.
`ShadowVolume` | A sample that draws the shadow volume using G3D.
`TexPatternAnm` | A sample that plays the texture pattern animation.
`TexSRTAnm` | A sample that plays the texture SRT animation.
`UnbindTex` | This sample partially removes textures in the model and reapplies them.
`VisibilityAnm` | This sample plays visibility animation.
`ScreenUtil` | This sample uses the coordinate conversion utility API of G3D.
`Translucent` | This sample draws an object that has overlapping translucent polygons.
`EnvMap` | This sample displays objects mapped to the environment.
`ProjMap` | This sample displays objects mapped to projection.

## Operating Environment

Normal operation for all of the samples using the IS-NITRO-EMULATOR and ensata have been confirmed.

## See Also

`G3D Function List`

## Revision History

01/24/2005 Deleted the description of IS-NITRO-EMULATOR in the Execution section, deleted the description of TEG in the Operating Environment section, and changed TS to IS-NITRO-EMULATOR
01/21/2005 Added two samples: `EnvMap` and `ProjMap`
11/26/2004 Added `Translucent` sample
11/10/2004 Added five samples: `PartialAnm1`, `PartialAnm2`, `SlowMotion`, `SharedMotion`, and `ScreenUtil`
10/12/2004 Added five samples: `callback5`, `Envelope`, `ManualSetup`, `RecordMtx`, and `ShadowVolume`
09/16/2004 Added two samples: `callback4` and `MotionLOD`
09/01/2004 Added three samples; `1mat1shp`, `callback3`, and `GeComBuffering`.
08/10/2004 Added some samples.
08/02/2004 Initial version.