You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
743 B
C
38 lines
743 B
C
// The Digital Grove Codebase
|
|
// Copyright (c) Ryan Fleury. All rights reserved.
|
|
|
|
#ifndef N64_RENDER_H
|
|
#define N64_RENDER_H
|
|
|
|
typedef struct N64_R_Buffer N64_R_Buffer;
|
|
struct N64_R_Buffer
|
|
{
|
|
void *data;
|
|
UAddr element_count;
|
|
UAddr element_size;
|
|
};
|
|
|
|
typedef struct N64_R_SubModel N64_R_SubModel;
|
|
struct N64_R_SubModel
|
|
{
|
|
U16 vtx_buffer_num;
|
|
U16 idx_buffer_num;
|
|
};
|
|
|
|
typedef struct N64_R_State N64_R_State;
|
|
struct N64_R_State
|
|
{
|
|
U8 align(64) rdp_command_buffer[KiB(256)];
|
|
UAddr rdp_command_buffer_write_pos;
|
|
R_PassParams pass_params;
|
|
Mat4x4F32 pass_view_projection;
|
|
N64_R_Buffer buffers[1024];
|
|
UAddr buffers_count;
|
|
N64_R_SubModel sub_models[1024];
|
|
UAddr sub_models_count;
|
|
};
|
|
|
|
global N64_R_State n64_r_state = {0};
|
|
|
|
#endif // N64_RENDER_H
|