Skip to main content

mesh Namespace

Mesh rendering abstractions and command types. More...

Definition

namespace helios::rendering::mesh { ... }

Classes Index

classMesh

Representative of a renderable 3D mesh. More...

structMeshConfig

Configuration for how a Mesh's data should be interpreted and rendered. More...

classMeshRenderable

Represents a renderable object that combines a shared prototype with instance-specific overrides. More...

classMeshRenderCommand

DTO for storing rendering-specific command information to be passed to the RenderQueue. More...

classMeshRenderer

Abstract base class for mesh rendering operations. More...

Enumerations Index

enum classPrimitiveType { ... }

Defines how vertices are assembled into primitives during rendering. More...

Description

Mesh rendering abstractions and command types.

This namespace provides the core types for mesh rendering. MeshRenderable is a high-level component that can be attached to game objects, combining a shared RenderPrototype with optional per-instance MaterialShaderPropertiesOverride. MeshRenderCommand is the low-level command object that encapsulates all data needed for a single mesh draw call.

Enumerations

PrimitiveType

enum class helios::rendering::mesh::PrimitiveType
strong

Defines how vertices are assembled into primitives during rendering.

Enumeration values
Points
Lines
LineLoop
LineStrip
Triangles
TriangleStrip
TriangleFan
size_Sentinel value equal to the number of primitive types

This enum provides API-agnostic representations for common primitive assembly modes (points, lines, triangles, and their strip/fan variants). Backends should map these values to the corresponding native topology constants.

Example (pseudo-code mapping to OpenGL):

 switch (primitiveType) {
  case PrimitiveType::Points: return GL_POINTS;
  case PrimitiveType::Lines: return GL_LINES;
  case PrimitiveType::LineLoop: return GL_LINE_LOOP;
  case PrimitiveType::LineStrip: return GL_LINE_STRIP;
  case PrimitiveType::Triangles: return GL_TRIANGLES;
  case PrimitiveType::TriangleStrip: return GL_TRIANGLE_STRIP;
  case PrimitiveType::TriangleFan: return GL_TRIANGLE_FAN;
  default: // unreachable return GL_TRIANGLES;
 }
See Also

MeshConfig (default is `PrimitiveType::Triangles`)

Definition at line 36 of file PrimitiveType.ixx.

36 enum class PrimitiveType {
37 /**
38 * Draw each vertex as a single point.
39 */
41
42 /**
43 * Treat each pair of vertices as an independent line segment.
44 */
46
47 /**
48 * Connect vertices in sequence and close the loop (last -> first).
49 */
51
52 /**
53 * Connect vertices in sequence forming a continuous polyline.
54 */
56
57 /**
58 * Interpret each group of three vertices as an independent triangle.
59 */
61
62 /**
63 * Build a connected strip of triangles sharing vertices.
64 */
66
67 /**
68 * Build triangles sharing the first vertex (fan topology).
69 */
71
72 /**
73 * @brief Sentinel value equal to the number of primitive types.
74 */
76 };

The documentation for this namespace was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.