embedded-software
reusable software modules for embedded systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
render_engine.h
Go to the documentation of this file.
1 
110 #ifndef RENDER_ENGINE_H
111 #define RENDER_ENGINE_H
112 
113 #include <stdint.h>
114 
115 // Precision of the engine
116 typedef float rounding_t;
117 
118 // Colors
120  Black = 40,
128 };
129 
130 typedef struct point {
133 } point_t;
134 
135 typedef struct vector {
139 } vector_t;
140 
141 typedef struct camera {
142  uint16_t status;
147 } camera_t;
148 
149 typedef struct triangle {
153  uint8_t color;
154 } triangle_t;
155 
156 typedef struct world {
158  uint16_t numTriangles;
160 } world_t;
161 
162 typedef struct framebuffer {
163  uint16_t width;
164  uint16_t height;
165  uint8_t *buffer;
166 } framebuffer_t;
167 
183 
196 
198 #endif // RENDER_ENGINE_H
Definition: render_engine.h:135
uint8_t backgroundColor
Definition: render_engine.h:157
Definition: render_engine.h:156
Definition: render_engine.h:149
int fovVertical
Definition: render_engine.h:146
struct vector vector_t
Definition: render_engine.h:127
Definition: render_engine.h:120
rounding_t y
Definition: render_engine.h:137
uint8_t color
Definition: render_engine.h:153
vector_t p1
Definition: render_engine.h:150
Definition: render_engine.h:126
uint8_t * buffer
Definition: render_engine.h:165
Definition: render_engine.h:124
rounding_t y
Definition: render_engine.h:132
Definition: render_engine.h:125
struct point point_t
uint16_t width
Definition: render_engine.h:163
rounding_t z
Definition: render_engine.h:138
Definition: render_engine.h:122
struct triangle triangle_t
pixel_color
Definition: render_engine.h:119
struct world world_t
vector_t p2
Definition: render_engine.h:151
struct framebuffer framebuffer_t
uint16_t numTriangles
Definition: render_engine.h:158
Definition: render_engine.h:162
uint16_t height
Definition: render_engine.h:164
vector_t rotation
Definition: render_engine.h:144
Definition: render_engine.h:121
Definition: render_engine.h:141
rounding_t x
Definition: render_engine.h:136
vector_t p3
Definition: render_engine.h:152
void Render_Engine_RenderFrame(world_t *world, camera_t *camera, framebuffer_t *framebuffer)
Render a frame.
Definition: render_engine.c:27
Definition: render_engine.h:130
float rounding_t
Definition: render_engine.h:116
vector_t location
Definition: render_engine.h:143
Definition: render_engine.h:123
int fovHorizontal
Definition: render_engine.h:145
uint16_t status
Definition: render_engine.h:142
struct camera camera_t
void Render_Engine_DisplayFrame(uint8_t channel, framebuffer_t *framebuffer)
Display a frame.
Definition: render_engine.c:330
triangle_t * triangles
Definition: render_engine.h:159
rounding_t x
Definition: render_engine.h:131