void R_RenderView(void); // must set r_refdef and call R_UpdateVariables first
-void R_InitSky (unsigned char *src, int bytesperpixel); // called at level load
-
void R_SkinFrame_PrepareForPurge(void);
void R_SkinFrame_MarkUsed(skinframe_t *skinframe);
void R_SkinFrame_Purge(void);
vec3_t colormap_shirtcolor;
// view location in model space
vec3_t modelorg; // TODO: rename this
+ // polygon offset data for submodels
+ float basepolygonfactor;
+ float basepolygonoffset;
// current texture in batching code
texture_t *texture;
// whether lightmapping is active on this batch
void RSurf_ActiveWorldEntity(void);
void RSurf_ActiveModelEntity(const entity_render_t *ent, qboolean wantnormals, qboolean wanttangents);
void RSurf_CleanUp(void);
+void RSurf_SetupDepthAndCulling(void);
void R_Mesh_ResizeArrays(int newvertices);
}
rsurfacepass_t;
+typedef enum gl20_texunit_e
+{
+ GL20TU_NORMAL = 0,
+ GL20TU_COLOR = 1,
+ GL20TU_GLOSS = 2,
+ GL20TU_GLOW = 3,
+ GL20TU_SECONDARY_NORMAL = 4,
+ GL20TU_SECONDARY_COLOR = 5,
+ GL20TU_SECONDARY_GLOSS = 6,
+ GL20TU_SECONDARY_GLOW = 7,
+ GL20TU_PANTS = 8,
+ GL20TU_SHIRT = 9,
+ GL20TU_FOGMASK = 10,
+ GL20TU_LIGHTMAP = 11,
+ GL20TU_DELUXEMAP = 12,
+ GL20TU_REFRACTION = 13,
+ GL20TU_REFLECTION = 14,
+ GL20TU_ATTENUATION = 3,
+ GL20TU_CUBE = 13,
+}
+gl20_texunit;
+
int R_SetupSurfaceShader(const vec3_t lightcolorbase, qboolean modellighting, float ambientscale, float diffusescale, float specularscale, rsurfacepass_t pass);
#endif