 |
Blamite Game Engine - blam!
00367.02.08.23.1815.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
126 real alpha_test_threshold;
130 color background_diffuse_color;
131 color emissive_color;
135 real clear_coat_roughness;
149 real refraction_strength;
159 color specular_color;
178 {1,
"haloman30",
"Initial implementation."},
179 {2,
"haloman30",
"Add settings for texture sampler."},
180 {3,
"haloman30",
"Combine sampler and texture fields into tag block, with each entry specifying a texture."},
181 {4,
"haloman30",
"Add fields for texture offset and scale."}
196 new BlockField(
sizeof(material::pbr_material_entry),
"pbr material",
"",
200 "uses two sided lighting",
202 "use emissive as lightmap"
205 new BlockField(
sizeof(material::pbr_material_entry::textures_entry),
"textures",
"",
232 "inherit from bitmap",
240 "inherit from bitmap",
248 "inherit from bitmap",
282 "less than or equal",
285 "greater than or equal",
296 new CommentField(
"BRDF",
"bidirectional reflectance distribution function"),
300 "separate diffuse fresnel",
317 "less than or equal",
320 "greater than or equal",
325 "shadow caster only",
326 "use alpha from texture"
328 new RealField(
"alpha test threshold",
""),
332 new ColorField(
"background diffuse color",
""),
338 new RealField(
"clear coat roughness",
""),
341 new RealField(
"transparency amount",
""),
344 "use alpha from textures",
354 new RealField(
"refraction strength",
""),
360 "specular (fresnel)",
@ mat_cmp_less_equal
Definition: material.h:32
Namespace containing functions related to tag data.
Definition: bitmap.h:151
Class representing a real tag field.
Definition: real.h:10
@ mat_wrap_border
Definition: material.h:24
@ mat_wrap_clamp
Definition: material.h:23
Class representing an ascii tag field.
Definition: ascii.h:12
Class representing a vector2 tag field.
Definition: vector.h:28
@ mat_fm_none
Definition: material.h:13
@ mat_cmp_equal
Definition: material.h:33
@ mat_cmp_always_fail
Definition: material.h:29
Class representing a bitfield16 tag field.
Definition: bitfield.h:38
TAG_BLOCK(pbr_material, { bitfield16 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;});bitfield16 brdf_flags;TAG_ENUM(brdf, { default, cook_torrance, blinn_phong, });material_comparison_function alpha_comparison_function;bitfield16 alpha_flags;real alpha_test_threshold;color diffuse_color;color background_diffuse_color;color emissive_color;real clear_coat;real clear_coat_roughness;real transparency;bitfield16 transparency_flags;TAG_ENUM(transparency_mode, { none, transparent, fade, refractive });real refraction_strength;TAG_ENUM(workflow, { specular, specular_fresnel, metallic });color specular_color;real metalness;real roughness;})
Class representing a tag reference, or tagref for short.
Definition: tagref.h:14
@ mat_fm_linear
Definition: material.h:15
std::vector< BlamTagClassRevision > revisions
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
Definition: tagclass.h:49
material_wrap_modes
Definition: material.h:19
@ mat_wrap_mirror
Definition: material.h:22
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:47
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:48
@ mat_fm_anisotropic
Definition: material.h:16
Structure representing a tag reference.
Definition: tags.h:158
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:46
Structure representing a Material tag.
Definition: material.h:46
@ mat_cmp_not_equal
Definition: material.h:34
Definition: material.h:168
ascii id
Definition: material.h:48
@ mat_cmp_always_pass
Definition: material.h:30
@ mat_cmp_greater
Definition: material.h:36
@ mat_fm_use_bitmap_state
Definition: material.h:12
@ mat_cmp_greater_equal
Definition: material.h:35
Typedef for a bitfield16 field, used in tag data definitions.
Definition: tags.h:250
TAG_ENUM(material_type, { pbr })
@ mat_fm_point
Definition: material.h:14
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:53
#define BLAM
Definition: material.h:7
Class representing a color tag field.
Definition: color.h:13
@ mat_wrap_wrap
Definition: material.h:21
material_comparison_function
Definition: material.h:27
@ mat_cmp_disabled
Definition: material.h:37
BLAM material * GetMaterialTag(std::string tag_path)
Definition: material.cpp:5
MaterialTagClass()
Definition: material.h:171
@ mat_cmp_less
Definition: material.h:31
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:13
material_filter_modes
Definition: material.h:10
UI_API ImVec4 transparent()
Definition: debug_ui_colors.cpp:35
Class representing a tag class.
Definition: tagclass.h:43
std::vector< BlamPluginField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:51