|
| struct | kAABB |
| | Axis-aligned bounding box (min/max in the same space). More...
|
| class | kAnimation |
| | Non-skeletal animation clip — collection of per-object tracks. More...
|
| class | kAnimator |
| | Controls playback of animation clips. More...
|
| class | kAssetManager |
| | Central asset-loading and cache manager. More...
|
| class | kAudio |
| | Represents a loaded audio clip that can be played, stopped, and positioned. More...
|
| struct | kAudioListener |
| | Marks a scene object as the audio listener (typically the main camera). More...
|
| class | kAudioManager |
| | Owns the miniaudio engine and acts as a factory for kAudio instances. More...
|
| struct | kAudioSource |
| | Describes an audio emitter attached to a scene object. More...
|
| class | kBone |
| | Represents one bone in a skeletal animation. More...
|
| struct | kBoneInfo |
| | Stores the per-bone offset matrix and its index in the palette. More...
|
| class | kCamera |
| | Scene-graph camera node. More...
|
| class | kCharacterController |
| | Runtime wrapper around a Jolt character. More...
|
| struct | kCharacterControllerDesc |
| | Editor-authored description of a character controller. More...
|
| class | kDriver |
| | Pure-virtual graphics driver interface. More...
|
| class | kFileByteStream |
| | Minimal file-backed asIBinaryStream for bytecode I/O. More...
|
| struct | kFontGlyph |
| | Glyph metrics for a single character in a bitmap font atlas. More...
|
| class | kFrustum |
| | View frustum defined by six planes extracted from a view-projection matrix. More...
|
| class | kGuiManager |
| | Wraps Dear ImGui initialisation, event forwarding, and widget calls. More...
|
| struct | kKeyPosition |
| | A single position keyframe for skeletal animation. More...
|
| struct | kKeyRotation |
| | A single rotation keyframe for skeletal animation. More...
|
| struct | kKeyScale |
| | A single scale keyframe for skeletal animation. More...
|
| class | kLight |
| | Scene-graph node that emits light. More...
|
| class | kMaterial |
| | Groups a shader program with textures and surface parameters. More...
|
| class | kMD5 |
| | Streaming MD5 message-digest implementation. More...
|
| class | kMesh |
| | Scene-graph node that holds renderable geometry. More...
|
| class | kMeshGenerator |
| | Procedural mesh generators — no file I/O, no asset manager needed. More...
|
| class | kNavAgent |
| | A single crowd agent managed by kNavManager. More...
|
| struct | kNavAgentConfig |
| | Per-agent parameters passed to dtCrowd on creation. More...
|
| struct | kNavBuildConfig |
| | All parameters that control the Recast bake pipeline. More...
|
| struct | kNavLink |
| | Defines a traversable shortcut between two navmesh points. More...
|
| class | kNavManager |
| | Owns a dtCrowd and a dtTileCache update loop for a single kNavMesh. More...
|
| class | kNavMesh |
| | A baked navigation mesh used for pathfinding and obstacle simulation. More...
|
| struct | kNavMeshDesc |
| | Serialisable settings for a navigation surface attached to an object in the editor. More...
|
| class | kNavObstacle |
| | A dynamic cylinder obstacle carved into the navmesh at runtime. More...
|
| struct | kNodeData |
| | Node in a skeletal-animation hierarchy (one per scene-graph joint). More...
|
| class | kObject |
| | Base scene-graph node. More...
|
| struct | kObjectAnimTrack |
| | A single transform track for one target object inside a clip. More...
|
| class | kOctree |
| | Loose octree that spatially indexes scene meshes for frustum culling. More...
|
| class | kOffscreenRenderer |
| | Renders to an offscreen FBO for thumbnails, previews, and image export. More...
|
| class | kOpenGLDriver |
| | OpenGL 3.3 Core Profile graphics driver. More...
|
| struct | kParticle |
| | Data descriptor for a single particle system attached to a scene object. More...
|
| class | kParticleManager |
| | Manages active particle emitters at runtime. More...
|
| class | kPhysicsManager |
| | Owns the Jolt PhysicsSystem and manages the lifecycle of all physics bodies. More...
|
| class | kPhysicsObject |
| | Represents a single rigid body or trigger volume inside the physics simulation. More...
|
| struct | kPhysicsObjectDesc |
| | All parameters needed to create a kPhysicsObject. More...
|
| struct | kPhysicsRaycastHit |
| | Result of a physics raycast query. More...
|
| struct | kPhysicsShapeDesc |
| | Parameters that fully describe a collision shape. More...
|
| class | kPrefab |
| | A serialized object subtree saved as a .prefab JSON asset. More...
|
| class | kRenderer |
| | Orchestrates the full render pipeline for a scene. More...
|
| class | kScene |
| | Holds all objects, lights, and rendering settings for one scene. More...
|
| struct | kScript |
| | Per-object script component descriptor. More...
|
| struct | kScriptAsset |
| | A registered script asset: a compilable unit of script source. More...
|
| struct | kScriptGraph |
| | The complete editable node graph for one script. More...
|
| struct | kScriptGraphLink |
| | A directed wire from an output pin to an input pin. More...
|
| struct | kScriptGraphNode |
| | A single graph node with its input/output pins and payload. More...
|
| struct | kScriptGraphPin |
| | A connection point on a node. More...
|
| struct | kScriptGraphResult |
| | Result of compiling a graph to AngelScript text. More...
|
| struct | kScriptGraphVar |
| | A graph-scope variable, emitted as an AngelScript global. More...
|
| struct | kScriptInstance |
| | A live, per-object compiled script module. More...
|
| class | kScriptManager |
| | Manages the AngelScript engine, a registry of script assets, and the live per-object script module instances. More...
|
| class | kShader |
| | Wraps a compiled GLSL shader program. More...
|
| class | kShaderCompiler |
| | Compiles a kShaderGraph into combined GLSL source. More...
|
| struct | kShaderCompileResult |
| | Result of compiling a shader graph into GLSL. More...
|
| struct | kShaderGraph |
| | A complete node-based shader graph: nodes, links, and identity. More...
|
| struct | kShaderLink |
| | A directed edge connecting an output pin to an input pin. More...
|
| struct | kShaderNode |
| | A node in the shader graph: a typed operation with input/output pins. More...
|
| struct | kShaderPin |
| | A single input or output connection point on a shader node. More...
|
| struct | kShaderSource |
| | Holds the split stages of a combined shader source. More...
|
| class | kSkeletalAnimation |
| | A single skeletal animation clip (bone channels + node hierarchy). More...
|
| struct | kSystemEvent |
| | Wraps an SDL_Event and provides helper accessors for input polling. More...
|
| class | kTexture |
| | Base GPU texture abstraction shared by kTexture2D and kTextureCube. More...
|
| class | kTexture2D |
| | Extends kTexture with 2D-specific metadata and optional CPU-side pixel data. More...
|
| class | kTextureCube |
| | Represents a six-face cube-map texture. More...
|
| class | kTimer |
| | Measures elapsed time between consecutive frames. More...
|
| struct | kVertexInfo |
| | Full per-vertex data layout used internally by the asset manager. More...
|
| class | kWindow |
| | Creates and manages an SDL3 application window. More...
|
| class | kWorld |
| | Root container for the entire simulation environment. More...
|
|
| enum | kRendererType { RENDERER_GL
} |
| | Identifies the graphics backend used by kRenderer. More...
|
| enum class | kRenderMode {
RENDER_MODE_FULL = 0
, RENDER_MODE_ALBEDO = 1
, RENDER_MODE_NORMALS = 2
, RENDER_MODE_WIREFRAME = 3
,
RENDER_MODE_DEPTH = 4
, RENDER_MODE_OBJECT_IDS = 5
, RENDER_MODE_FULL_WIREFRAME = 6
} |
| | Selects the debug visualization mode for the scene viewport. More...
|
| enum | kWindowType { WINDOW_DEFAULT
, WINDOW_FULLSCREEN
, WINDOW_BORDERLESS
} |
| | Window creation mode. More...
|
| enum | kNodeType { NODE_TYPE_OBJECT
, NODE_TYPE_MESH
, NODE_TYPE_CAMERA
, NODE_TYPE_LIGHT
} |
| | Scene-graph node type tag. More...
|
| enum | kCameraType { CAMERA_TYPE_FREE
, CAMERA_TYPE_LOCKED
} |
| | Camera behaviour mode. More...
|
| enum | kTransparentType { TRANSP_TYPE_NONE
, TRANSP_TYPE_BLEND
} |
| | Transparency/blending mode for a material. More...
|
| enum | kLightType { LIGHT_TYPE_SUN
, LIGHT_TYPE_POINT
, LIGHT_TYPE_SPOT
} |
| | Light source variety. More...
|
| enum | kTextureFormat { TEX_FORMAT_RGB
, TEX_FORMAT_RGBA
, TEX_FORMAT_SRGB
, TEX_FORMAT_SRGBA
} |
| | Texture upload format (internal precision / colour-space). More...
|
| enum | kTextureType { TEX_TYPE_2D
, TEX_TYPE_CUBE
} |
| | Distinguishes 2D from cube-map textures. More...
|
| enum class | kBlendFactor {
ZERO
, ONE
, SRC_ALPHA
, ONE_MINUS_SRC_ALPHA
,
SRC_COLOR
, ONE_MINUS_SRC_COLOR
, DST_ALPHA
, ONE_MINUS_DST_ALPHA
} |
| | Source/destination blend factors for alpha blending. More...
|
| enum class | kCullMode { BACK
, FRONT
, FRONT_AND_BACK
} |
| | Which polygon faces to cull. More...
|
| enum class | kFrontFace { CCW
, CW
} |
| | Winding order that defines the front face of a polygon. More...
|
| enum class | kPrimitiveType {
TRIANGLES
, TRIANGLE_STRIP
, TRIANGLE_FAN
, LINES
,
LINE_STRIP
, POINTS
} |
| | Primitive topology for draw calls. More...
|
| enum class | kNavPartitionType { Watershed
, Monotone
, Layers
} |
| | Partition algorithm used during Recast region building. More...
|
| enum class | kFrustumTestResult { Outside
, Intersecting
, Inside
} |
| | Result of testing a volume against a view frustum. More...
|
| enum class | kPhysicsShapeType {
Sphere
, Box
, Capsule
, Cylinder
,
ConvexHull
, Mesh
, Plane
} |
| | Collision shape type. More...
|
| enum class | kPhysicsObjectType { Dynamic
, Static
, Kinematic
, Trigger
} |
| | Determines how the physics engine moves (or does not move) a body. More...
|
| enum class | kScriptPinType {
Exec = 0
, Float
, Bool
, String
,
Vec3
, Object
} |
| | Kind/type of a node pin. Exec pins carry control flow; the rest carry typed data values. More...
|
| enum class | kScriptNodeType {
EventAwake = 0
, EventStart
, EventUpdate
, EventFixedUpdate
,
EventLateUpdate
, EventOnDestroy
, Branch
, Print
,
SetPosition
, SetRotation
, SetScale
, Translate
,
Rotate
, SetActive
, SetVariable
, GetSelf
,
GetPosition
, GetRotation
, GetScale
, GetForward
,
GetRight
, GetUp
, GetDeltaTime
, GetVariable
,
LiteralFloat
, LiteralBool
, LiteralString
, LiteralVec3
,
Add
, Subtract
, Multiply
, Divide
,
MakeVec3
, BreakVec3
, ScaleVec3
, Greater
,
Less
, Equal
, And
, Or
,
Not
, Count
} |
| | Every node kind the visual scripting graph supports. More...
|
| enum | kScriptSourceType { K_SCRIPT_TEXT = 0
, K_SCRIPT_NODEGRAPH = 1
} |
| | How a script asset's source is authored. More...
|
| enum | kScriptEvent {
K_SCRIPT_AWAKE = 0
, K_SCRIPT_START
, K_SCRIPT_UPDATE
, K_SCRIPT_FIXED_UPDATE
,
K_SCRIPT_LATE_UPDATE
, K_SCRIPT_ON_ENABLE
, K_SCRIPT_ON_DISABLE
, K_SCRIPT_ON_DESTROY
,
K_SCRIPT_EVENT_COUNT
} |
| | Lifecycle events dispatched to every active script each frame. More...
|
| enum class | kPinType {
Float
, Vec2
, Vec3
, Vec4
,
Sampler2D
, SamplerCube
} |
| | Data type carried by a shader-node pin (link/connection type). More...
|
| enum class | kShaderNodeType {
ConstFloat
, ConstVec2
, ConstVec3
, ConstVec4
,
UVCoord
, Time
, VertexColor
, WorldPosition
,
ViewDirection
, VertexNormal
, Texture2D
, TextureCube
,
Add
, Subtract
, Multiply
, Divide
,
Dot
, Cross
, Normalize
, Length
,
Clamp
, Mix
, Pow
, Abs
,
Floor
, Ceil
, Fract
, Sqrt
,
Min
, Max
, Step
, Smoothstep
,
OneMinus
, Split
, Combine
, Swizzle
,
MaterialTiling
, MaterialAmbient
, MaterialDiffuse
, MaterialSpecular
,
MaterialShininess
, MaterialMetallic
, MaterialRoughness
, OutputFlat
,
OutputPhong
, OutputPBR
} |
| | Identifies the kind of operation a shader graph node performs. More...
|
|
| kString | generateFileChecksum (const kString &fileName) |
| | Computes an MD5 checksum of the given file.
|
| kString | generateRandomString (int stringLength) |
| | Generates a cryptographically random alphanumeric kString.
|
| kString | generateUuid () |
| | Generates a random UUID v4 kString.
|
| KEMENA3D_API kWindow * | createWindow (int width, int height, kString title, bool maximized=false, kWindowType type=kWindowType::WINDOW_DEFAULT, void *nativeHandle=nullptr) |
| | Create and initialise a new application window.
|
| KEMENA3D_API kRenderer * | createRenderer (kWindow *window) |
| | Create and initialise the renderer for a given window.
|
| KEMENA3D_API kAssetManager * | createAssetManager () |
| | Create a new asset manager.
|
| KEMENA3D_API kWorld * | createWorld (kAssetManager *assetManager) |
| | Create a new world (scene) bound to an asset manager.
|
| KEMENA3D_API kScriptManager * | createScriptManager () |
| | Create a new script manager.
|
| KEMENA3D_API kGuiManager * | createGuiManager (kRenderer *renderer) |
| | Create and initialise a GUI manager for a given renderer.
|
| KEMENA3D_API kAudioManager * | createAudioManager () |
| | Create and initialise the audio manager.
|
| KEMENA3D_API kPhysicsManager * | createPhysicsManager () |
| | Create and initialise the physics manager.
|
| KEMENA3D_API kNavManager * | createNavManager (kNavMesh *mesh, int maxAgents=128) |
| | Create and initialise a navigation manager for a navigation mesh.
|
| uint32_t | F (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function F used in round 1: (x & y) | (~x & z).
|
| uint32_t | G (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function G used in round 2: (x & z) | (y & ~z).
|
| uint32_t | H (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function H used in round 3: x ^ y ^ z.
|
| uint32_t | I (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function I used in round 4: y ^ (x | ~z).
|
| uint32_t | rotate_left (uint32_t x, int n) |
| | Performs a circular left rotation of a 32-bit value.
|
| void | FF (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-1 transformation step using the F mixing function.
|
| void | GG (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-2 transformation step using the G mixing function.
|
| void | HH (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-3 transformation step using the H mixing function.
|
| void | II (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-4 transformation step using the I mixing function.
|
| void | encode (uint8_t *output, const uint32_t *input, size_t length) |
| | Serialises 32-bit words into bytes in little-endian order.
|
| void | decode (uint32_t *output, const uint8_t *input, size_t length) |
| | Reassembles bytes into 32-bit words assuming little-endian order.
|
| KEMENA3D_API void | registerScriptBindings (kScriptManager *manager) |
| | Registers all host types and functions on manager's engine.
|
| KEMENA3D_API const char * | kScriptNodeTypeName (kScriptNodeType type) |
| | Human-readable label for a node type (used by the editor menu).
|
| KEMENA3D_API const char * | kScriptEventDecl (kScriptEvent evt) |
| | AngelScript declaration string for each kScriptEvent (indexed by enum).
|
| const char * | kPinTypeName (kPinType t) |
| | Returns the GLSL type keyword for a pin type.
|
| bool | kPinCompatible (kPinType from, kPinType to) |
| | Tests whether an output pin type may feed into an input pin type.
|
Top-level Kemena3D engine namespace.
Aggregates the public engine headers and exposes the high-level factory functions used to bootstrap an application: creating the window, renderer, and the various subsystem managers (assets, world, scripting, GUI, audio, physics, navigation).