]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
fix typos
[xonotic/darkplaces.git] / model_shared.h
index cc350e121ffe20c673d8e9384068435cb7bcd714..8b73377e53f1c6ce1fae104337d6bf13858e6b99 100644 (file)
@@ -101,27 +101,20 @@ typedef struct blendweights_s
 }
 blendweights_t;
 
-typedef struct r_vertexposition_s
-{
-       // 12 bytes
-       float vertex3f[3];
-}
-r_vertexposition_t;
-
 typedef struct r_vertexgeneric_s
 {
-       // 24 bytes
+       // 36 bytes
        float vertex3f[3];
-       unsigned char color4ub[4];
+       float color4f[4];
        float texcoord2f[2];
 }
 r_vertexgeneric_t;
 
 typedef struct r_vertexmesh_s
 {
-       // 68 bytes
+       // 80 bytes
        float vertex3f[3];
-       unsigned char color4ub[4];
+       float color4f[4];
        float texcoordtexture2f[2];
        float texcoordlightmap2f[2];
        float svector3f[3];
@@ -190,9 +183,8 @@ typedef struct surfmesh_s
        qboolean isanimated;
 
        // vertex and index buffers for rendering
-       r_vertexposition_t *vertexposition;
        r_vertexmesh_t *vertexmesh;
-       r_meshbuffer_t *vertexpositionbuffer;
+       r_meshbuffer_t *vertex3fbuffer;
        r_meshbuffer_t *vertexmeshbuffer;
 }
 surfmesh_t;
@@ -244,9 +236,8 @@ typedef struct shadowmesh_s
        size_t vbooffset_texcoord2f;
        // vertex/index buffers for rendering
        // (created by Mod_ShadowMesh_Finish if possible)
-       r_vertexposition_t *vertexposition;
        r_vertexmesh_t *vertexmesh; // usually NULL
-       r_meshbuffer_t *vertexpositionbuffer;
+       r_meshbuffer_t *vertex3fbuffer;
        r_meshbuffer_t *vertexmeshbuffer; // usually NULL
 }
 shadowmesh_t;
@@ -454,6 +445,7 @@ typedef struct q3shaderinfo_s
        // dp-specific additions:
 
        // shadow control
+       qboolean dpnortlight;
        qboolean dpshadow;
        qboolean dpnoshadow;
 
@@ -483,6 +475,9 @@ typedef struct q3shaderinfo_s
        // gloss
        float specularscalemod;
        float specularpowermod;
+
+       // rtlightning ambient addition
+       float rtlightambient;
 #define Q3SHADERINFO_COMPARE_END specularpowermod
 }
 q3shaderinfo_t;
@@ -621,6 +616,9 @@ typedef struct texture_s
        // gloss
        float specularscalemod;
        float specularpowermod;
+
+       // diffuse and ambient
+       float rtlightambient;
 }
  texture_t;
 
@@ -1031,6 +1029,8 @@ typedef struct model_s
        void (*TracePoint)(struct model_s *model, const struct frameblend_s *frameblend, const struct skeleton_s *skeleton, struct trace_s *trace, const vec3_t start, int hitsupercontentsmask);
        // find the supercontents value at a point in this model
        int (*PointSuperContents)(struct model_s *model, int frame, const vec3_t point);
+       // trace a line against geometry in this model and report correct texture (used by r_shadow_bouncegrid)
+       void (*TraceLineAgainstSurfaces)(struct model_s *model, const struct frameblend_s *frameblend, const struct skeleton_s *skeleton, struct trace_s *trace, const vec3_t start, const vec3_t end, int hitsupercontentsmask);
        // fields belonging to some types of model
        model_sprite_t  sprite;
        model_brush_t   brush;
@@ -1056,6 +1056,7 @@ extern unsigned char *mod_base;
 //extern cvar_t gl_subdivide_size;
 // texture fullbrights
 extern cvar_t r_fullbrights;
+extern cvar_t r_enableshadowvolumes;
 
 void Mod_Init (void);
 void Mod_Reload (void);
@@ -1104,13 +1105,6 @@ qboolean Mod_LoadTextureFromQ3Shader(texture_t *texture, const char *name, qbool
 extern cvar_t r_mipskins;
 extern cvar_t r_mipnormalmaps;
 
-typedef struct skeleton_s
-{
-       const dp_model_t *model;
-       matrix4x4_t *relativetransforms;
-}
-skeleton_t;
-
 typedef struct skinfileitem_s
 {
        struct skinfileitem_s *next;