Documentación de FrameWork-Phisics

Antes que nada, solo se trabaja en el archivo "simulator.c", ahí encontrará toda la lógica inicial.

Como detalle, puedes desplazar la camara con 'w','a','s','d','space','shift'; direcciones, arriba y abajo.

Creación de entidades

createEntity(manager,"model.obj (principy sphere.obj)","name or NULL, best NULL");

Forma de acceder a las entidades

entity *ent = Vector_getValue(manager->entities,index);

Atributos de las entidades

typedef struct{
	char* nameid;
	vec3 position;
	vec3 velocity;
	vec3 acceleration;
	vec3 color;
}entity;

Todos son vectores de R³. Se acceden de la siguiente forma, todos.

ent->color[0] = 1.f;
ent->color[1] = 0.f;
ent->color[2] = 0.f;

ent->position[n] = x;
...

En cuanto al color, 1.f es máximo color, 0.f es apagado. Es RGB.

Todas las matemáticas están con cglm(Documentación muy fácil de entender).

Control de flujo

El control de flujo se hace dentro de cada función, la primera solo se ejecuta una vez, la segunda 120 veces por segundo.

Punto importante para la simulación, el motor renderiza a unos impresionantes 120 FPS.

Dejo un ejemplo de inicio. Se pueden crear n entidades (o cuerpos).

#include "inc/simulator.h"
#include "inc/cglm/cglm.h"
#include "inc/main.h"
#include <math.h>


void mainInit(entitymanager* manager)
{
	createEntity(maneger,"sphere.obj",NULL);
	entity *ent = Vector_getValue(manager->entities,0);
	ent->color[0] = 1.f; // Red
	ent->color[1] = 0.f; // Green
	ent->color[2] = 0,f; // Blue
}

void mainLoop(entitymanager* manager)
{
	entity *ent = Vector_getValue(manager->entities,0);
}