Presentation is loading. Please wait.

Presentation is loading. Please wait.

G3D Design Goals C++ library of code common to every 3D project Write once, compile everywhere Safe and fast Prototype a game in one week Maximize flexibility.

Similar presentations


Presentation on theme: "G3D Design Goals C++ library of code common to every 3D project Write once, compile everywhere Safe and fast Prototype a game in one week Maximize flexibility."— Presentation transcript:

1 G3D Design Goals C++ library of code common to every 3D project Write once, compile everywhere Safe and fast Prototype a game in one week Maximize flexibility

2 Architecture Application Framework Hardware Renderin g 3D Math NetworkFile System Data Struct. CPUGPU OSOpenGL Your Program

3 Transparency Example G3D::Texture: Independent of other rendering classes fromGLID(), openGLID() invertY

4 Key Design Decisions Reference counting memory management No scene graph (i.e., no Entity, Model) No boost zlib, libpng, libjpeg, ODE

5 G3D Programmable Pipeline Pixel Processo r Vertex Processo r Rasterize r Output Merger CPU Shader, ArgList Texture RenderDevice::setBlendFunc, setAlphaTest, setStencilTest, setStencilFunc, setDepthTest VAR Framebuffer Display

6 Alternative Designs Proposed DesignWhy Rejected? Java Performance, OpenGL integration, user base No RenderDevice Need GL abstraction to minimize state changes Bohm Collector Performance concerns, complicates API, runtime compatibility libSDL for Windowing LGPL concerns, requires extra DLL on Win32 wxWidgets Requires major build system integration, no UI inside 3D


Download ppt "G3D Design Goals C++ library of code common to every 3D project Write once, compile everywhere Safe and fast Prototype a game in one week Maximize flexibility."

Similar presentations


Ads by Google