FTEQW
Documentation of the FTE engine source tree.
com_mesh.h
Go to the documentation of this file.
1#ifndef COM_MESH_H
2#define COM_MESH_H
3
4#include "quakedef.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#include "hash.h"
11#include "shader.h"
12
13#ifdef SKELETALMODELS
14#include <stdlib.h>
15#endif
16
17#ifdef HALFLIFEMODELS
18#include "model_hl.h"
19#endif
20
21struct galiasinfo_s; //per-surface info.
22
23#ifdef NONSKELETALMODELS
24//a single pose within an animation (note: always refered to via a framegroup, even if there's only one frame in that group).
25typedef struct
26{
27 vecV_t *ofsverts;
28#ifndef SERVERONLY
32
37#endif
38
42#endif
43
44typedef struct galiasevent_s
45{
47 float timestamp;
48 int code;
49 char *data;
51
52//a frame group (aka: animation)
53typedef struct galiasanimation_s
54{
55#ifdef SKELETALMODELS
56 skeltype_t skeltype; //for models with transforms, states that bones need to be transformed from their parent.
57 //this is actually bad, and can result in bones shortening as they interpolate.
58 float *(QDECL *GetRawBones)(const struct galiasinfo_s *mesh, const struct galiasanimation_s *a, float time, float *bonematrixstorage, int numbones);
59 void *boneofs; //numposes*12*numbones
60#endif
63 //float *poseendtime; //first starts at 0, anim duration is poseendtime[numposes-1]
64 float rate; //average framerate of animation.
65 int action;
67#ifdef NONSKELETALMODELS
69#endif
71 char name[64];
73
75#ifdef SKELETALMODELS
77{
78 char name[64];
79 int parent;
80// float radius;
81 float inverse[12];
82};
83
84typedef struct
85{
86 //should be load-time only
87 //use of this prevents the use of glsl acceleration. the framerate loss is of the order of 90%
88 //skeletal poses refer to this.
92#ifndef SERVERONLY
94#endif
96#endif
97
98//we can't be bothered with animating skins.
99//We'll load up to four of them but after that you're on your own
100#ifndef SERVERONLY
101typedef struct
102{
104 qbyte *texels; //this is 8bit for frame 0 only. only valid in q1 models without replacement textures, used for colourising player skins.
105 const char *defaultshader;
106 char shadername[MAX_QPATH];
110{
116 char name[MAX_QPATH];
117};
118
119typedef struct
120{
121 char name[MAX_QPATH];
123 unsigned int tcolour;
124 unsigned int bcolour;
125 unsigned int pclass;
127 unsigned int subframe;
130#endif
132
133typedef struct
134{
135 char name[64];
137 float ang[3][3];
138} md3tag_t;
139
140typedef struct galiasinfo_s
141{
142 char surfacename[MAX_QPATH];
143 unsigned short geomset;
144 unsigned short geomid;
147
148 //for hitmodel
149 unsigned int contents; //default CONTENTS_BODY
150 q2csurface_t csurface; //flags, and also collision name, if useful...
151 unsigned int surfaceid; //the body reported to qc via trace_surface
152
153 float mindist;
154 float maxdist;
155
157 float lerpcutoff; //hack. should probably be part of the entity structure, but I really don't want new models (and thus code) to have access to this ugly inefficient hack. make your models properly in the first place.
158
160//#ifndef SERVERONLY
162//#endif
163
164 int shares_verts; //used with models with two shaders using the same vertex. set to the surface number to inherit from (or itself).
165 int shares_bones; //use last mesh's bones. set to the surface number to inherit from (or itself).
166
168
169//#ifndef SERVERONLY
173 byte_vec4_t *ofs_rgbaub;
174//#endif
175
178
180
181#ifdef SKELETALMODELS
182 boneidx_t *bonemap; //filled in automatically if our mesh has more gpu bones than we can support
183 unsigned int mappedbones;
184 unsigned int nummorphs; //extra data after the xyz/norm/stvect arrays
185 const float *(QDECL *AnimateMorphs)(const struct galiasinfo_s *surf, const framestate_t *framestate);
187
188 float *baseframeofs; /*non-heirachical*/
191
198
205#endif
209 vboarray_t vborgba; //yeah, just you try reading THAT as an actual word.
210 void *vbomem;
211 void *ebomem;
212
213//these exist only in the root mesh.
214#ifdef MD3MODELS
218#else
219 FTE_DEPRECATED int numtagframes;
220 FTE_DEPRECATED int numtags;
221 FTE_DEPRECATED md3tag_t *ofstags;
222#endif
223
224 void *ctx; //loader-specific stuff. must be ZG_Malloced if it lasts beyond the loader.
225 unsigned int warned; //passed around at load time, so we don't spam warnings
227
228struct terrainfuncs_s;
229struct bihleaf_s;
230typedef struct modplugfuncs_s
231{
233
234 //format handling
235 int (QDECL *RegisterModelFormatText)(const char *formatname, char *magictext, qboolean (QDECL *load) (struct model_s *mod, void *buffer, size_t fsize));
236 int (QDECL *RegisterModelFormatMagic)(const char *formatname, qbyte *magic,size_t magicsize, qboolean (QDECL *load) (struct model_s *mod, void *buffer, size_t fsize));
237 void (QDECL *UnRegisterModelFormat)(int idx);
238 void (QDECL *UnRegisterAllModelFormats)(void);
239
240 //util
241 void (QDECL *StripExtension) (const char *in, char *out, int outlen);
242
243 //matrix maths
244 void (QDECL *ConcatTransforms) (const float in1[3][4], const float in2[3][4], float out[3][4]);
245 void (QDECL *M3x4_Invert) (const float *in1, float *out);
246 void (QDECL *VectorAngles)(const float *forward, const float *up, float *result, qboolean meshpitch);
248 void (QDECL *GenMatrixPosQuat4Scale)(const vec3_t pos, const vec4_t quat, const vec3_t scale, float result[12]);
249
250 //bone stuff
251 void (QDECL *ForceConvertBoneData)(skeltype_t sourcetype, const float *sourcedata, size_t bonecount, galiasbone_t *bones, skeltype_t desttype, float *destbuffer, size_t destbonecount);
252
253 //texturing
254 image_t *(QDECL *GetTexture)(const char *identifier, const char *subpath, unsigned int flags, void *fallbackdata, void *fallbackpalette, int fallbackwidth, int fallbackheight, uploadfmt_t fallbackfmt);
255 void (QDECL *AccumulateTextureVectors)(vecV_t *const vc, vec2_t *const tc, vec3_t *nv, vec3_t *sv, vec3_t *tv, const index_t *idx, int numidx, qboolean calcnorms);
256 void (QDECL *NormaliseTextureVectors)(vec3_t *n, vec3_t *s, vec3_t *t, int v, qboolean calcnorms);
257
258 model_t *(QDECL *GetModel)(const char *identifier, enum mlverbosity_e verbosity);
259 model_t *(QDECL *BeginSubmodelLoad)(const char *identifier);
260 qboolean (*LoadEntities)(struct model_s *mod, const char *entdata, size_t entdatasize);
261 void (*LoadMapArchive)(struct model_s *mod, void *archivedata, size_t archivesize);
262 void (*BIH_Build) (struct model_s *mod, struct bihleaf_s *leafs, size_t numleafs);
264 size_t (*ClipPlaneToBrush)(vecV_t *points, size_t maxpoints, void *planes, size_t planestride, size_t numplanes, vec4_t face);
265 shader_t *(*RegisterBasicShader)(struct model_s *mod, const char *texname, unsigned int usageflags, const char *shadertext, uploadfmt_t pixelfmt, unsigned int width, unsigned int height, void *pixeldata, void *palettedata);
266 void (*Batches_Build)(struct model_s *mod, builddata_t *bd);
268 entity_t *(*NewSceneEntity) (void);
269 void (*EndSubmodelLoad)(struct model_s *submod, int modelloadstate);
270#if sizeof_index_t==2
271 #define plugmodfuncs_name "Models"
272#else
273 #define plugmodfuncs_name "Models_IDX" STRINGIFY(sizeof_index_t)
274#endif
276#define MODPLUGFUNCS_VERSION 3
277
278#ifdef SKELETALMODELS
279void Alias_TransformVerticies(float *bonepose, galisskeletaltransforms_t *weights, int numweights, vecV_t *xyzout, vec3_t *normout);
280void QDECL Alias_ForceConvertBoneData(skeltype_t sourcetype, const float *sourcedata, size_t bonecount, galiasbone_t *bones, skeltype_t desttype, float *destbuffer, size_t destbonecount);
281#endif
282qboolean Alias_GAliasBuildMesh(mesh_t *mesh, vbo_t **vbop, galiasinfo_t *inf, int surfnum, entity_t *e, qboolean allowskel);
283void Mod_DestroyMesh(galiasinfo_t *galias);
284void Alias_FlushCache(void);
285void Alias_Shutdown(void);
286void Alias_Register(void);
287shader_t *Mod_ShaderForSkin(model_t *model, int surfaceidx, int num, float time, texnums_t **out_texnums);
288const char *Mod_SkinNameForNum(model_t *model, int surfaceidx, int num);
289const char *Mod_SurfaceNameForNum(model_t *model, int num);
290const char *Mod_FrameNameForNum(model_t *model, int surfaceidx, int num);
291const char *Mod_SkinNameForNum(model_t *model, int surfaceidx, int num);
292qboolean Mod_FrameInfoForNum(model_t *model, int surfaceidx, int num, char **name, int *numframes, float *duration, qboolean *loop, int *act);
293
294qboolean Mod_DoCRC(model_t *mod, char *buffer, int buffersize);
295
296void QDECL Mod_AccumulateTextureVectors(vecV_t *const vc, vec2_t *const tc, vec3_t *nv, vec3_t *sv, vec3_t *tv, const index_t *idx, int numidx, qboolean calcnorms);
298void QDECL Mod_NormaliseTextureVectors(vec3_t *n, vec3_t *s, vec3_t *t, int v, qboolean calcnorms);
300
301#ifdef __cplusplus
302};
303#endif
304#endif //COM_MESH_H
qboolean
Definition: api_menu.h:34
vec_t vec3_t[3]
Definition: api_menu.h:40
vec_t vec4_t[4]
Definition: api_menu.h:41
vec_t vec2_t[2]
Definition: api_menu.h:39
unsigned int width
Definition: bymorphed.h:4
unsigned int height
Definition: bymorphed.h:5
cvar_t model
Definition: cl_main.c:153
double time
Definition: cl_main.c:306
void StripExtension(char *path)
Definition: qcc_cmdlib.c:1338
vbo_t * vbop
Definition: com_mesh.c:738
int bonecount
Definition: com_mesh.c:726
void R_Generate_Mesh_ST_Vectors(mesh_t *mesh)
Definition: gl_alias.c:2135
struct galiasinfo_s galiasinfo_t
void QDECL Alias_ForceConvertBoneData(skeltype_t sourcetype, const float *sourcedata, size_t bonecount, galiasbone_t *bones, skeltype_t desttype, float *destbuffer, size_t destbonecount)
Definition: com_mesh.c:688
struct galiasanimation_s galiasanimation_t
struct modplugfuncs_s plugmodfuncs_t
void Mod_AccumulateMeshTextureVectors(mesh_t *mesh)
Definition: com_mesh.c:222
struct galiasevent_s galiasevent_t
void Alias_FlushCache(void)
Definition: com_mesh.c:1652
void Alias_Register(void)
const char * Mod_SkinNameForNum(model_t *model, int surfaceidx, int num)
Definition: com_mesh.c:5778
void Alias_Shutdown(void)
Definition: com_mesh.c:1657
const char * Mod_FrameNameForNum(model_t *model, int surfaceidx, int num)
Definition: com_mesh.c:5659
qboolean Mod_FrameInfoForNum(model_t *model, int surfaceidx, int num, char **name, int *numframes, float *duration, qboolean *loop, int *act)
Definition: com_mesh.c:5692
void QDECL Mod_AccumulateTextureVectors(vecV_t *const vc, vec2_t *const tc, vec3_t *nv, vec3_t *sv, vec3_t *tv, const index_t *idx, int numidx, qboolean calcnorms)
Definition: com_mesh.c:152
void Mod_DestroyMesh(galiasinfo_t *galias)
Definition: com_mesh.c:3066
qboolean Alias_GAliasBuildMesh(mesh_t *mesh, vbo_t **vbop, galiasinfo_t *inf, int surfnum, entity_t *e, qboolean allowskel)
Definition: com_mesh.c:1670
const char * Mod_SurfaceNameForNum(model_t *model, int num)
Definition: com_mesh.c:5820
void QDECL Mod_NormaliseTextureVectors(vec3_t *n, vec3_t *s, vec3_t *t, int v, qboolean calcnorms)
Definition: com_mesh.c:227
qboolean Mod_DoCRC(model_t *mod, char *buffer, int buffersize)
Definition: com_mesh.c:67
void Alias_TransformVerticies(float *bonepose, galisskeletaltransforms_t *weights, int numweights, vecV_t *xyzout, vec3_t *normout)
shader_t * Mod_ShaderForSkin(model_t *model, int surfaceidx, int num, float time, texnums_t **out_texnums)
Definition: com_mesh.c:5733
int num
Definition: com_phys_ode.c:314
unsigned char qbyte
Definition: common.h:127
s
Definition: execloop.h:53
static int verbosity
Definition: fs_zip.c:16
mesh_t ** meshes
Definition: gl_backend.c:140
void size_t buffersize
Definition: gl_model.c:912
char * formatname
Definition: gl_model.c:908
unsigned int boneidx_t
Definition: gl_model.h:67
boneidx_t bone_vec4_t[4]
Definition: gl_model.h:75
vec3_t * points
Definition: gl_shadow.c:1323
unsigned int maxpoints
Definition: gl_shadow.c:1322
GLfloat t
Definition: gl_vidcommon.c:184
GLuint GLcharARB * name
Definition: glquake.h:155
const GLfloat * v
Definition: glsupp.h:466
keynum_t pos
Definition: in_sdl.c:105
void QDECL GenMatrixPosQuat4Scale(const vec3_t pos, const vec4_t quat, const vec3_t scale, float result[12])
Definition: mathlib.c:831
void QDECL AngleVectors(const vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
Definition: mathlib.c:354
void QDECL VectorAngles(const float *forward, const float *up, float *result, qboolean meshpitch)
Definition: mathlib.c:294
skeltype_t
Definition: merged.h:37
mlverbosity_e
Definition: merged.h:170
int const char * e
Definition: pr_lua.c:259
int idx
Definition: pr_lua.c:221
evalc_t angles
Definition: pr_menu.c:1357
cm_surface_t * surf
Definition: r_d3.c:697
unsigned short index_t
Definition: render.h:56
enum uploadfmt uploadfmt_t
server_t sv
Definition: sv_init.c:38
static ALC_API ALCvoid * buffer
Definition: snd_al.c:259
static AL_API ALsizei n
Definition: snd_al.c:161
static spx_int16_t * in
Definition: snd_dma.c:488
Definition: com_bih.h:103
Definition: hash.h:11
Definition: render.h:598
Definition: world.h:31
Definition: render.h:99
Definition: merged.h:59
Definition: com_mesh.h:54
void * boneofs
Definition: com_mesh.h:59
skeltype_t skeltype
Definition: com_mesh.h:56
galiasevent_t * events
Definition: com_mesh.h:70
float rate
Definition: com_mesh.h:64
float actionweight
Definition: com_mesh.h:66
int action
Definition: com_mesh.h:65
qboolean loop
Definition: com_mesh.h:61
int numposes
Definition: com_mesh.h:62
galiaspose_t * poseofs
Definition: com_mesh.h:68
float *QDECL * GetRawBones(const struct galiasinfo_s *mesh, const struct galiasanimation_s *a, float time, float *bonematrixstorage, int numbones)
Definition: com_mesh.h:77
float inverse[12]
Definition: com_mesh.h:81
int parent
Definition: com_mesh.h:79
Definition: com_mesh.h:120
unsigned int pclass
Definition: com_mesh.h:125
unsigned int tcolour
Definition: com_mesh.h:123
unsigned int subframe
Definition: com_mesh.h:127
bucket_t bucket
Definition: com_mesh.h:128
unsigned int bcolour
Definition: com_mesh.h:124
int skinnum
Definition: com_mesh.h:126
texnums_t texnum
Definition: com_mesh.h:122
Definition: com_mesh.h:45
char * data
Definition: com_mesh.h:49
struct galiasevent_s * next
Definition: com_mesh.h:46
float timestamp
Definition: com_mesh.h:47
int code
Definition: com_mesh.h:48
Definition: com_mesh.h:141
vec3_t * ofs_skel_tvect
Definition: com_mesh.h:195
q2csurface_t csurface
Definition: com_mesh.h:150
vec2_t * ofs_lmst_array
Definition: com_mesh.h:171
float * baseframeofs
Definition: com_mesh.h:188
vboarray_t vbo_skel_verts
Definition: com_mesh.h:199
int numtags
Definition: com_mesh.h:216
int numbones
Definition: com_mesh.h:189
int * ofs_trineighbours
Definition: com_mesh.h:156
vboarray_t vbotexcoords
Definition: com_mesh.h:207
float lerpcutoff
Definition: com_mesh.h:157
unsigned int contents
Definition: com_mesh.h:149
vboarray_t vbo_skel_normals
Definition: com_mesh.h:200
void * ctx
Definition: com_mesh.h:224
unsigned int warned
Definition: com_mesh.h:225
int meshrootbone
Definition: com_mesh.h:186
bone_vec4_t * ofs_skel_idx
Definition: com_mesh.h:196
vboarray_t vbo_skel_svector
Definition: com_mesh.h:201
const float *QDECL * AnimateMorphs(const struct galiasinfo_s *surf, const framestate_t *framestate)
unsigned short geomset
Definition: com_mesh.h:143
vboarray_t vbolmtexcoords
Definition: com_mesh.h:208
vec4_t * ofs_rgbaf
Definition: com_mesh.h:172
struct galiasinfo_s * nextsurf
Definition: com_mesh.h:179
int numverts
Definition: com_mesh.h:167
unsigned int surfaceid
Definition: com_mesh.h:151
vec3_t * ofs_skel_svect
Definition: com_mesh.h:194
unsigned int mappedbones
Definition: com_mesh.h:183
galiasanimation_t * ofsanimations
Definition: com_mesh.h:177
FTE_DEPRECATED md3tag_t * ofstags
Definition: com_mesh.h:221
int numtagframes
Definition: com_mesh.h:215
galiasskin_t * ofsskins
Definition: com_mesh.h:161
byte_vec4_t * ofs_rgbaub
Definition: com_mesh.h:173
index_t * ofs_indexes
Definition: com_mesh.h:145
vboarray_t vborgba
Definition: com_mesh.h:209
vboarray_t vbo_skel_bweight
Definition: com_mesh.h:204
vboarray_t vbo_skel_bonenum
Definition: com_mesh.h:203
void * vbomem
Definition: com_mesh.h:210
md3tag_t * ofstags
Definition: com_mesh.h:217
vecV_t * ofs_skel_xyz
Definition: com_mesh.h:192
int numanimations
Definition: com_mesh.h:176
boneidx_t * bonemap
Definition: com_mesh.h:182
int shares_verts
Definition: com_mesh.h:164
vboarray_t vbo_skel_tvector
Definition: com_mesh.h:202
unsigned short geomid
Definition: com_mesh.h:144
void * ebomem
Definition: com_mesh.h:211
vec4_t * ofs_skel_weight
Definition: com_mesh.h:197
int shares_bones
Definition: com_mesh.h:165
float maxdist
Definition: com_mesh.h:154
galiasbone_t * ofsbones
Definition: com_mesh.h:190
char surfacename[MAX_QPATH]
Definition: com_mesh.h:142
float mindist
Definition: com_mesh.h:153
FTE_DEPRECATED int numtagframes
Definition: com_mesh.h:219
vec3_t * ofs_skel_norm
Definition: com_mesh.h:193
FTE_DEPRECATED int numtags
Definition: com_mesh.h:220
vboarray_t vboindicies
Definition: com_mesh.h:206
int numskins
Definition: com_mesh.h:159
unsigned int nummorphs
Definition: com_mesh.h:184
vec2_t * ofs_st_array
Definition: com_mesh.h:170
int numindexes
Definition: com_mesh.h:146
Definition: com_mesh.h:26
vec3_t * ofsnormals
Definition: com_mesh.h:29
vec3_t scale
Definition: com_mesh.h:39
vec3_t * ofssvector
Definition: com_mesh.h:31
vecV_t * ofsverts
Definition: com_mesh.h:27
vec3_t * ofstvector
Definition: com_mesh.h:30
vboarray_t vbosvector
Definition: com_mesh.h:35
vec3_t scale_origin
Definition: com_mesh.h:40
vboarray_t vboverts
Definition: com_mesh.h:33
vboarray_t vbotvector
Definition: com_mesh.h:36
vboarray_t vbonormals
Definition: com_mesh.h:34
Definition: com_mesh.h:110
int skinwidth
Definition: com_mesh.h:111
skinframe_t * frame
Definition: com_mesh.h:115
int numframes
Definition: com_mesh.h:114
int skinheight
Definition: com_mesh.h:112
float skinspeed
Definition: com_mesh.h:113
Definition: com_mesh.h:85
vec3_t normal
Definition: com_mesh.h:93
int boneindex
Definition: com_mesh.h:90
int vertexindex
Definition: com_mesh.h:89
vec4_t org
Definition: com_mesh.h:91
Definition: merged.h:238
Definition: com_mesh.h:134
vec3_t org
Definition: com_mesh.h:136
Definition: gl_model.h:90
Definition: gl_model.h:972
int numframes
Definition: gl_model.h:987
int numplanes
Definition: gl_model.h:1018
mplane_t * planes
Definition: gl_model.h:1019
Definition: com_mesh.h:231
vec2_t *const vec3_t vec3_t vec3_t const index_t int qboolean calcnorms
Definition: com_mesh.h:255
const float size_t galiasbone_t skeltype_t float * destbuffer
Definition: com_mesh.h:251
char * magictext
Definition: com_mesh.h:235
const float * sourcedata
Definition: com_mesh.h:251
vec3_t vec3_t * t
Definition: com_mesh.h:256
const float size_t bonecount
Definition: com_mesh.h:251
vec3_t * s
Definition: com_mesh.h:256
const float * up
Definition: com_mesh.h:246
vec2_t *const vec3_t vec3_t vec3_t const index_t int numidx
Definition: com_mesh.h:255
image_t *QDECL * GetTexture(const char *identifier, const char *subpath, unsigned int flags, void *fallbackdata, void *fallbackpalette, int fallbackwidth, int fallbackheight, uploadfmt_t fallbackfmt)
void(* RenderDynamicLightmaps)(struct msurface_s *surf)
Definition: com_mesh.h:267
const float size_t galiasbone_t skeltype_t desttype
Definition: com_mesh.h:251
void(* EndSubmodelLoad)(struct model_s *submod, int modelloadstate)
Definition: com_mesh.h:269
const float in2[3][4]
Definition: com_mesh.h:244
model_t *QDECL * BeginSubmodelLoad(const char *identifier)
const float size_t galiasbone_t skeltype_t float size_t destbonecount
Definition: com_mesh.h:251
int version
Definition: com_mesh.h:232
char * out
Definition: com_mesh.h:241
vec3_t vec3_t int v
Definition: com_mesh.h:256
const float float qboolean meshpitch
Definition: com_mesh.h:246
size_t(* ClipPlaneToBrush)(vecV_t *points, size_t maxpoints, void *planes, size_t planestride, size_t numplanes, vec4_t face)
Definition: com_mesh.h:264
void(QDECL *UnRegisterModelFormat)(int idx)
const float size_t galiasbone_t * bones
Definition: com_mesh.h:251
vec2_t *const tc
Definition: com_mesh.h:255
void(* LoadMapArchive)(struct model_s *mod, void *archivedata, size_t archivesize)
Definition: com_mesh.h:261
void(* BIH_BuildAlias)(struct model_s *mod, galiasinfo_t *meshes)
Definition: com_mesh.h:263
model_t *QDECL * GetModel(const char *identifier, enum mlverbosity_e verbosity)
qbyte * magic
Definition: com_mesh.h:236
vec2_t *const vec3_t vec3_t * sv
Definition: com_mesh.h:255
vec3_t forward
Definition: com_mesh.h:247
char void * buffer
Definition: com_mesh.h:235
void(QDECL *UnRegisterAllModelFormats)(void)
void(* Batches_Build)(struct model_s *mod, builddata_t *bd)
Definition: com_mesh.h:266
vec2_t *const vec3_t vec3_t vec3_t const index_t * idx
Definition: com_mesh.h:255
qboolean(* LoadEntities)(struct model_s *mod, const char *entdata, size_t entdatasize)
Definition: com_mesh.h:260
vec2_t *const vec3_t * nv
Definition: com_mesh.h:255
float * out
Definition: com_mesh.h:245
qbyte size_t magicsize
Definition: com_mesh.h:236
char void size_t fsize
Definition: com_mesh.h:235
qbyte size_t void * buffer
Definition: com_mesh.h:236
const vec4_t quat
Definition: com_mesh.h:248
int(QDECL *RegisterModelFormatText)(const char *formatname
char qboolean(QDECL *load)(struct model_s *mod
vec3_t vec3_t int qboolean calcnorms
Definition: com_mesh.h:256
vec3_t vec3_t right
Definition: com_mesh.h:247
const float float * result
Definition: com_mesh.h:246
const vec4_t const vec3_t scale
Definition: com_mesh.h:248
char int outlen
Definition: com_mesh.h:241
vec2_t *const vec3_t vec3_t vec3_t * tv
Definition: com_mesh.h:255
void(* BIH_Build)(struct model_s *mod, struct bihleaf_s *leafs, size_t numleafs)
Definition: com_mesh.h:262
Definition: gl_model.h:459
Definition: shader.h:602
Definition: com_mesh.h:102
texnums_t texnums
Definition: com_mesh.h:107
const char * defaultshader
Definition: com_mesh.h:105
qbyte * texels
Definition: com_mesh.h:104
shader_t * shader
Definition: com_mesh.h:103
Definition: merged.h:383
Definition: gl_model.h:320
netadr_t a
Definition: sv_master.c:141
Definition: merged.h:342
unsigned int flags
Definition: valid.c:313