rtexture_t *glowtexture;
// alpha texture (used for fogging), NULL if opaque
rtexture_t *fogtexture;
+ // detail texture (usually not used if transparent)
+ rtexture_t *detailtexture;
// total frames in sequence and alternate sequence
int anim_total[2];
float st[2];
// lightmap coordinates
float uv[2];
+ // detail texture coordinates
+ float ab[2];
}
surfvertex_t;
// no texcoord info (that can be generated from these)
int poly_numverts;
float *poly_verts;
+ // the center is useful for sorting
+ float poly_center[3];
// these are regenerated every frame
// lighting info
#define SHADERSTAGE_NORMAL 1
#define SHADERSTAGE_COUNT 2
+struct entity_render_s;
// change this stuff when real shaders are added
typedef struct Cshader_s
{
- void (*shaderfunc[SHADERSTAGE_COUNT])(msurface_t *firstsurf);
+ void (*shaderfunc[SHADERSTAGE_COUNT])(const struct entity_render_s *ent, const msurface_t *firstsurf);
// list of surfaces using this shader (used during surface rendering)
msurface_t *chain;
}