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