size_t size;
qboolean isindexbuffer;
qboolean isdynamic;
+ qboolean isindex16;
char name[MAX_QPATH];
}
r_meshbuffer_t;
TEXTURELAYERTYPE_INVALID,
TEXTURELAYERTYPE_LITTEXTURE,
TEXTURELAYERTYPE_TEXTURE,
- TEXTURELAYERTYPE_FOG,
+ TEXTURELAYERTYPE_FOG
}
texturelayertype_t;
// lightmap textures
int num_originallightmaps;
int num_mergedlightmaps;
- int num_lightmapmergepower;
+ int num_lightmapmergedwidthpower;
+ int num_lightmapmergedheightpower;
+ int num_lightmapmergedwidthheightdeluxepower;
int num_lightmapmerge;
rtexture_t **data_lightmaps;
rtexture_t **data_deluxemaps;
int nummodelbrushes;
// BIH (Bounding Interval Hierarchy) for this (sub)model
bih_t collision_bih;
+ bih_t render_bih; // if not set, use collision_bih instead for rendering purposes too
// for md3 models
int num_tags;
int num_tagframes;
qboolean Mod_LoadTextureFromQ3Shader(texture_t *texture, const char *name, qboolean warnmissing, qboolean fallback, int defaulttexflags);
extern cvar_t r_mipskins;
+extern cvar_t r_mipnormalmaps;
typedef struct skeleton_s
{
void Mod_CollisionBIH_TraceBox(dp_model_t *model, const struct frameblend_s *frameblend, const skeleton_t *skeleton, struct trace_s *trace, const vec3_t start, const vec3_t boxmins, const vec3_t boxmaxs, const vec3_t end, int hitsupercontentsmask);
void Mod_CollisionBIH_TracePoint_Mesh(dp_model_t *model, const struct frameblend_s *frameblend, const skeleton_t *skeleton, struct trace_s *trace, const vec3_t start, int hitsupercontentsmask);
int Mod_CollisionBIH_PointSuperContents_Mesh(struct model_s *model, int frame, const vec3_t point);
-void Mod_MakeCollisionBIH(dp_model_t *model, qboolean userendersurfaces);
+bih_t *Mod_MakeCollisionBIH(dp_model_t *model, qboolean userendersurfaces, bih_t *out);
// alias models
struct frameblend_s;