| Ncopakond | PGR Semestral work with sample scenes and bowling. doxygen was generated with a help of LLM |
| CBezier | Bezier curve spline implementation |
| CCatmullRoll | Catmull-Rom spline implementation |
| CSpline | Base class for parameterized spline animations |
| CCamera | Camera for generating view and projection matrices |
| CGeometry | Base class for all spatial objects, serving as a node in the scene graph |
| CMaterial | Defines surface properties and texture maps for rendering a mesh |
| CFog | Simple linear fog parameters |
| CLightUniforms | Caches shader uniform locations for a specific light instance to avoid repeated lookups |
| CLight | Base class for scene lighting calculations |
| CDirectionalLight | |
| CPointLight | |
| CSpotLight | |
| CCollisionBox | Oriented Bounding Box (OBB) collider |
| CCollisionResult | Container for collision response data |
| CCollisionDetector | Static utility class implementing intersection math (SAT, Sphere overlap) |
| CPhysicsMaterial | Physical properties affecting collision resolution |
| CCollisionShape | Base class for physics colliders, acting as an invisible (or debug) mesh |
| CCollisionSphere | Spherical collider, optimized for fast radius-based intersection tests |
| CRigidBody | Kinematic object affected by gravity, friction, and collision resolution |
| CRigidSphere | Kinematic sphere that automatically rolls based on its horizontal velocity |
| CImageLabel | Static 2D image plane, implemented as a paused 1-frame image sequence |
| CImageMoving | 2D plane with an animated (scrolling) texture map |
| CImageSequenceLabel | 2D plane that plays an animation by cycling through a sprite sheet texture |
| CTextLabel | Dynamically generates 2D geometry to render text using a bitmap font atlas |
| CSubMesh | Represents a part of a mesh that uses a specific material |
| CMesh | Base drawable 3D object containing geometry and material data |
| CObjMesh | Mesh loaded from an external .obj file |
| CSkybox | Environmental background cube map with day/night cycle blending |
| CInput | Global input manager tracking keyboard states and mouse deltas |
| CMtlLoader | |
| CObjLoader | Parses Wavefront .obj files and extracts vertices, normals, UVs, and submeshes |
| CBowlingLightData | |
| CBowlingGame | Core logic manager handling bowling rules, scoring, and lane interactions |
| CBowlingScene | Main playable scene containing the bowling alley environment and game loop |
| CCollisionPin | Specialized sphere collider for bowling pins with custom fall physics |
| CInputControllerBowling | Bowling-specific player controller handling throwing mechanics and scene interactions |
| CSampleScene | Demonstration scene featuring a working procedural clock and basic physics interactions |
| CScene | Base class for all game scenes, managing lifecycle, rendering, and scene entities |
| CTemplateScene | Empty starter scene with initialized lighting, skybox, and a player controller |
| CController | Base interface for input handling and logic updates |
| CInputController | Handles player movement, camera perspective switching, and object interaction logic |
| CStateSaved | Stores a snapshot of object's transform for saving or undo operations |
| CLevelEditor | Runtime editor utility allowing the user to pick, move, and save mesh transformations |
| CShader | Core manager for shader program compilation, uniform binding, and rendering |