Port to web for free
This commit is contained in:
64
src/main.c
Executable file → Normal file
64
src/main.c
Executable file → Normal 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");
|
||||
|
||||
Reference in New Issue
Block a user