28 #ifndef __FREEWRL_SCENEGRAPH_RENDERFUNCS_H__
29 #define __FREEWRL_SCENEGRAPH_RENDERFUNCS_H__
32 void resetGlobalShader(
void);
33 void finishedWithGlobalShader(
void);
36 #define TRAT(a) ((a) > 0 && ((a) < gglobal()->RenderFuncs.hitPointDist || gglobal()->RenderFuncs.hitPointDist < 0))
41 GLDOUBLE modelMatrix[16];
42 GLDOUBLE projMatrix[16];
43 GLDOUBLE justModel[16];
52 void render_node(
struct X3D_Node *node);
55 void setAnchorsAnchor(
struct X3D_Anchor* anchor);
57 void clearLightTable();
59 void setLightState(GLint light,
int status);
60 void setLightType(GLint light,
int type);
63 void setLightChangedFlag(GLint light);
64 void fwglLightfv (
int light,
int pname, GLfloat *params);
65 void fwglLightf (
int light,
int pname, GLfloat param);
66 void initializeLightTables(
void);
67 void sendAttribToGPU(
int myType,
int mySize,
int xtype,
int normalized,
int stride,
float *pointer,
int,
char*,
int);
68 void sendArraysToGPU (
int mode,
int first,
int count);
69 void sendBindBufferToGPU (GLenum target, GLuint buffer,
char *,
int);
70 void sendElementsToGPU (
int mode,
int count,
unsigned short *indices);
71 void render_hier(
struct X3D_Node *p,
int rwhat);
73 void restoreGlobalShader();
76 typedef struct ivec4 {
int X;
int Y;
int W;
int H;}
ivec4;
79 void popviewport(
Stack *vpstack);
80 void setcurrentviewport(
Stack *_vpstack);
81 int currentviewportvisible(
Stack *vpstack);
88 void usehit_add(
struct X3D_Node *node,
double *modelviewmatrix);
89 void usehit_add2(
struct X3D_Node *node,
double *modelviewmatrix,
void *userdata);
92 void usehitB_add(
struct X3D_Node *node,
double *modelviewmatrix);
93 void usehitB_add2(
struct X3D_Node *node,
double *modelviewmatrix,
void *userdata);
95 Stack *getUseHitBStack();