 |
Blamite Game Engine - blam!
00453.06.08.26.0624.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
3 #define RF_NONE (1 << 0)
4 #define RF_SHADER_DEBUG_1_UV (1 << 1)
5 #define RF_SHADER_DEBUG_2_UV_ADJUSTED (1 << 2)
6 #define RF_DIFFUSE_USE_TINT_ONLY (1 << 3)
7 #define RF_DIFFUSE_INCORPORATE_TINT_ALPHA (1 << 4)
8 #define RF_SKIP_UV_ADJUST (1 << 5)
9 #define RF_DIFFUSE_USE_VERTEX_COLOR (1 << 6)
bgfx_texture_info_data * create_default_color_texture(uint32_t color)
Definition: bitmaps.cpp:72
int next_free_hint
Definition: texture_storage.cpp:54
#define PBR_SLOT_DETAIL_PARAMS
Definition: materials.cpp:14
BLAM BlamWorldState * GetWorldState()
Retrieves the current world state.
Definition: world.cpp:56
void InvalidateMaterial(std::string tag_path)
Definition: materials.cpp:992
double profiling_stats[16]
Definition: types.h:40
#define SHADER_DEFAULT_SSAO
Definition: rendering.h:37
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablockForPrimitives(std::string id)
Creates a default Unlit datablock for use with 2D and 3D primitives.
Definition: materials.cpp:1032
std::string tag_path
Definition: models.cpp:21
BLAM void SubmitLightUniforms(BlamVector3 cameraPos, BlamVector3 ambientColor)
Definition: lights.cpp:79
#define SHADER_DEFAULT_UNLIT
Definition: rendering.h:31
#define PBR_SLOT_UV_SPECULAR
Definition: materials.cpp:20
Ogre::TextureAddressingMode parse_texture_addressing_mode(material_wrap_modes wrap_mode)
Converts a material texture wrapping mode enum value to the equivalent OGRE texture addressing mode.
Definition: materials.cpp:112
material_filter_modes resolve_min_filter(material_filter_modes material_filter, bitmap *bitmap_tag)
Resolves the effective minification filter mode by combining the material's requested filter mode wit...
Definition: materials.cpp:193
#define PBR_SLOT_UV_DETAIL_1
Definition: materials.cpp:22
const bgfx::Memory * build_mip_chain_rgba8(const void *base_pixel_data, int base_width, int base_height, bool treat_as_srgb)
Builds the complete mip chain for an RGBA8 texture and packages it as a bgfx::Memory pointer ready to...
Definition: bitmaps.cpp:340
if(WIN32) set(OGRE_MEDIA_PATH "Media") elseif(APPLE) set(OGRE_MEDIA_PATH "Media") elseif(UNIX) set(OGRE_MEDIA_PATH "share/$
Definition: CMakeLists.txt:15
material * tag_instance
Pointer to the tag that uses this material instance.
Definition: rendering.h:87
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:130
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablock(std::string id)
Creates a default Unlit datablock.
Definition: materials.cpp:1021
BLAM void RebuildDatablocks()
Rebuilds ALL datablocks (including instances) from their original tags.
Definition: materials.cpp:708
#define PBR_SLOT_UV_DETAIL_2
Definition: materials.cpp:23
void UpdateLayer(BlamTextureRef ref, int width, int height, const void *pixel_data, int pixel_data_size)
Definition: texture_storage.cpp:373
Definition: render_model.h:27
bool double_sided
Definition: light.h:32
BlamVector3 half_extents
Definition: types.h:347
BLAM void LoadModel(render_model *model, std::string tag_path)
Definition: models.cpp:26
bgfx::VertexBufferHandle vertex_buffer
Definition: types.h:31
bool force_mip_filtering_mode
Definition: bitmap.h:41
BLAM int GetShadowCasterCount()
Definition: shadow_casters.cpp:88
material_wrap_modes
Definition: material.h:32
BlamVector3 aabb_min
Definition: types.h:45
#define PBR_SLOT_UV_EMISSIVE
Definition: materials.cpp:19
float d
Definition: types.h:329
std::vector< array_instance * > arrays
Definition: texture_storage.cpp:61
BLAM void SetShaderFlagsUniform(uint32_t flags=0, bool use_globals=true)
Definition: shader_uniforms.cpp:153
Ogre::HlmsTypes hlms_type
The HLMS type of this material.
Definition: rendering.h:110
BLAM void ReleaseShaders()
Definition: shaders.cpp:110
int compute_mip_count(int width, int height)
Computes the number of mip levels for a 2D texture of the given dimensions.
Definition: bitmaps.cpp:273
BlamMap< std::string, shader_info * > loaded_shaders
Definition: shaders.cpp:8
BlamVector3 origin
Definition: types.h:364
std::string GetTagPath()
Retrieves the path of the tag that this tagref refers to.
Definition: tag_reference.cpp:57
#define PBR_SLOT_UV_DETAIL_0
Definition: materials.cpp:21
BLAM int GetLightCacheIndex(BlamWorldObject *object)
Definition: lights.cpp:66
std::string GetValueAsString()
Retrieves the value of the dataref as a string.
Definition: data_reference.cpp:3
BlamTextureRef array_ref
Definition: bitmaps.cpp:38
#define PBR_SLOT_PARAMS_1
Definition: materials.cpp:10
render_model * model_tag
Definition: models.cpp:11
#define PBR_SLOT_UV_ALBEDO
Definition: materials.cpp:15
void BindArraysForFrame(uint8_t first_stage)
Definition: texture_storage.cpp:424
float srgb_to_linear(float srgb_value)
Converts a single sRGB-encoded color channel value to linear space.
Definition: bitmaps.cpp:149
BLAM bool LoadPBSDatablockFromMaterialTag(Ogre::HlmsPbsDatablock *datablock, material *material_tag, std::string tag_path="")
Loads a PBS (Physically-Based Shading) datablock from a material tag.
Definition: materials.cpp:378
#define SHADER_DEFAULT_SHADOW_POINT_INSTANCED
Definition: rendering.h:42
char path[256]
The tag's path.
Definition: tags.h:145
BLAM bgfx::ProgramHandle GetDefaultProgram()
Definition: shaders.cpp:90
BLAM int GetRenderHeight()
Retrieves the current height of the viewport.
Definition: bgfx.cpp:428
BLAM void ReloadPendingShaders()
Definition: shaders.cpp:121
#define SHADER_DEFAULT_SHADOW_INSTANCED
Definition: rendering.h:41
BlamVector3 axis_z
Definition: types.h:350
float a
Definition: types.h:326
float linear_to_srgb(float linear_value)
Converts a single linear-space color channel value to sRGB encoding.
Definition: bitmaps.cpp:172
Class used to store OGRE material information.
Definition: rendering.h:103
#define RF_SHADER_DEBUG_1_UV
Definition: shader_flags.h:4
material_filter_modes resolve_mip_filter(material_filter_modes material_filter, bitmap *bitmap_tag)
Resolves the effective mip filter mode using the same inheritance rules as resolve_min_filter,...
Definition: materials.cpp:279
BLAM float * GetGlobalAsFloat(std::string name)
Retrieves a global's value as a float.
Definition: globals.cpp:403
bgfx::TextureHandle texture
Definition: types.h:263
unsigned char uint8_t
Definition: stdint.h:15
BLAM Ogre::HlmsPbsDatablock * CreateDefaultPbsDatablockForPrimitives(std::string id)
Creates a default PBS datablock for use with 2D and 3D primitives.
Definition: materials.cpp:1073
BLAM bgfx::ProgramHandle GetProgram(std::string name)
Definition: shaders.cpp:100
int GetSizeClassCount()
Definition: texture_storage.cpp:479
#define PBR_SLOT_CLEAR_COAT
Definition: materials.cpp:13
#define PBR_SLOT_UV_DETAIL_NORM_0
Definition: materials.cpp:25
BLAM bgfx::TextureHandle get_newest_bitmap()
Definition: bitmaps.cpp:463
#define SHADER_DEFAULT_SHADOW
Definition: rendering.h:39
const int BLAM_TEXTURE_INITIAL_LAYERS_PER_CLASS[BLAM_TEXTURE_SIZE_CLASS_COUNT]
Definition: texture_storage.cpp:37
int GetObjectCount()
Definition: BlamWorldState.cpp:157
BLAM bgfx::ProgramHandle GetMaterialProgram(std::string material_tag_path)
Definition: materials.cpp:956
#define PBR_SLOT_UV_DETAIL_NORM_2
Definition: materials.cpp:27
float c
Definition: types.h:328
BlamOrientedBoundingBox BlamOBB
Definition: types.h:360
mesh * model_mesh
Definition: models.cpp:13
bgfx::TextureHandle default_texture
Definition: bitmaps.cpp:9
BlamVector3 extents_max
Definition: types.h:37
BLAM void CreateDefaultUniforms()
Definition: shader_uniforms.cpp:11
bool load_pending
Definition: models.cpp:14
real near_shadow_distance
The near shadow distance of the light. If the camera is this close to the light, shadows will no long...
Definition: light.h:70
BLAM bool ReloadShader(std::string name)
Definition: shaders.cpp:79
bool LoadFromDisk(std::string vertex_shader_path, std::string fragment_shader_path)
Definition: shader_info.cpp:5
BLAM Ogre::HlmsPbsDatablock * CreateDefaultPbsDatablock(std::string id)
Creates a default PBS datablock.
Definition: materials.cpp:1062
BlamVector3 axis_y
Definition: types.h:349
std::unordered_map< std::string, bgfx_texture_info_data * > bgfx_texture_map
Map containing information on all loaded textures.
Definition: bitmaps.cpp:48
void MarkForRecreate()
Definition: BlamWorldObject_Tag.cpp:368
BLAM void ReleaseTextures()
Definition: bitmaps.cpp:495
BlamTagData * tag_data
Pointer to the tag data associated with this object.
Definition: world_objects.h:304
render_model * model_tag
Definition: models.cpp:20
Ogre::SceneManager * getSceneManager(void) const
Definition: GraphicsSystem.h:149
BlamColor color
Definition: world_objects.h:351
BlamMap< std::string, ogre_model_info_data * > render_model_map
Definition: models.cpp:26
Class representing a tag-based world object.
Definition: world_objects.h:278
BlamMap< std::string, bgfx_model_info_data * > bgfx_render_model_map
Definition: models.cpp:24
unsigned long long uint64_t
Definition: stdint.h:18
BLAM void ForceReloadAllShaders()
Definition: shaders.cpp:133
std::string tag_path
Definition: types.h:53
bool IsValidTag()
Definition: BlamWorldObject_Tag.cpp:319
std::string tag_path
The tag path of the bitmap tag that the texture originates from.
Definition: bitmaps.cpp:31
BLAM void AddShadowCaster(BlamWorldObject_TagLight *object)
Definition: shadow_casters.cpp:11
BLAM void ReleaseModels()
Definition: models.cpp:230
#define RF_SHADER_DEBUG_2_UV_ADJUSTED
Definition: shader_flags.h:5
BLAM BlamOrientedBoundingBox CreateOBBFromAABB(BlamVector3 position, BlamVector3 rotation, BlamVector3 scale, BlamVector3 local_aabb_min, BlamVector3 local_aabb_max)
Definition: raycast.cpp:82
#define tag_ligh
Definition: light.h:22
ogre_material_instance_data * CreateNewInstance(BlamTagData *referencing_tag)
Creates a new instance of this material.
Definition: ogre_material_info_data.cpp:5
#define BITMAP_DEFAULT_ROUGHNESS
Definition: rendering.h:62
BLAM bgfx::TextureHandle LoadTexture2D(std::string id, void *pixel_data, int width, int height, bgfx::TextureFormat::Enum format, int bytes_per_line, uint64_t flags=0)
Loads a 2D texture from data in memory.
Definition: bitmaps.cpp:515
BLAM bool BuildDatablockFromTag(material *material_tag, std::string tag_path)
Creates an OGRE material datablock from a material tag.
Definition: materials.cpp:795
BLAM Ogre::TextureGpu * GetTextureFromTag(std::string tag_path)
Retrieves an OGRE texture from a tag path.
Definition: textures.cpp:109
#define PBR_SLOT_UV_OCCLUSION
Definition: materials.cpp:18
bitmap_filtering_mode filtering_mode_mag
Definition: bitmap.h:37
std::vector< submesh * > submeshes
Definition: types.h:55
BLAM bool LoadUnlitDatablockFromMaterialTag(Ogre::HlmsUnlitDatablock *datablock, material *material_tag, std::string tag_path="")
Loads an Unlit datablock from a material tag.
Definition: materials.cpp:211
vector2 size
The resolution of the bitmap.
Definition: bitmap.h:63
uint8_t slot
Definition: types.h:261
bgfx::IndexBufferHandle index_buffer
Definition: types.h:32
bgfx::TextureHandle texture
The bgfx texture data.
Definition: bitmaps.cpp:35
bgfx::VertexLayout layout
Definition: types.h:30
#define PBR_SLOT_UV_DETAIL_3
Definition: materials.cpp:24
BlamMap< std::string, ogre_material_instance_data * > instances
A map containing all instances of this material.
Definition: rendering.h:118
std::string material_tag_path
Definition: types.h:33
BlamWorldObject * GetObjectAtIndex(int index)
Definition: BlamWorldState.cpp:178
font DisplayOffset y
Definition: README.txt:68
~bgfx_model_info_data()
Definition: models.cpp:16
#define PBR_SLOT_UV_METAL_ROUGH
Definition: materials.cpp:17
color diffuse_color
Definition: light.h:65
#define BITMAP_DEFAULT_WHITE
Definition: rendering.h:59
bitfield16_flags flags
Bitfield data for flags. See #bitfield16_flags for details.
Definition: light.h:49
render_model * tag
Definition: types.h:54
void set_pbs_datablock_texture(Ogre::HlmsPbsDatablock *datablock, Ogre::PbsTextureTypes texture_type, tag_reference tagref)
Assigns a bitmap tag's texture to a PBS datablock.
Definition: materials.cpp:194
#define PBR_SLOT_UV_DETAIL_NORM_3
Definition: materials.cpp:28
void ExtractFrustum(BlamFrustum *out_frustum, const float *vp_matrix)
Definition: culling.cpp:36
bgfx::TextureFormat::Enum determine_gpu_pixel_format(bitmap::format_enum tag_format)
Converts a bitmap pixel format enum value to the equivalent bgfx pixel format.
Definition: bitmaps.cpp:58
Runtime state for a single shadow-casting light.
Definition: types.h:136
uint64_t build_sampler_flags(material_filter_modes min_filter, material_filter_modes mag_filter, material_filter_modes mip_filter, material_wrap_modes wrap_x, material_wrap_modes wrap_y, material_wrap_modes wrap_z)
Computes the bgfx sampler flag bits that correspond to the requested min/mag/mip filter modes and wra...
Definition: materials.cpp:330
Data structure used to group together information about a texture.
Definition: bitmaps.cpp:28
#define tag_bitm
Definition: bitmap.h:22
real power_scale
The relative power scale of the light.
Definition: light.h:64
bitmap_filtering_mode filtering_mode_mip
Definition: bitmap.h:38
Structure representing a tag reference.
Definition: tags.h:289
bool load_pending
Definition: models.cpp:23
BlamWorldObject_Tag * GetShadowCasterAt(int index)
Definition: shadow_casters.cpp:93
BLAM bgfx::UniformHandle GetUniform(std::string id)
Definition: shader_uniforms.cpp:174
void TransformAABB(BlamVector3 model_min, BlamVector3 model_max, const float *world_matrix, BlamVector3 *out_world_min, BlamVector3 *out_world_max)
Definition: culling.cpp:151
Definition: material.h:54
sock planetquake com All rights reserved Quake III Arena is a registered trademark of id Inc This level may be electronically distributed only at NO CHARGE to the recipient in its current state
Definition: chiropteraDM.txt:94
void ReleaseMaterials()
Definition: materials.cpp:1014
BLAM void RemoveShadowCaster(BlamWorldObject *object)
Definition: shadow_casters.cpp:47
BlamTextureRef BlamTextureRef_MakeInvalid()
Definition: texture_storage.h:50
BlamVector3 GetRotation()
Definition: BlamWorldObject.cpp:172
material_filter_modes
Definition: material.h:24
#define PBR_SLOT_UV_NORMAL
Definition: materials.cpp:16
char class_name[4]
The tag class identifier. Will be the short class name.
Definition: tags.h:293
bool override_color
Definition: world_objects.h:350
void DestroyAttachments()
Definition: BlamWorldObject_Tag.cpp:373
#define PBR_SLOT_PARAMS_3
Definition: materials.cpp:12
unsigned int uint32_t
Definition: stdint.h:17
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:81
BLAM bitmap * GetBitmapTag(std::string tag_path)
Definition: bitmap.cpp:16
bool needs_reload
Whether or not this material needs to be reloaded.
Definition: rendering.h:108
BLAM bool BuildMaterialFromTag(material *material_tag, std::string tag_path)
Definition: materials.cpp:755
#define BITMAP_DEFAULT_GRAY_50
Definition: rendering.h:60
bgfx::TextureHandle fallback_normal
Definition: bitmaps.cpp:11
BlamVector3 GetAbsolutePosition()
Definition: BlamWorldObject.cpp:209
BlamVector3 axis_x
Definition: types.h:348
Ogre::HlmsDatablock * instance_datablock
The datablock used for this material instance.
Definition: rendering.h:86
#define SET_PACKED_SLOT(slot_idx, x_, y_, z_, w_)
Data structure used to store OGRE material instance data.
Definition: rendering.h:82
bgfx::TextureHandle handle
Definition: texture_storage.cpp:49
#define SHADER_DEFAULT_DEFERRED_GBUFFER_INSTANCED
Definition: rendering.h:34
BLAM void BuildTextureFromTag(bitmap *bitmap_tag, std::string tag_path)
Loads a texture into bgfx from a bitmap tag.
Definition: bitmaps.cpp:372
BLAM BlamRay CreateRayFromViewportPoint(int screen_x, int screen_y)
Constructs a world-space ray from a screen-space cursor position.
Definition: raycast.cpp:10
BLAM Demo::GraphicsSystem * GetGraphicsSystem()
Retrieves the graphics system used by OGRE.
Definition: ogre.cpp:645
BLAM mesh * GetModelFromTagPath(std::string tag_path)
Definition: models.cpp:220
void InvalidateAllMaterials()
Definition: materials.cpp:1005
#define MAT_AT(m, row, col)
Definition: culling.cpp:34
void TransformSphere(BlamVector3 model_center, float model_radius, const float *world_matrix, BlamVector3 *out_world_center, float *out_world_radius)
Definition: culling.cpp:206
Definition: world_objects.h:337
BLAM BlamWorldObject_Tag * GetFirstDirectionalShadowCaster()
**
Definition: shadow_casters.cpp:64
Definition: models.cpp:18
#define BITMAP_DEFAULT_NORMAL
Definition: rendering.h:61
BLAM Ogre::FilterOptions ConvertBitmapFilterMode(bitmap_filtering_mode filter_mode)
Converts a bitmap filtering mode enum value to the equivalent OGRE filtering mode value.
Definition: utils.cpp:83
bitmap * bitmap_tag
The bitmap tag that the texture originates from.
Definition: bitmaps.cpp:30
bgfx::TextureHandle fallback_metal_rough
Definition: bitmaps.cpp:12
uint32_t reserved
Definition: texture_storage.h:38
material_filter_modes resolve_mag_filter(material_filter_modes material_filter, bitmap *bitmap_tag)
Resolves the effective magnification filter mode using the same inheritance rules as resolve_min_filt...
Definition: materials.cpp:239
void * data_address
The address of the referenced data.
Definition: tags.h:346
#define BLAM_TEXTURE_REF_INVALID_STORAGE_ID
Definition: texture_storage.h:41
Offset font vertically by altering the io Font DisplayOffset value
Definition: README.txt:67
BlamVector3 aabb_max
Definition: types.h:46
#define BLAM_SHADOW_CASCADE_COUNT
Definition: passes.h:211
BlamVector3 direction
Definition: types.h:365
std::vector< BlamWorldObject_Tag * > light_cache
Definition: lights.cpp:13
bool BlamTextureRef_IsValid(BlamTextureRef ref)
Definition: texture_storage.h:44
Ogre::MeshPtr mesh
Definition: models.cpp:22
BLAM void LoadPendingModels()
Definition: models.cpp:249
float value[4]
Definition: types.h:291
Class representing a world object.
Definition: world_objects.h:138
BlamMaterialBakedState * baked_state
Definition: types.h:35
data_reference pixel_data
The raw pixel data for the bitmap.
Definition: bitmap.h:62
Ogre::MeshPtr load_mesh_from_tag(render_model *model, std::string tag_path)
Definition: models.cpp:29
bool SphereInFrustum(const BlamFrustum *frustum, BlamVector3 center, float radius)
Definition: culling.cpp:132
#define PBR_SLOT_PARAMS_2
Definition: materials.cpp:11
BLAM void ReloadPendingMaterials()
Reloads all datablocks which are flagged as requiring a reload.
Definition: materials.cpp:891
material * material_tag
Definition: types.h:34
void Release(BlamTextureRef ref)
Definition: texture_storage.cpp:401
std::string tag_path
Definition: models.cpp:12
int edge_size
Definition: texture_storage.cpp:60
BlamVector3 center
Definition: types.h:346
data_reference id
Definition: material.h:56
BLAM bool WasModelReloaded(std::string tag_path)
Definition: models.cpp:311
const int BLAM_TEXTURE_SIZE_CLASS_RESOLUTIONS[BLAM_TEXTURE_SIZE_CLASS_COUNT]
Definition: texture_storage.cpp:33
#define SHADER_DEFAULT_DEFERRED_GBUFFER
Definition: rendering.h:33
The original diffuse textures are from the NVIDIA texture with other maps generated from them by Steve Streeting The following license applies to all textures Single Product or Project Use of NVSDK Art Imagery THIS IS A LEGAL immediately delete the NVSDK Art Imagery from your hard disk If you proceed to use any of the you thereby signify that you have agreed to all of the terms and conditions set forth below You may not copy
Definition: TextureUsageAgreement.txt:6
int height
Definition: texture_storage.cpp:52
void Shutdown()
Definition: texture_storage.cpp:280
BlamTextureRef UploadFromTag(const char *tag_path, int width, int height, bgfx::TextureFormat::Enum format, uint32_t sampler_flags, const void *pixel_data, int pixel_data_size)
Definition: texture_storage.cpp:307
#define PBR_SLOT_UV_DETAIL_WEIGHT
Definition: materials.cpp:29
#define SHADER_DEFAULT_SHADOW_POINT
Definition: rendering.h:40
std::vector< bool > layer_in_use
Definition: texture_storage.cpp:53
Ogre::CompareFunction parse_material_comparison_function(material_comparison_function comparison_function)
Converts a material comparison function enum value to the equivalent OGRE comparison function value.
Definition: materials.cpp:136
#define tag_mat
Definition: material.h:22
BLAM void ApplyMaterialParameters(mesh::submesh *submesh, std::string material_tag_path)
Definition: materials.cpp:772
BLAM float * GetCameraProjectionMatrix()
Definition: bgfx.cpp:458
#define tag_rmsp
Definition: shader_program.h:19
Ogre::PbsTextureTypes get_ogre_texture_type_from_material_type(material::pbr_material_entry::textures_entry::texture_type_enum texture_type)
Converts a material tag texture type enum value to the equivalent OGRE texture type.
Definition: materials.cpp:37
BLAM bgfx::TextureHandle GetDefaultTexture()
Definition: bitmaps.cpp:478
int data_size
The size of the referenced data.
Definition: tags.h:347
BlamMap< std::string, ogre_material_info_data * > ogre_material_map
The map containing all available OGRE materials.
Definition: materials.cpp:26
BLAM Ogre::MeshPtr GetModelFromTagPath(std::string tag_path)
Definition: models.cpp:268
bgfx::UniformHandle uniform
Definition: types.h:290
BLAM Ogre::Light * CreateLightFromTag(light *light)
Definition: lights.cpp:9
BLAM float * GetCameraViewMatrix()
Definition: bgfx.cpp:453
BLAM ogre_material_instance_data * CreateDatablockInstance(std::string tag_path, std::string referencing_tag_path)
Creates a new datablock instance from a material tag path, and a referencing tag path.
Definition: materials.cpp:983
#define BLAM_TEXTURE_SIZE_CLASS_COUNT
Definition: texture_storage.h:74
bool casts_shadows
Definition: light.h:31
#define SHADER_DEFAULT_SSAO_BLUR
Definition: rendering.h:38
#define BLAM_OGRE_RESOURCE_GROUP
The name of the OGRE resource group used for engine resources.
Definition: rendering.h:29
uint64_t compute_sampler_flags_for_texture(material_filter_modes material_min, material_filter_modes material_mag, material_filter_modes material_mip, material_wrap_modes wrap_x, material_wrap_modes wrap_y, material_wrap_modes wrap_z, bitmap *bitmap_tag)
Computes the final bgfx sampler flags for one material texture binding.
Definition: materials.cpp:411
uint32_t compute_sampler_flags_from_bitmap(bitmap *bitmap_tag)
Determines sampler flags from a bitmap tag.
Definition: bitmaps.cpp:96
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
bool disable_auto_mip_srgb_correction
Definition: bitmap.h:45
#define BLAM_SHADOW_POINT_COUNT
Definition: passes.h:219
color specular_color
Definition: light.h:66
BLAM void LoadDefaultShaders()
Definition: shaders.cpp:10
bool AABBInFrustum(const BlamFrustum *frustum, BlamVector3 aabb_min, BlamVector3 aabb_max)
Definition: culling.cpp:99
bgfx::TextureHandle fallback_white
Definition: bitmaps.cpp:10
bitfield8_flags flags
Bitfield data for flags. See #bitfield8_flags for details.
Definition: bitmap.h:51
std::vector< Ogre::HlmsDatablock * > ___known_datablocks
Definition: materials.cpp:28
int width
Definition: texture_storage.cpp:51
BlamTextureRef GetTextureRefFromTag(std::string tag_path)
Definition: bitmaps.cpp:566
BLAM void DestroyUniforms()
Definition: shader_uniforms.cpp:141
config GlyphExtraSpacing x
Definition: README.txt:30
#define SHADER_DEFAULT_PBR
Definition: rendering.h:32
Class used to contain and access tag data.
Definition: tags.h:125
bool persistent_reload
Whether or not to continuously update this material (ie, live editing).
Definition: rendering.h:109
std::string tag_path
The tag path that this material was loaded from.
Definition: rendering.h:106
BLAM material * GetMaterialTag(std::string tag_path)
Definition: material.cpp:16
#define SHADER_DEFAULT_DEFERRED_POSTPROCESS
Definition: rendering.h:36
void compute_submesh_extents_from_vertices(mesh::submesh *submesh, render_model::meshes_entry *mesh_entry)
Definition: models.cpp:240
BLAM Ogre::HlmsDatablock * GetDatablockFromTag(std::string tag_path)
Retrieves an OGRE datablock from a material tag path.
Definition: materials.cpp:950
bool force_mag_filtering_mode
Definition: bitmap.h:43
int capacity
Definition: texture_storage.cpp:50
BLAM BlamWorldObject_Tag * GetLightCacheAt(int index)
Definition: lights.cpp:239
float b
Definition: types.h:327
ogre_material_info_data * original_material
Pointer to the original material information.
Definition: rendering.h:84
Definition: texture_storage.h:33
void downsample_mip_2x2(const uint8_t *source, int source_width, int source_height, uint8_t *destination, int destination_width, int destination_height, bool treat_as_srgb)
Generates the next mip level for an RGBA8 texture by averaging 2x2 pixel blocks.
Definition: bitmaps.cpp:202
#define PBR_SLOT_UV_DETAIL_NORM_1
Definition: materials.cpp:26
#define UINT16_MAX
Definition: stdint.h:69
Ogre::FilterOptions parse_ogre_filter_mode(material_filter_modes filter_mode)
Converts a material filtering mode enum value to the equivalent OGRE filtering mode value.
Definition: materials.cpp:88
BLAM ogre_material_instance_data * GetDatablockInstanceFromTag(std::string tag_path, std::string referencing_tag_path)
Retrieves a datablock instance from a material tag path, and a referencing tag path.
Definition: materials.cpp:962
uint32_t storage_id
Definition: texture_storage.h:35
BLAM void LoadModel(render_model *model, std::string tag_path)
Definition: models.cpp:226
BlamPlane planes[6]
Definition: types.h:341
Ogre::Root * getRoot(void) const
Definition: GraphicsSystem.h:147
bitmap_filtering_mode filtering_mode_min
Definition: bitmap.h:36
#define BLAM_SHADOW_SPOT_COUNT
Definition: passes.h:217
void set_unlit_datablock_texture(Ogre::HlmsUnlitDatablock *datablock, Ogre::UnlitTextureTypes texture_type, tag_reference tagref)
Assigns a bitmap tag's texture to an Unlit datablock.
Definition: materials.cpp:170
#define PBR_SLOT_PARAMS_0
Definition: materials.cpp:9
unsigned short uint16_t
Definition: stdint.h:16
BLAM int GetRenderWidth()
Retrieves the current width of the viewport.
Definition: bgfx.cpp:423
#define tag_rmsh
Definition: shader.h:19
#define MAX_LIGHTS
Definition: passes.h:26
Definition: texture_storage.cpp:58
#define SHADER_DEFAULT_DEFERRED_LIGHT_PASS
Definition: rendering.h:35
uint64_t sampler_flags
Definition: types.h:264
bool disable_auto_mipmaps
Definition: bitmap.h:44
material_comparison_function
Definition: material.h:39
Class representing a world state.
Definition: world_objects.h:715
Ogre::HlmsDatablock * datablock
The datablock used for this material.
Definition: rendering.h:107
real maximum_distance
The maximum distance that this light will be visible. If the camera is further than this distance awa...
Definition: light.h:67
BLAM bool * GetGlobalAsBoolean(std::string name)
Retrieves a global's value as a boolean.
Definition: globals.cpp:343
BLAM int GetLightCacheCount()
Definition: lights.cpp:234
BlamMap< std::string, ogre_model_info_data * > recently_reloaded_models
Definition: models.cpp:27
Definition: texture_storage.cpp:47
BLAM void RefreshLightCache()
Definition: lights.cpp:27
void OnBitmapTagUnloading(std::string tag_path)
Definition: bitmaps.cpp:619
uint32_t layer
Definition: texture_storage.h:36
#define tag_mode
Definition: render_model.h:22
bool force_min_filtering_mode
Definition: bitmap.h:42
BlamVector3 extents_min
Definition: types.h:36
bool load_pending
Whether or not the texture is currently pending being loaded.
Definition: bitmaps.cpp:40
BLAM bgfx::TextureHandle GetTextureFromTag(std::string tag_path)
Retrieves an OGRE texture from a tag path.
Definition: bitmaps.cpp:453
bgfx::UniformHandle sampler
Definition: types.h:262
BLAM void UnloadModels()
Definition: models.cpp:291
uint32_t sampler_flags
Definition: texture_storage.h:37
bgfx::TextureHandle fallback_gray_50
Definition: bitmaps.cpp:13
void Initialize()
Definition: texture_storage.cpp:248
bool bounds_valid
Definition: types.h:51
BLAM int FindLightSlotForShadowState(BlamShadowCasterState *state)
Definition: lights.cpp:210
BLAM void LoadDefaultTextures()
Definition: bitmaps.cpp:554
int compute_mip_chain_size_rgba8(int base_width, int base_height)
Computes the total byte count required to hold a complete mip chain for an RGBA8 texture of the given...
Definition: bitmaps.cpp:302
real far_shadow_distance
The far shadow distance of the light. If the camera is this far from the light, shadows will no longe...
Definition: light.h:71
const CharType(& source)[N]
Definition: pointer.h:1272
std::string tag_class
The tag's short class name.
Definition: tags.h:146
BLAM int * GetGlobalAsInteger(std::string name)
Retrieves a global's value as an int.
Definition: globals.cpp:391