]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
New shader keyword dptransparentsort (can be "sky", "distance", "hud") which forces...
[xonotic/darkplaces.git] / model_shared.h
index f4e2e3c5aef4e6926d3ca9c5be649575f32dd587..dedd4d8ce04d589a8bfd76a9d384e967e9106663 100644 (file)
@@ -251,6 +251,7 @@ shadowmesh_t;
 #define Q3TEXTUREFLAG_REFLECTION 512
 #define Q3TEXTUREFLAG_WATERSHADER 1024
 #define Q3TEXTUREFLAG_CAMERA 2048
+#define Q3TEXTUREFLAG_TRANSPARENTSORT 4096
 
 #define Q3PATHLENGTH 64
 #define TEXTURE_MAXFRAMES 64
@@ -426,6 +427,12 @@ typedef enum dpoffsetmapping_technique_s
        OFFSETMAPPING_RELIEF            // relief
 }dpoffsetmapping_technique_t;
 
+typedef enum dptransparentsort_category_e
+{
+       TRANSPARENTSORT_SKY,
+       TRANSPARENTSORT_DISTANCE,
+       TRANSPARENTSORT_HUD,
+}dptransparentsortcategory_t;
 
 typedef struct q3shaderinfo_s
 {
@@ -477,6 +484,9 @@ typedef struct q3shaderinfo_s
        // polygonoffset (only used if Q3TEXTUREFLAG_POLYGONOFFSET)
        float biaspolygonoffset, biaspolygonfactor;
 
+       // transparent sort category
+       dptransparentsortcategory_t transparentsort;
+
        // gloss
        float specularscalemod;
        float specularpowermod;
@@ -618,6 +628,9 @@ typedef struct texture_s
        float offsetscale;
        float offsetbias;
 
+       // transparent sort category
+       dptransparentsortcategory_t transparentsort;
+
        // gloss
        float specularscalemod;
        float specularpowermod;