scimesh 0.3.2
Headless CPU-only 3D software renderer for scientific mesh visualization
Loading...
Searching...
No Matches
types.h File Reference

Fundamental types used throughout the scimesh rendering engine. More...

#include <glm/vec2.hpp>
#include <glm/vec3.hpp>
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include <vector>
#include <cstdint>
#include <string>
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  scimesh::Color
 An RGBA color with floating-point components. More...
 
struct  scimesh::Triangle
 A triangle defined by three vertex indices. More...
 
struct  scimesh::Light
 A light source for the Blinn-Phong shading model. More...
 
struct  scimesh::ClipPlane
 A clipping plane that can hide parts of the scene. More...
 

Namespaces

namespace  scimesh
 

Typedefs

using scimesh::Vec2 = glm::vec2
 2-component floating-point vector (xy).
 
using scimesh::Vec3 = glm::vec3
 3-component floating-point vector (xyz).
 
using scimesh::Vec4 = glm::vec4
 4-component floating-point vector (xyzw).
 
using scimesh::Mat4 = glm::mat4
 4×4 floating-point matrix.
 

Variables

constexpr Color scimesh::DEFAULT_COLOR {0.7f, 0.7f, 0.7f, 1.0f}
 The default mesh color: a neutral light gray (0.7, 0.7, 0.7).
 
constexpr Color scimesh::TRANSPARENT_BLACK {0.0f, 0.0f, 0.0f, 0.0f}
 A fully transparent black color (0, 0, 0, 0).
 
constexpr Color scimesh::WHITE {1.0f, 1.0f, 1.0f, 1.0f}
 An opaque white color (1, 1, 1, 1).
 

Detailed Description

Fundamental types used throughout the scimesh rendering engine.

This header defines the basic building blocks: vectors, colors, triangles, lights, and clip planes. All scimesh types live in the scimesh namespace.

Note
scimesh uses GLM (OpenGL Mathematics) for its vector and matrix types. Vec2, Vec3, Vec4, and Mat4 are all GLM types, so you get the full GLM API for free — dot products, cross products, matrix multiplication, etc.

Definition in file types.h.