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

// 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