Files
mips/src/jman/engine.h
T
jens a655e1c5d9 - use build in data types
git-svn-id: http://moon:8086/svn/mips@35 a8ebac50-d88d-4704-bea3-6648445a41b3
2015-05-28 19:19:01 +00:00

70 lines
1.6 KiB
C

#ifndef ENGINE_H
#define ENGINE_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ENGINE_CONTEXT_LEVEL_MAIN 0
#define ENGINE_CONTEXT_LEVEL_SUB 1
#define ENGINE_CONTEXT_INVALID 0
#define ENGINE_CONTEXT_MAIN 1
#define ENGINE_CONTEXT_FRAME 2
#define ENGINE_CONTEXT_WORLD 3
#define ENGINE_CONTEXT_ATTRIBUTE 4
#define ENGINE_CONTEXT_TRANSFORM 5
#define ENGINE_CONTEXT_SOLID 6
#define ENGINE_CONTEXT_OBJECT 7
#define ENGINE_CONTEXT_MOTION 8
extern ri_var_t* V_P;
extern ri_var_t* V_PZ;
extern ri_var_t* V_PW;
extern ri_var_t* V_N;
extern ri_var_t* V_NP;
extern ri_var_t* V_CS;
extern ri_var_t* V_OS;
extern ri_var_t* V_S;
extern ri_var_t* V_T;
extern ri_var_t* V_ST;
extern ri_var_t* V_WIDTH;
extern ri_var_t* V_CONSTANTWIDTH;
typedef uint32_t context_t;
typedef struct _sengine_t
{
FILE *pFile;
RtToken name;
context_t *pContext;
stack_t *pContext_stack;
var_list_t varList;
scene_t geometry;
scene_t lights;
graph_state_t gs;
void *pErrorHandler;
} engine_t;
// JayMan functions
void Engine_init(engine_t *pObj, RtToken name);
void Engine_free(engine_t *pObj);
void Engine_context_set(engine_t *pObj, uint32_t context, uint32_t level);
uint32_t Engine_context_get(engine_t *pObj, uint32_t level);
void Engine_context_push(engine_t *pObj);
void Engine_context_pop(engine_t *pObj);
void Engine_Render(engine_t *pObj);
void Engine_DeleteScene(engine_t *pObj);
void Engine_SceneInfo(engine_t *pObj);
void* jmalloc(uint32_t size);
void jfree(void *pMem);
void jstats(void);
void Tic(double *tic_start);
double Toc(double *tic_start);
#endif // ENGINE_H