]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
force R_GetCurrentTexture to regenerate data when
[xonotic/darkplaces.git] / client.h
index 96b8de3133feca89434b8c78602d5e02ded8b125..38cf7b84117a21f5fb84fa045627023f4930329c 100644 (file)
--- a/client.h
+++ b/client.h
@@ -143,9 +143,9 @@ typedef struct rtlight_s
        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;
@@ -362,8 +362,12 @@ typedef struct entity_render_s
        // 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;
@@ -474,6 +478,7 @@ typedef struct scoreboard_s
        float   qw_entertime;
        int             qw_ping;
        int             qw_packetloss;
+       int             qw_movementloss;
        int             qw_spectator;
        char    qw_team[8];
        char    qw_skin[MAX_QPATH];
@@ -1515,7 +1520,7 @@ r_viewport_type_t;
 
 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)
@@ -1526,6 +1531,7 @@ typedef struct r_viewport_s
        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;