Contents Functions Classes Topics User Forum CVS

G3D Manual

version 6.10 2006-07-18

G3D.jpg

Welcome

G3D is a commercial-grade 3D Engine available as Open Source (BSD License). It is used in games, tech demos, research papers, military simulators, and university courses. It provides a set of routines and structures so common that they are needed in almost every graphics program. It makes low-level libraries like OpenGL and sockets easier to use without limiting functionality or performance. G3D gives you a rock-solid, highly optimized base from which to build your application.

G3D does not contain scene graph or GUI routines. Because of this, you have much more flexibility in how you structure your programs. The tradeoff is that you have to know more about 3D programming. G3D is intended for users who are already familiar with C++ and DirectX or OpenGL. Several good GUI libraries exist and we recommend using one with G3D if your project has extensive UI needs.

This manual begins with a Tutorial and Application Framework that help programmers who know C++ but are either new to 3D or starting without a base of 3D code get up and running quickly. The demos directory also contains a starter main.cpp for the application framework (it is how the G3D developers usually start a new project in their own work).

The library also provides lower-level interfaces that programmers who are already working with OpenGL and existing code may prefer. See the Notes for Expert Users at the end of this chapter for more information.

Table of Contents

This is the first release of the library to include this overview manual, and not all sections are complete. However the individual entry points of the library are extensively documented and new overview content will arrive with each point release.

ChapterTopics

Introduction Documentation and Support, Platform and Functionality, Design Philosophy, Data Formats, Team, Working With Other Libraries, Release Schedule, Beta and Deprecated APIs, Notes for Expert Users

License (BSD/IJG) The appropriate licenses for G3D and dependencies.

Installing G3D WindowsXP/2000, Linux, OS X, Building the Library, #defines

Compiling and Linking with G3D Guides to compilation of G3D based programs and projects.

Concepts Immediate Mode Graphics, Coordinate Systems, Reference Counting, STL, Layerd APIs, Data Directory

Tutorial The G3D tutorial, an excellent place to start with G3D.

Debugging Debugging in a G3D Application.

Application Framework Applets, Models, Selection, FPS Controls

Using OpenGL with G3DHow to use raw OpenGL commands with G3D

Networking with G3DUsing the network interfaces of G3D

Vertex Arrays Creating, managing, and rendering from vertex arrays (video memory)

Working with Meshes Building meshes, Loading from disk, Mesh algorithms,

User InputHow to manage User Input in a G3D Application.

Files & Networks File Management, Text Files, Binary Files, Network, Images, Models

Physics and Ray Tracing Physics, Ray Tracing, Bounding Volumes, BSP Tree

Collision Detection Collision Detection, Object Intersection

Effects Cartoon Rendering, Shadows, Reflections

Shaders Supported Languages, Tools, Sample Shaders

Framebuffer Object Tutorial on using framebuffer objects.

Video in G3D Gudie to using the video support within G3D

Deprecated APIs to be removed in 7.0
Change Log Changes between G3D Releases
General FAQ General Frequently Asked Questions
Error FAQ Frequently Asked Questions (Common Errors)
G3D Contributors The G3D Team, past and present
Index: By Topic | Alphabetic Classes and Functions | Frequently Used (bookmark this!)


Manual and Library source code

Copyright 2004-2006, Morgan McGuire.

All rights reserved.


Generated on Mon Jul 17 11:50:40 2006 for G3D by doxygen 1.4.5
Hosted by SourceForge.net Logo