APIs at the top of this page are the highest-level, providing the most functionality but also requiring the most dependencies.
Each section builds on the next lower one, with the most basic standalone routines at the bottom.
You can use any API level independently. For example, interaction prototyping might target the Application Framework for the support of full game engine, while shader tuning might be best done directly on the Graphics API Abstraction layer.
Bold items are the ones used most frequently.
Application | GApp, GApp::Settings,
|
AR/VR | EmulatedGazeTracker, EmulatedXR, VRApp
|
3D UI | ControlPointEditor,
FirstPersonManipulator, Manipulator, PhysicsFrameSplineEditor, ThirdPersonManipulator, UprightSplineManipulator, Widget, WidgetManager, GameController
|
Scene Graph | Camera, Entity, Entity::Track, Light, MarkerEntity, Scene, SceneVisualizationSettings, Skybox, SoundEntity, VisibleEntity, ParticleSystem, XRWidget,
|
3D Models | ArticulatedModel (see also OBJ MTL and ArticulatedModel::Specification), BSPMap, debugDraw, debugDrawLabel, GFont, HeightfieldModel, Shape (ArrowShape, AxesShape,BoxShape, CylinderShape, CapsuleShape, MeshShape, PlaneShape, RayShape, SphereShape, TriangleShape), FontModel, MD2Model, MD3Model, Model, ParticleSystemModel, PointShape, PointModel, VoxelModel
|
Visual Effects | AmbientOcclusion, AmbientOcclusionSettings, BilateralFilter, DepthOfField, DepthOfFieldSettings, Film, FilmSettings, GaussianBlur, MotionBlur, MotionBlurSettings, TemporalFilter
|
2D User Interface | ArticulatedModelSpecificationEditorDialog CallbackWidget, CameraControlWindow,
ControlPointEditor,
DeveloperWindow, EventCoordinateMapper, FileDialog, FullScreenWidget, GConsole, GuiContainer, GuiControl, GuiControl::Callback,
GuiCheckBox, GuiButton, GuiDropDownList, GuiFunctionBox, GuiLabel, GuiMenu, GuiNumberBox, GuiPane, GuiRadioButton, GuiTabPane, GuiTheme, GuiScrollPane, GuiSlider, GuiText, GuiTextBox, GuiMultiLineTextBox, GuiTextureBox, GuiWidgetDestructor, GuiWindow, Icon, IconSet, QRcode_encodeString, screenPrintf, SceneEditorWindow, TextureBrowserWindow, VideoRecordDialog |
GLSL Routines | Simple math routines, Polygon clipping, HLSL compatibility, Bicubic filtering, Screen-space ray tracing, Reverse reprojection, Depth buffer, Depth peeling, Octahedral projection, Color gradients, Noise and Hash functions |
API Abstraction | Args, BufferTexture, CPUVertexArray, DepthEncoding, DXCaps, Framebuffer, GLCaps, GLPixelTransferBuffer, Milestone, Profiler, BEGIN_PROFILER_EVENT, END_PROFILER_EVENT, RenderDevice, Texture, AttributeArray, VertexBuffer, Sampler, BindlessTextureHandle, Shader, Shader preprocessor, UniformTable, LAUNCH_SHADER, LAUNCH_SHADER_PTR, G3D_MIN_OPENGL_VERSION
|
AR/VR | GazeTracker, MonitorXR, OpenVR, XR
|
Windowing | GEvent, GEventType, GKey, GLFWWindow, JoystickIndex, OSWindow, UserInput
|
OpenGL-Specific Helpers | debugAssertGLOk, DECLARE_GLFORMATOF, getOpenGLState, glCanBeIndex, glClipToBox, glColor, glDisableAllClipping, glDisableAllTextures, glGetCurrentContext, glGetProcAddress, glGetInteger, glGetBoolean, glGetDouble, glGetFloat, glGetMatrix, glLoadMatrix, glLoadInvMatrix, glMakeCurrent,
glMultInvMatrix, glMultMatrix, glMutliTexCoord, glNormal, glTexCoord, glToScreen, glVertex, sizeOfGlFormat, glIsNormalizedFixedPoint, glFormatOf, GLenumToString |
Audio | AudioChannel, AudioDevice, Sound |
Geometry | AABox, AABox2D (Rect2D), Box, Box2D, Capsule, CompassDelta, CompassDirection, CollisionDetection, Cone, ConvexPolygon, ConvexPolygon2D, ConvexPolyhedron, CoordinateFrame, CFrame (CoordinateFrame), CullFace, Cylinder, FOVDirection, Frustum, float16, Intersect, Line, LineSegment, LineSegment2D, MeshAlg, MeshAlg::Geometry, MeshBuilder, Quat, Pathfinder, PathDirection, PhysicsFrame (PFrame), PhysicsFrameSpline, Plane, Point2, Point2int16, Point2uint16, Point2int32, Point2uint32, Point3, Point3int16, Point3int32, Projection, PrecomputedRay, Ray, RayGridIterator, RealTime, Rect2D, Sphere, Spline, SplineInterpolationMode, SplineExtrapolationMode, Triangle, tesselateComplexPolygon, UprightFrame, UprightSpline, Welder
|
Linear Algebra | Matrix, Matrix2, Matrix3, Matrix4, Matrix4float64, Matrix3x4, Matrix2x3, Vector2, Vector2int16, Vector2uint16, Vector2unorm16, Vector2int32, Vector2uint32, Vector3, Vector3uint8, Vector3int16, Vector3int32, Vector4, Vector4int8, Vector4int16 Vector4uint16
|
Radiometry | Biradiance, Biradiance3, Color1, Color1unorm8, Color2unorm8, Color3, Color3unorm8, Color4, Color4unorm8, Energy3, Power, Power3, Radiance, Radiance3, Radiosity, Radiosity3, Irradiance, Irradiance3, Surfel
|
Integer math | BIN8, BIN11, BIN16, BIN32, ceilPow2, highestBit, iAbs, iCeil, iClamp, iWrap, iFloor, iMax, iMin, int8, in16, int32, int64, isPow2, isOdd, isEven, iSign, iRound, roundStochastically, snorm8, snorm16, uint8, uint16, uint32, uint64, uint128, unorm8, unorm16, pow2
|
Floating point | abs, aCos, aSin, aTan, aTan2, clamp, cyclicCatumullRomSpline, float32, float64, fract, fuzzyEq, fuzzyNe, fuzzyGt, fuzzyGe, fuzzyLt, fuzzyLe, fuzzyEpsilon32, fuzzyEpsilon64, hammersleySequence2D, HaltonSequence, lerp, lerpAngle, linearSpline, log2, sign, rsq, min, max, nextMod3, Noise, Random, PrecomputedRandom, square, squareMagnitude, sinc, sumSquares, distance, toRadians, toDegrees, isNaN, isFinite, inf, nan, wrap, pi, halfPi, rsqrt, smoothstep, smootherstep, signedPow twoPi
|
String | alphabeticalIgnoringCaseG3DFirstLessThan, beginsWith, buildPrefixTree, endsWith, findSlash, findSlash, format, greatestCommonPrefix isSlash, isWhitespace, isDigit, isNewline, isLetter, isQuote, license, maxNotNPOS, parseCommaSeparated, vformat, wordWrap, stringCompare, stringptrCompare, stringSplit, stringJoin, toUpper, toLower, NEWLINE, String, trimWhitespace, STR
|
Data structures | Any, AnyTableReader, Array, categorizeByDerivedType, DepthFirstTreeBuilder, FastPointHashGrid, FastPODTable, Grid, isNull, ignoreInt, ignoreFloat, ignoreDouble, ignoreString, KDTree, notNull, PercentageAdapter, PowerOfTwoAdapter, PrefixTree, SquareAdapter, NotAdapter, OrderedTable, PARSE_ANY, Pointer, PointHashGrid, PointKDTree, lazy_ptr, Queue, Set, SmallArray, SmallTable, Table, ThreadsafeQueue, TimeQueue, ReferenceCountedObject, WeakCache
|
Images and Video | BufferUnmapper, BumpMapPreprocess, CPUPixelTransferBuffer, CubeFace, CubeMap, CubeMapConvention, Image, PixelTransferBuffer, ImageConvert, ImageFormat, Map2D, gaussian1D, VideoInput, VideoOutput, VideoStreamServer, VideoStreamClient, WrapMode
|
Debug | alwaysAssertM, debugAssert, debugAssertM, describeSystem, isValidHeapPointer, isValidPointer setConsolePrintHook, consolePrintHook, consolePrint, consolePrintf, debugPrintf, logPrintf, Log, setAssertionHook, setFailureHook
|
Hash Functions | Crypto, MD5Hash, superFastHash, wangHash6432Shift, HashTrait
|
Utilities and Constants | AlphaFilter, DoNotInitialize, MirrorQuality, PrimitiveType, RefractionHint,
ResampleFilter, enumToJavaScriptDeclaration, G3D_DECLARE_ENUM_CLASS(), G3D_DECLARE_ENUM_CLASS_METHODS(), G3D_DECLARE_ENUM_CLASS_HASHCODE(), G3D_BEGIN_ENUM_CLASS_DECLARATION(), G3D_END_ENUM_CLASS_DECLARATION()
|
Units | In the units namespace: toSeconds, nanometers, micrometers, millimeters, centimeters, meters, kilometers, inches, feet, yards, miles, radians, degrees, nanoseconds, milliseconds, seconds, minutes, hours, days, years |