Port to web for free

This commit is contained in:
PedroEdiaz
2024-11-19 21:54:22 -06:00
parent c4016d239a
commit 61b014a803
4 changed files with 71 additions and 27 deletions

64
src/main.c Executable file → Normal file
View File

@@ -8,6 +8,10 @@
#define WIDTH 512
#define HEIGHT 512
#ifdef EMSCRIPTEN
#include <emscripten.h>
#endif
float *generate_data_surface(unsigned int, unsigned char *);
float *generate_normals_surface(float *, unsigned char);
@@ -29,11 +33,40 @@ void mlog(char *msg)
#endif
}
window_t window;
mesh_t m_surface, m_axis;
id_t shader, shader_plain;
#ifndef EMSCRIPTEN
static inline
#endif
void main_loop(void)
{
quat_t q;
q = poll_input(window);
load_rot_matrix(shader, q);
load_rot_matrix(shader_plain, q);
clean_context();
#ifndef DEBUG
load_mdl_matrix(shader_plain, 0, 0);
draw_mesh(m_axis);
load_mdl_matrix(shader_plain, 1, 1);
draw_mesh(m_axis);
load_mdl_matrix(shader_plain, 2, 2);
draw_mesh(m_axis);
load_mdl_matrix(shader, 0, 3);
#else
load_mdl_matrix(shader_plain, 0, 3);
#endif
draw_mesh(m_surface);
}
int main(void)
{
id_t shader, texture, shader_plain;
mesh_t m_surface, m_axis;
window_t window;
id_t texture;
mlog("[VENTANA] Inicializando...\n");
{
@@ -117,29 +150,12 @@ int main(void)
}
mlog("[MAIN LOOP] Inicializando...\n");
while (is_open_window(window))
{
quat_t q;
q = poll_input(window);
load_rot_matrix(shader, q);
load_rot_matrix(shader_plain, q);
clean_context();
#ifndef DEBUG
load_mdl_matrix(shader_plain, 0, 0);
draw_mesh(m_axis);
load_mdl_matrix(shader_plain, 1, 1);
draw_mesh(m_axis);
load_mdl_matrix(shader_plain, 2, 2);
draw_mesh(m_axis);
load_mdl_matrix(shader, 0, 3);
#ifdef EMSCRIPTEN
emscripten_set_main_loop(&main_loop, 0, 1);
#else
load_mdl_matrix(shader_plain, 0, 3);
while (is_open_window(window))
main_loop();
#endif
draw_mesh(m_surface);
}
mlog("[MAIN LOOP] Terminando...\n");
mlog("[MESH] Destruyendo...\n");