]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_shared.h
reworked most of q3bsp q3 shader loading, now supports more shader effects (the first...
[xonotic/darkplaces.git] / model_shared.h
index e1fc004a53899f7d33c75441dc9293e963a436a3..e8148fb25971ad33320ad2184ef5b978208432cc 100644 (file)
@@ -215,12 +215,14 @@ typedef struct texture_s
        float specularscale;
        float specularpower;
 
+       // from q3 shaders
+       int customblendfunc[2];
+
        int currentnumlayers;
        texturelayer_t currentlayers[16];
 
        // q3bsp
        char name[64];
-       char firstpasstexturename[64]; // used only during loading
        int surfaceflags;
        int supercontents;
        int surfaceparms;
@@ -447,9 +449,10 @@ typedef struct model_brushq3_s
        int num_models;
        q3dmodel_t *data_models;
 
-       // freed after loading!
+       // used only during loading - freed after loading!
        int num_vertices;
        float *data_vertex3f;
+       float *data_normal3f;
        float *data_texcoordtexture2f;
        float *data_texcoordlightmap2f;
        float *data_color4f;
@@ -616,7 +619,7 @@ int Mod_BuildVertexRemapTableFromElements(int numelements, const int *elements,
 void Mod_BuildTriangleNeighbors(int *neighbors, const int *elements, int numtriangles);
 void Mod_ValidateElements(int *elements, int numtriangles, int firstvertex, int numverts, const char *filename, int fileline);
 void Mod_BuildNormals(int firstvertex, int numvertices, int numtriangles, const float *vertex3f, const int *elements, float *normal3f, qboolean areaweighting);
-void Mod_BuildTextureVectorsAndNormals(int firstvertex, int numvertices, int numtriangles, const float *vertex, const float *texcoord, const int *elements, float *svectors, float *tvectors, float *normals, qboolean areaweighting);
+void Mod_BuildTextureVectorsFromNormals(int firstvertex, int numvertices, int numtriangles, const float *vertex3f, const float *texcoord2f, const float *normal3f, const int *elements, float *svector3f, float *tvector3f, qboolean areaweighting);
 
 void Mod_AllocSurfMesh(mempool_t *mempool, int numvertices, int numtriangles, qboolean lightmapoffsets, qboolean vertexcolors, qboolean neighbors);