3D Graphics Engine for ESP32
 
Loading...
Searching...
No Matches
Ragot Namespace Reference

Classes

class  Assets
 Manages the asset paths for the application. More...
 
class  Camera
 Represents a camera in a 3D space, managing its properties and transformations. More...
 
struct  Camera_Transform
 Represents the transformation of a camera in 3D space. More...
 
class  Component
 Base class for components in the Ragot engine. More...
 
struct  coordinates_t
 Represents 2D coordinates. More...
 
class  Driver_ST7789
 Driver for the ST7789 LCD panel. More...
 
class  DriverEK79007
 Driver for the EK79007 LCD panel. More...
 
class  DriverLCD
 Base class for LCD drivers. More...
 
class  ExtrudeMesh
 Represents a 3D mesh created by extruding a 2D shape along a specified height. This class inherits from the Mesh class and provides methods to generate vertices and faces for the extruded mesh. It also includes methods for culling faces based on the camera's view direction and logging mesh information. More...
 
struct  face_t
 Represents a face in a 3D mesh. More...
 
class  Fragment_Shader
 Class for managing an OpenGL fragment shader. More...
 
class  FrameBuffer
 Class to manage a frame buffer for rendering graphics. More...
 
class  Logger
 Singleton logger class for the Ragot engine. More...
 
class  Mesh
 Represents a 3D mesh in the Ragot engine. More...
 
struct  mesh_info_t
 Represents information about a mesh. More...
 
class  MeshSerializer
 Singleton class to serialize Mesh objects to OBJ file format. More...
 
class  Node
 Represents a node in a scene graph for 3D rendering. More...
 
class  PSRAMAllocator
 Custom memory allocator for PSRAM. More...
 
class  Rasterizer
 Class for rasterizing polygons in a frame buffer. More...
 
class  Renderer
 Class for rendering scenes in the Ragot engine. More...
 
class  RevolutionMesh
 Class for generating revolution meshes. More...
 
class  Scene
 Class for managing a 3D scene. More...
 
class  Shader
 Class for managing an OpenGL shader. More...
 
class  Shader_Program
 Class for managing an OpenGL shader program. More...
 
class  Sync_Queue
 A thread-safe queue implementation. More...
 
class  Thread_Pool
 A thread pool for managing concurrent tasks. More...
 
class  Transform
 A class representing a 3D transformation with position, rotation, and scale. More...
 
struct  transform_t
 Represents a transformation in 3D space. More...
 
class  Vertex_Shader
 Class for managing an OpenGL vertex shader. More...
 
struct  vertex_t
 Represents a vertex in 3D space. More...
 
class  Window
 Class for managing an SDL window with OpenGL context. More...
 

Typedefs

using RGB565 = uint16_t
 
using RGB888 = uint32_t
 
using RGBA8888 = uint32_t
 
using RGB8 = uint8_t
 Color Index.
 
using Matrix4x4 = glm::mat4
 

Enumerations

enum  render_flag_t : uint8_t { RENDER_NONE , RENDER_REVOLUTION , RENDER_EXTRUDE , RENDER_MAX }
 Flags for rendering types. More...
 
enum  Buffer : uint8_t { CURRENT_BUFFER = ( 1 << 0) , NEXT_BUFFER = ( 1 << 1) , MAX_BUFFER = ( 1 << 2) }
 Enum to represent the different buffers in a frame buffer. More...
 

Functions

static bool panel_refresh_callback (esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *edata, void *user_ctx)
 
static bool panel_refresh_callback (esp_lcd_panel_io_handle_t panel, esp_lcd_panel_io_event_data_t *edata, void *user_ctx)
 
template<typename T, uint16_t F1, typename U, uint16_t F2>
bool operator== (const PSRAMAllocator< T, F1 > &, const PSRAMAllocator< U, F2 > &)
 Equality operator for PSRAMAllocator.
 
template<typename T, uint16_t F1, typename U, uint16_t F2>
bool operator!= (const PSRAMAllocator< T, F1 > &a, const PSRAMAllocator< U, F2 > &b)
 Inequality operator for PSRAMAllocator.
 
template<typename Inside, typename Intersect>
static std::vector< glm::fvec4 > clipAgainstPlane (const std::vector< glm::fvec4 > &in, Inside inside, Intersect intersect)
 

Variables

Assetsassets = Assets::instance()
 
constexpr float PI = 3.141592653f
 Mathematical constant PI.
 
static const char * TAG = "DriverEK79007"
 
Loggerlogger = Logger::instance()
 
MeshSerializerserializer = MeshSerializer::instance()
 
template<class COLOR_BUFFER_TYPE>
int Rasterizer< COLOR_BUFFER_TYPE >::offset_cache0 [1024]
 
template<class COLOR_BUFFER_TYPE>
int Rasterizer< COLOR_BUFFER_TYPE >::offset_cache1 [1024]
 
template<class COLOR_BUFFER_TYPE>
int Rasterizer< COLOR_BUFFER_TYPE >::z_cache0 [1024]
 
template<class COLOR_BUFFER_TYPE>
int Rasterizer< COLOR_BUFFER_TYPE >::z_cache1 [1024]
 
static const char * RENDERER_TAG = "Renderer"
 
static const char * MAIN_TAG = "Main"
 
Thread_Poolthread_pool = Thread_Pool::instance ()
 

Typedef Documentation

◆ Matrix4x4

using Ragot::Matrix4x4 = glm::mat4

◆ RGB565

using Ragot::RGB565 = uint16_t

◆ RGB8

using Ragot::RGB8 = uint8_t

Color Index.

◆ RGB888

using Ragot::RGB888 = uint32_t

◆ RGBA8888

using Ragot::RGBA8888 = uint32_t

Enumeration Type Documentation

◆ Buffer

enum Ragot::Buffer : uint8_t

Enum to represent the different buffers in a frame buffer.

This enum defines the constants for the current buffer, next buffer, and maximum buffer.

Enumerator
CURRENT_BUFFER 
NEXT_BUFFER 
MAX_BUFFER 

◆ render_flag_t

enum Ragot::render_flag_t : uint8_t

Flags for rendering types.

This enumeration defines different rendering flags that can be used to specify how a mesh should be rendered.

Enumerator
RENDER_NONE 
RENDER_REVOLUTION 
RENDER_EXTRUDE 
RENDER_MAX 

Function Documentation

◆ clipAgainstPlane()

template<typename Inside, typename Intersect>
static std::vector< glm::fvec4 > Ragot::clipAgainstPlane ( const std::vector< glm::fvec4 > & in,
Inside inside,
Intersect intersect )
static
Here is the caller graph for this function:

◆ operator!=()

template<typename T, uint16_t F1, typename U, uint16_t F2>
bool Ragot::operator!= ( const PSRAMAllocator< T, F1 > & a,
const PSRAMAllocator< U, F2 > & b )

Inequality operator for PSRAMAllocator.

This operator checks if two PSRAMAllocators are not equal based on their flags.

Template Parameters
TThe type of the first allocator.
F1The flag of the first allocator.
UThe type of the second allocator.
F2The flag of the second allocator.
Parameters
aThe first PSRAMAllocator.
bThe second PSRAMAllocator.
Returns
true if the flags are not equal, false otherwise.

◆ operator==()

template<typename T, uint16_t F1, typename U, uint16_t F2>
bool Ragot::operator== ( const PSRAMAllocator< T, F1 > & ,
const PSRAMAllocator< U, F2 > &  )

Equality operator for PSRAMAllocator.

This operator checks if two PSRAMAllocators are equal based on their flags.

Template Parameters
TThe type of the first allocator.
F1The flag of the first allocator.
UThe type of the second allocator.
F2The flag of the second allocator.
Parameters
aThe first PSRAMAllocator.
bThe second PSRAMAllocator.
Returns
true if the flags are equal, false otherwise.

◆ panel_refresh_callback() [1/2]

static bool Ragot::panel_refresh_callback ( esp_lcd_panel_handle_t panel,
esp_lcd_dpi_panel_event_data_t * edata,
void * user_ctx )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ panel_refresh_callback() [2/2]

static bool Ragot::panel_refresh_callback ( esp_lcd_panel_io_handle_t panel,
esp_lcd_panel_io_event_data_t * edata,
void * user_ctx )
static
Here is the call graph for this function:

Variable Documentation

◆ assets

Assets & Ragot::assets = Assets::instance()

◆ logger

Logger & Ragot::logger = Logger::instance()

◆ MAIN_TAG

const char* Ragot::MAIN_TAG = "Main"
static

◆ PI

float Ragot::PI = 3.141592653f
constexpr

Mathematical constant PI.

This constant represents the value of π (pi), which is approximately 3.141592653.

◆ Rasterizer< COLOR_BUFFER_TYPE >::offset_cache0

template<class COLOR_BUFFER_TYPE>
int Ragot::Rasterizer< COLOR_BUFFER_TYPE >::offset_cache0[1024]

◆ Rasterizer< COLOR_BUFFER_TYPE >::offset_cache1

template<class COLOR_BUFFER_TYPE>
int Ragot::Rasterizer< COLOR_BUFFER_TYPE >::offset_cache1[1024]

◆ Rasterizer< COLOR_BUFFER_TYPE >::z_cache0

template<class COLOR_BUFFER_TYPE>
int Ragot::Rasterizer< COLOR_BUFFER_TYPE >::z_cache0[1024]

◆ Rasterizer< COLOR_BUFFER_TYPE >::z_cache1

template<class COLOR_BUFFER_TYPE>
int Ragot::Rasterizer< COLOR_BUFFER_TYPE >::z_cache1[1024]

◆ RENDERER_TAG

const char* Ragot::RENDERER_TAG = "Renderer"
static

◆ serializer

MeshSerializer & Ragot::serializer = MeshSerializer::instance()

◆ TAG

const char* Ragot::TAG = "DriverEK79007"
static

◆ thread_pool

Thread_Pool & Ragot::thread_pool = Thread_Pool::instance ()