unsigned int corona_queryindex_allpixels;
/// this is R_Shadow_Cubemap(rtlight->cubemapname)
rtexture_t *currentcubemap;
- /// set by R_CacheRTLight to decide whether R_DrawRTLight should draw it
+ /// set by R_Shadow_PrepareLight to decide whether R_Shadow_DrawLight should draw it
qboolean draw;
- /// these fields are set by R_CacheRTLight for later drawing
+ /// these fields are set by R_Shadow_PrepareLight for later drawing
int cached_numlightentities;
int cached_numlightentities_noselfshadow;
int cached_numshadowentities;
// skeletal animation data (if skeleton.relativetransforms is not NULL, it overrides frameblend)
skeleton_t *skeleton;
- // animation cache index
- int animcacheindex;
+ // animation cache (pointers allocated using R_FrameData_Alloc)
+ // ONLY valid during R_RenderView! may be NULL (not cached)
+ float *animcache_vertex3f;
+ float *animcache_normal3f;
+ float *animcache_svector3f;
+ float *animcache_tvector3f;
// current lighting from map (updated ONLY by client code, not renderer)
vec3_t modellight_ambient;
float qw_entertime;
int qw_ping;
int qw_packetloss;
+ int qw_movementloss;
int qw_spectator;
char qw_team[8];
char qw_skin[MAX_QPATH];
typedef struct r_viewport_s
{
- double m[16];
+ float m[16];
matrix4x4_t cameramatrix; // from entity (transforms from camera entity to world)
matrix4x4_t viewmatrix; // actual matrix for rendering (transforms to viewspace)
matrix4x4_t projectmatrix; // actual projection matrix (transforms from viewspace to screen)
int height;
int depth;
r_viewport_type_t type;
+ float screentodepth[2]; // used by deferred renderer to calculate linear depth from device depth coordinates
}
r_viewport_t;