28#ifndef __FREEWRL_SCENEGRAPH_RENDERFUNCS_H__
29#define __FREEWRL_SCENEGRAPH_RENDERFUNCS_H__
32void resetGlobalShader(
void);
33void 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];
51void render_node(
struct X3D_Node *node);
54void setAnchorsAnchor(
struct X3D_Anchor* anchor);
56void clearLightTable();
58void projectorTable_clear();
60void setLightState(GLint light,
int status);
61void setLightType(GLint light,
int type);
64void setLightChangedFlag(GLint light);
65void fwglLightfv (
int light,
int pname, GLfloat *params);
66void fwglLightf (
int light,
int pname, GLfloat param);
67void initializeLightTables(
void);
68void sendAttribToGPU(
int myType,
int mySize,
int xtype,
int normalized,
int stride,
float *pointer,
int,
char*,
int);
69void sendArraysToGPU (
int mode,
int first,
int count);
70void sendBindBufferToGPU (GLenum target, GLuint buffer,
char *,
int);
71void sendElementsToGPU (
int mode,
int count,
unsigned short *indices);
72void render_hier(
struct X3D_Node *p,
int rwhat);
74void restoreGlobalShader();
77typedef struct ivec4 {
int X;
int Y;
int W;
int H;}
ivec4;
80void popviewport(
Stack *vpstack);
81void setcurrentviewport(
Stack *_vpstack);
82int currentviewportvisible(
Stack *vpstack);
89void usehit_add(
struct X3D_Node *node,
double *modelviewmatrix);
90void usehit_add2(
struct X3D_Node *node,
double *modelviewmatrix,
void *userdata);
93void usehitB_add(
struct X3D_Node *node,
double *modelviewmatrix);
94void usehitB_add2(
struct X3D_Node *node,
double *modelviewmatrix,
void *userdata);
96Stack *getUseHitBStack();