0.3.1
|
Files | |
file | mic3d.h |
Data Structures | |
struct | sort_list |
Not yet documented. More... | |
union | indices |
Not yet documented. More... | |
struct | flags |
Not yet documented. More... | |
struct | polygon |
Not yet documented. More... | |
struct | attribute |
Not yet documented. More... | |
struct | mesh |
Not yet documented. More... | |
struct | indices.__unnamed140__ |
Not yet documented. More... | |
union | attribute.control |
Not yet documented. More... | |
struct | attribute.control.__unnamed143__ |
Not yet documented. More... | |
Typedefs | |
typedef enum render_flags | render_flags_t |
Not yet documented. | |
typedef uint16_t | texture_slot_t |
Not yet documented. | |
typedef uint16_t | gst_slot_t |
Not yet documented. | |
typedef struct sort_list | sort_list_t |
Not yet documented. | |
typedef enum sort_type | sort_type_t |
Not yet documented. | |
typedef enum read_dir | read_dir_t |
Not yet documented. | |
typedef enum plane_type | plane_type_t |
Not yet documented. | |
typedef enum command_type | command_type_t |
Not yet documented. | |
typedef enum link_type | link_type_t |
Not yet documented. | |
typedef union indices | indices_t |
Not yet documented. | |
typedef struct flags | flags_t |
Not yet documented. | |
typedef struct polygon | polygon_t |
Not yet documented. | |
typedef struct attribute | attribute_t |
Not yet documented. | |
typedef struct mesh | mesh_t |
Not yet documented. | |
Enumerations | |
enum | render_flags |
Not yet documented. More... | |
enum | sort_type |
Not yet documented. More... | |
enum | read_dir |
Not yet documented. More... | |
enum | plane_type |
Not yet documented. More... | |
enum | command_type |
Not yet documented. More... | |
enum | link_type |
Not yet documented. More... | |
Functions | |
void | render_enable (render_flags_t flags) |
Enable render flag(s). | |
void | render_disable (render_flags_t flags) |
Disable render flag(s). | |
void | render_flags_set (render_flags_t flags) |
Set flag(s). | |
void | render_perspective_set (angle_t fov_angle) |
Set the perspective horizontal FOV angle. | |
void | render_orthographic_set (fix16_t scale) |
Set the size of the orthographic view. | |
void | render_isometric_set (angle_t view_angle) |
Set the isometric view angle. | |
void | render_near_level_set (uint32_t level) |
Set the position of the near plane using a level value. | |
void | render_far_level_set (uint32_t level) |
Set the position of the far plane using a level value. | |
void | render_sort_depth_set (sort_list_t *sort_list_buffer, uint16_t count) |
Set the sort list buffer and sort depth. | |
void | render_start (void) |
Start rendering. | |
void | render_end (void) |
End rendering. | |
void | render_matrix_calculate (const fix16_mat43_t *world_matrix, fix16_mat43_t *view_matrix) |
Calculate the view matrix given a world matrix. | |
void | render_mesh_xform (const mesh_t *mesh, const fix16_mat43_t *world_matrix) |
Render a mesh_t. | |
void | render_cmdt_insert (const vdp1_cmdt_t *cmdt, fix16_t depth_z) |
Insert a vdp1_cmdt_t at a depth. | |
void | render_cmdt_nocheck_insert (const vdp1_cmdt_t *cmdt, fix16_t depth_z) |
Insert a vdp1_cmdt_t at a depth. | |
vdp1_cmdt_t * | render_cmdts_alloc (uint32_t count) |
Not yet documented. | |
void | render_points_xform (const fix16_mat43_t *world_matrix, const fix16_vec3_t *points, uint32_t count, xformed_point_t *xformed_points) |
Transform points. | |
void | render_debug_log (char *buffer, size_t len) |
Not yet documented. | |
struct sort_list |
Not yet documented.
Data Fields | ||
---|---|---|
uint16_t | head | Not yet documented. |
union indices |
Not yet documented.
Data Fields | ||
---|---|---|
struct indices.__unnamed140__ | __unnamed__ | Not yet documented. |
uint16_t | p[4] | Not yet documented. |
struct flags |
Not yet documented.
Data Fields | ||
---|---|---|
sort_type_t | sort_type:3 | Not yet documented. |
plane_type_t | plane_type:1 | Not yet documented. |
bool | use_texture:1 | Not yet documented. |
struct polygon |
struct attribute |
Not yet documented.
Data Fields | ||
---|---|---|
union attribute.control | control | Not yet documented. |
vdp1_cmdt_draw_mode_t | draw_mode | Not yet documented. |
vdp1_cmdt_color_t | color | Not yet documented. |
texture_slot_t | texture_slot | Not yet documented. |
gst_slot_t | shading_slot | Not yet documented. |
struct mesh |
Not yet documented.
Data Fields | ||
---|---|---|
const fix16_vec3_t * | points | Not yet documented. |
uint32_t | points_count | Not yet documented. |
const fix16_vec3_t * | normals | Not yet documented. |
const polygon_t * | polygons | Not yet documented. |
const attribute_t * | attributes | Not yet documented. |
uint32_t | polygons_count | Not yet documented. |
struct indices.__unnamed140__ |
union attribute.control |
Not yet documented.
Data Fields | ||
---|---|---|
struct attribute.control.__unnamed143__ | __unnamed__ | Not yet documented. |
uint16_t | raw | Not yet documented. |
struct attribute.control.__unnamed143__ |
Not yet documented.
Data Fields | ||
---|---|---|
link_type_t | link_type:3 | Not yet documented. |
read_dir_t | read_dir:2 | Not yet documented. |
command_type_t | command:4 | Not yet documented. |
enum render_flags |
enum sort_type |
enum read_dir |
enum plane_type |
enum command_type |
enum link_type |
Not yet documented.
void render_enable | ( | render_flags_t | flags | ) |
Enable render flag(s).
Equivalent to setting flags
(bitwise OR).
flags |
void render_disable | ( | render_flags_t | flags | ) |
Disable render flag(s).
Equivalent to clearing flags
(bitwise AND with flags
negated).
flags |
void render_flags_set | ( | render_flags_t | flags | ) |
Set flag(s).
Equivalent to assigment of flags
.
flags |
void render_perspective_set | ( | angle_t | fov_angle | ) |
Set the perspective horizontal FOV angle.
This is the full horizontal field of view angle.
fov_angle |
void render_orthographic_set | ( | fix16_t | scale | ) |
Set the size of the orthographic view.
Scale the orthographic view. Typically this would be a large value like 10 to 20.
scale |
void render_isometric_set | ( | angle_t | view_angle | ) |
void render_near_level_set | ( | uint32_t | level | ) |
Set the position of the near plane using a level value.
level
ranges from 0 to 7. Not yet fully documented.
level |
void render_far_level_set | ( | uint32_t | level | ) |
Set the position of the far plane using a level value.
level
ranges from 0 to 7. Not yet fully documented.
level |
void render_sort_depth_set | ( | sort_list_t * | sort_list_buffer, |
uint16_t | count | ||
) |
Set the sort list buffer and sort depth.
Required. Set the sort depth.
sort_list_buffer | |
count |
void render_start | ( | void | ) |
Start rendering.
Must be called before calling render_mesh_xform.
void render_end | ( | void | ) |
End rendering.
Must be called after rendering. After, you can call vdp1_sync_render, then vdp1_sync.
void render_matrix_calculate | ( | const fix16_mat43_t * | world_matrix, |
fix16_mat43_t * | view_matrix | ||
) |
Calculate the view matrix given a world matrix.
Calculate the view matrix using the camera and world matrix.
[in] | world_matrix | |
[out] | view_matrix |
void render_mesh_xform | ( | const mesh_t * | mesh, |
const fix16_mat43_t * | world_matrix | ||
) |
Render a mesh_t.
The workhorse of Mic3D. Given a world_matrix
, render a mesh
. Must be called after render_start.
[in] | mesh | |
[in] | world_matrix |
void render_cmdt_insert | ( | const vdp1_cmdt_t * | cmdt, |
fix16_t | depth_z | ||
) |
Insert a vdp1_cmdt_t at a depth.
Recall that the depth is negative. render_cmdt_insert will cull if the cmdt
is inserted outside the frustrum.
[in] | cmdt | |
depth_z |
void render_cmdt_nocheck_insert | ( | const vdp1_cmdt_t * | cmdt, |
fix16_t | depth_z | ||
) |
Insert a vdp1_cmdt_t at a depth.
Recall that the depth is negative. The difference is that no frustrum checks will be performed.
[in] | cmdt | |
depth_z |
vdp1_cmdt_t * render_cmdts_alloc | ( | uint32_t | count | ) |
Not yet documented.
count |
void render_points_xform | ( | const fix16_mat43_t * | world_matrix, |
const fix16_vec3_t * | points, | ||
uint32_t | count, | ||
xformed_point_t * | xformed_points | ||
) |
Transform points.
Given a world_matrix
, a set of count
points
, transform them (depending on the camera,
xformed_points
.[in] | world_matrix | |
[in] | points | |
count | ||
[out] | xformed_points |
void render_debug_log | ( | char * | buffer, |
size_t | len | ||
) |
Not yet documented.
buffer | |
len |