 |
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.
65 struct bitfield16_flags
67 bool uses_two_sided_lighting : 1;
68 bool receives_shadows : 1;
69 bool use_emissive_as_lightmap : 1;
70 bool allow_zero_texture_offset_scale : 1;
85 bitfield16_flags flags;
124 struct bitfield16_brdf_flags
126 bool uncorrelated : 1;
127 bool separate_diffuse_fresnel : 1;
128 bool legacy_math : 1;
129 bool full_legacy : 1;
144 bitfield16_brdf_flags brdf_flags;
153 struct bitfield16_alpha_flags
155 bool shadow_caster_only : 1;
156 bool use_alpha_from_texture : 1;
173 bitfield16_alpha_flags alpha_flags;
174 real alpha_test_threshold;
176 color background_diffuse_color;
177 color emissive_color;
178 real clear_coat_amount;
179 real clear_coat_roughness;
180 real transparency_amount;
181 struct bitfield16_transparency_flags
183 bool use_alpha_from_textures : 1;
184 bool change_blend_block : 1;
201 bitfield16_transparency_flags transparency_flags;
210 real refraction_strength;
218 color specular_color;
224 struct bitfield16_flags
226 bool enable_planar_reflections : 1;
227 bool enable_diffuse_color : 1;
228 bool allow_zero_texture_offset_scale : 1;
244 bitfield16_flags flags;
263 struct bitfield16_alpha_flags
265 bool shadow_caster_only : 1;
266 bool use_alpha_from_texture : 1;
283 bitfield16_alpha_flags alpha_flags;
284 real alpha_test_threshold;
290 struct bitfield8_flags
302 bitfield8_flags flags;
317 {1,
"haloman30",
"Initial implementation."},
318 {2,
"haloman30",
"Add settings for texture sampler."},
319 {3,
"haloman30",
"Combine sampler and texture fields into tag block, with each entry specifying a texture."},
320 {4,
"haloman30",
"Add fields for texture offset and scale."},
321 {5,
"haloman30",
"Add input parameters block"},
322 {6,
"haloman30",
"Add support for unlit materials"},
323 {7,
"haloman30",
"* Added flag to pbr/unlit materials to allow zero values for texture offset/scale (disabled by default to mimic ogre behavior)"},
343 "uses two sided lighting",
345 "use emissive as lightmap",
346 "allow zero values for texture offset/scale",
376 "inherit from bitmap",
384 "inherit from bitmap",
392 "inherit from bitmap",
426 "less than or equal",
429 "greater than or equal",
440 "bidirectional reflectance distribution function"),
444 "separate diffuse fresnel",
461 "less than or equal",
464 "greater than or equal",
470 "shadow caster only",
471 "use alpha from texture",
473 new RealField(
"alpha test threshold",
""),
477 new ColorField(
"background diffuse color",
""),
482 new RealField(
"clear coat roughness",
""),
485 new RealField(
"transparency amount",
""),
488 "use alpha from textures",
489 "change blend block",
498 new RealField(
"refraction strength",
""),
504 "specular (fresnel)",
515 "enable planar reflections",
516 "enable diffuse color",
517 "allow zero values for texture offset/scale",
529 "inherit from bitmap",
537 "inherit from bitmap",
545 "inherit from bitmap",
586 "less than or equal",
589 "greater than or equal",
595 "shadow caster only",
596 "use alpha from texture",
598 new RealField(
"alpha test threshold",
""),
TAG_BLOCK(pbr_material, { struct bitfield16_flags { bool uses_two_sided_lighting :1;bool receives_shadows :1;bool use_emissive_as_lightmap :1;bool allow_zero_texture_offset_scale :1;bool unused4 :1;bool unused5 :1;bool unused6 :1;bool unused7 :1;bool unused8 :1;bool unused9 :1;bool unused10 :1;bool unused11 :1;bool unused12 :1;bool unused13 :1;bool unused14 :1;bool unused15 :1;};bitfield16_flags flags;TAG_BLOCK(textures, { TAG_ENUM(texture_type, { diffuse, normal, specular, metallic, roughness, detail_weight, detail_0, detail_1, detail_2, detail_3, detail_normal_0, detail_normal_1, detail_normal_2, detail_normal_3, emissive, reflection, });tag_reference texture;material_filter_modes filter_mode_min;material_filter_modes filter_mode_mag;material_filter_modes filter_mode_mip;material_wrap_modes wrap_mode_x;material_wrap_modes wrap_mode_y;material_wrap_modes wrap_mode_z;real lod_bias;real max_anisotropy;material_comparison_function sampler_comparison_function;color border_color;real min_lod;real max_lod;vector2 offset;vector2 scale;});struct bitfield16_brdf_flags { bool uncorrelated :1;bool separate_diffuse_fresnel :1;bool legacy_math :1;bool full_legacy :1;bool unused4 :1;bool unused5 :1;bool unused6 :1;bool unused7 :1;bool unused8 :1;bool unused9 :1;bool unused10 :1;bool unused11 :1;bool unused12 :1;bool unused13 :1;bool unused14 :1;bool unused15 :1;};bitfield16_brdf_flags brdf_flags;TAG_ENUM(brdf_function, { default_brdf, cook_torrance, blinn_phong, });material_comparison_function alpha_comparison_function;struct bitfield16_alpha_flags { bool shadow_caster_only :1;bool use_alpha_from_texture :1;bool unused2 :1;bool unused3 :1;bool unused4 :1;bool unused5 :1;bool unused6 :1;bool unused7 :1;bool unused8 :1;bool unused9 :1;bool unused10 :1;bool unused11 :1;bool unused12 :1;bool unused13 :1;bool unused14 :1;bool unused15 :1;};bitfield16_alpha_flags alpha_flags;real alpha_test_threshold;color diffuse_color;color background_diffuse_color;color emissive_color;real clear_coat_amount;real clear_coat_roughness;real transparency_amount;struct bitfield16_transparency_flags { bool use_alpha_from_textures :1;bool change_blend_block :1;bool unused2 :1;bool unused3 :1;bool unused4 :1;bool unused5 :1;bool unused6 :1;bool unused7 :1;bool unused8 :1;bool unused9 :1;bool unused10 :1;bool unused11 :1;bool unused12 :1;bool unused13 :1;bool unused14 :1;bool unused15 :1;};bitfield16_transparency_flags transparency_flags;TAG_ENUM(transparency_mode, { none, transparent, fade, refractive, });real refraction_strength;TAG_ENUM(workflows, { specular, specular_fresnel, metallic, });color specular_color;real metalness;real roughness;})
Namespace containing functions related to tag data.
Definition: bitmap.h:181
Class representing a real tag field.
Definition: real.h:16
material_wrap_modes
Definition: material.h:32
Class representing a vector2 tag field.
Definition: vector.h:34
Class representing a data reference, or dataref for short.
Definition: dataref.h:19
Class representing a bitfield16 tag field.
Definition: bitfield.h:44
Class representing a tag reference, or tagref for short.
Definition: tagref.h:20
signed char int8_t
Definition: stdint.h:11
std::vector< BlamTagClassField * > fields
A series of tag fields that store the layout of the tag.
Definition: tags.h:209
std::vector< BlamTagClassRevision > revisions
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
Definition: tags.h:208
Class representing an int8 tag field.
Definition: int.h:72
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tags.h:206
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:207
Structure representing a tag reference.
Definition: tags.h:289
Structure representing a field reference.
Definition: tags.h:455
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:205
Definition: material.h:54
material_filter_modes
Definition: material.h:24
unsigned int uint32_t
Definition: stdint.h:17
Definition: material.h:307
data_reference id
Definition: material.h:56
Structure representing a data reference.
Definition: tags.h:342
#define tag_mat
Definition: material.h:22
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:210
TAG_ENUM(material_type, { pbr, unlit, })
#define BLAM
Definition: material.h:19
Class representing a color tag field.
Definition: color.h:19
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
Class used to contain and access tag data.
Definition: tags.h:125
BLAM material * GetMaterialTag(std::string tag_path)
Definition: material.cpp:16
Class representing a fieldref tag field.
Definition: fieldref.h:17
MaterialTagClass()
Definition: material.h:310
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:19
material_comparison_function
Definition: material.h:39
Class representing a tag class.
Definition: tags.h:202
Class representing a bitfield8 tag field.
Definition: bitfield.h:33
std::string tag_class
The tag's short class name.
Definition: tags.h:146