|
This page lists the most commonly used G3D APIs grouped into functional tasks:
Boldface links designate the most common and easy-to-use features. Not all API entry points are shown in this index.
| | |
| GuiWindow | Skinnable GUI (documentation contains GUI sample code) |
| GuiPane | Container and creator of other GUI controls; obtained from a GuiWindow |
| GEvent, GEventType | Event class and type enum, used inside an event handler |
| UserInput | Pollable keyboard, mouse, and joystick state used inside an event handler |
| GApp::onEvent, GApp::onUserInput | Overridable event handlers |
| GFont | Explicitly render text |
| GuiButton, GuiCheckBox, GuiDropDownList, GuiSlider, GuiRadioButton, GuiLabel, GuiTextBox | GUI controls created by GuiPanel |
| Widget | |
| PosedModel2D | 2D object scene graph, used by Widgets for rendering |
| Manipulator | |
| msgBox | Create a new OS window popup message |
| | |
| Sky | Skybox, moon, sun, and stars |
| IFSModel | Rigid body |
| ArticulatedModel | Rigid bodies connected by joints, loads 3DS and IFS models |
| BSPMap | Quake 3 map |
| MD2Model | Quake 2 character |
| PosedModel | Static object that is prepared for rendering. Exposes geometry and adjacency information |
| GCamera | Pinhole perspective camera abstraction |
| Shape | Geometric primitives primarily used for bounding volumes and debugging |
Shadow rendering algorithms first determine shadowed locations, and then paint ambient illumination everywhere, and finally add illumination only in non-shadowed areas. There are two major algorithms for determining the shadowed locations in real-time, shadow volumes and shadow maps. G3D supports both, on programmable and fixed function hardware.
| | |
| Draw::rect2D | Stretch a Texture over a rectangle on screen |
| Texture | GPU image representation |
| Framebuffer | An "off-screen" rendering surface used for image processing on the GPU |
| Image3 | RGB floating point image |
| Image1 | Monochrome floating point image |
| Image4 | RGBA floating point image |
| Image1uint8 | 8-bit Monochrome image |
| Image3uint8 | 24-bit RGB image |
| Image4uint8 | 32-bit RGBA image |
| Color1, Color3, Color4 | Floating-point monochrome, RGB, and RGBA color (no clamping) |
| Color1uint8, Color3uint8, Color4uint8 | 8-bit Monochrome, 24-bit RGB, and 32-bit RGBA color (clamped to 0-1 / 0-255) |
| GImage | Fast but harder to use mono-8, RGB-24, or RGBA-32 image |
| Map2D | Templated image class, e.g., for creating normal maps or arbitrary grids of values |
| WrapMode | Specifies how out-of-bounds image locations are treated for Texture, Map2D, and Image classes |
| gaussian1D | Generate 1D blur filter coefficients |
| GaussianBlur | Fast GPU 1D blur |
| ToneMap | Gamma correct, adaptation, and bloom for realistic lighting |
| | |
| beginsWith, endsWith |
|
| format | Convert numbers to strings (a safe sprintf)
|
| isSlash, isWhiteSpace, isDigit, isNewline, isLetter, isQuote |
|
| stringSplit, stringJoin |
|
| toUpper, toLower | Change case
|
| trimWhitespace | Remove blanks at the beginning and end of a string
|
| STR | Macro for creating large blocks of quoted text, usually used with G3D::Shader
|
| TextInput(TextInput::FROM_STRING, ...) | Tokenizer for parsing complex strings |
| | |
| BinaryInput, BinaryOutput | |
| TextInput, TextOutput | |
| getFiles, getDirs | Get a directory listing, including wildcards |
| readWholefile, writeWholeFile | |
| Any | Can hold any common value and read/write tables of named values. Very useful for making configuration files |
| copyFile | |
| createTempFile |
|
| filenameContainsWildcards, filenameBaseExt, filenameExt, filenamePath, parseFilename | Filename parsing and manipulation |
| isDirectory, fileIsNewer, fileExists, fileLength | File testing and comparison |
Ray tracing and physical simulation both compute intersections between geometric primitives. G3D distinguishes between "moving" collision detection, where two objects are moving with relative constant velocity; and "fixed" detection where where the relative velocity of the objects is zero. The two problems are related. A "moving point" is the same as a fixed ray, a "moving sphere" is a fixed capsule, and so on. Thus for ray tracing one often uses "moving point" collision detection instead of rays (which is reasonable, since ray tracing simulates photons moving around a scene).
| | |
| CollisionDetection | Moving and fixed collisions between many kinds of primitives |
| Ray, Sphere, Plane, Box, AABox, Triangle, Plane, Line, Cylinder, Capsule, Shape | Geometric primitives |
| MeshAlg | Routines for operating on triangle meshes |
| AABSPTree | Axis-aligned binary space partition tree for O(log n) collision detection |
| PointAABSPTree | AABSP tree optimized for zero-extent objects. Primarily used as a photon map |
| GCamera::worldRay | Obtain the ray through a pixel |
| Image3, Image4 | Useful for software rendering output and texture maps |
| Vector3::reflectionDirection, Vector3::refractionDirection | |
See also the Networking Overview.
Generated on Thu Aug 2 11:40:43 2007 for G3D by
1.5.2
Hosted by
|