 |
Blamite Game Engine - blam!
00388.06.24.23.2301.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
132 real alpha_test_threshold;
136 color background_diffuse_color;
137 color emissive_color;
141 real clear_coat_roughness;
155 real refraction_strength;
165 color specular_color;
189 ascii output_field_id;
210 {1,
"haloman30",
"Initial implementation."},
211 {2,
"haloman30",
"Add settings for texture sampler."},
212 {3,
"haloman30",
"Combine sampler and texture fields into tag block, with each entry specifying a texture."},
213 {4,
"haloman30",
"Add fields for texture offset and scale."},
214 {5,
"haloman30",
"Add block for parameters, and empty blocks for unlit material and functions"}
230 new BlockField(
sizeof(material::unlit_material_entry),
"unlit material",
"", {}),
232 new BlockField(
sizeof(material::pbr_material_entry),
"pbr material",
"",
236 "uses two sided lighting",
238 "use emissive as lightmap"
241 new BlockField(
sizeof(material::pbr_material_entry::textures_entry),
"textures",
"",
268 "inherit from bitmap",
276 "inherit from bitmap",
284 "inherit from bitmap",
318 "less than or equal",
321 "greater than or equal",
332 new CommentField(
"BRDF",
"bidirectional reflectance distribution function"),
336 "separate diffuse fresnel",
353 "less than or equal",
356 "greater than or equal",
361 "shadow caster only",
362 "use alpha from texture"
364 new RealField(
"alpha test threshold",
""),
368 new ColorField(
"background diffuse color",
""),
374 new RealField(
"clear coat roughness",
""),
377 new RealField(
"transparency amount",
""),
380 "use alpha from textures",
390 new RealField(
"refraction strength",
""),
396 "specular (fresnel)",
406 new BlockField(
sizeof(material::parameters_entry),
"parameters",
"",
413 new BlockField(
sizeof(material::parameters_entry::parameter_list_entry),
"parameter list",
"",
415 new CommentField(
"INPUT OPTIONS",
"These options determine what can provide inputs "
416 "to the material, and how they can do so."),
420 "block input from objects",
421 "block input from ui",
422 "block input from scripts"
426 new CommentField(
"OUTPUT OPTIONS",
"These options determine where the parameter is output to, be "
427 "it directly to a property within the material, or to a function for additional processing."),
442 new BlockField(
sizeof(material::functions_entry),
"functions",
"", {})
@ 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:16
TAG_ENUM(material_type, { pbr, unlit })
@ mat_wrap_border
Definition: material.h:24
@ mat_wrap_clamp
Definition: material.h:23
Class representing an ascii tag field.
Definition: ascii.h:18
Class representing a vector2 tag field.
Definition: vector.h:34
@ 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:44
Class representing a tag reference, or tagref for short.
Definition: tagref.h:20
std::vector< BlamTagClassField * > fields
A series of tag fields that store the layout of the tag.
Definition: tags.h:94
Typedef for a bitfield8 field, used in tag data definitions.
Definition: tags.h:259
@ 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: tags.h:92
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: tags.h:90
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:91
@ mat_fm_anisotropic
Definition: material.h:16
Structure representing a tag reference.
Definition: tags.h:182
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:89
Structure representing a Material tag.
Definition: material.h:46
@ mat_cmp_not_equal
Definition: material.h:34
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:80
Definition: material.h:200
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:274
@ mat_fm_point
Definition: material.h:14
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:96
#define BLAM
Definition: material.h:7
TAG_BLOCK(unlit_material, { })
Class representing a color tag field.
Definition: color.h:19
@ mat_wrap_wrap
Definition: material.h:21
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:33
material_comparison_function
Definition: material.h:27
@ mat_cmp_disabled
Definition: material.h:37
Class used to contain and access tag data.
Definition: tags.h:30
BLAM material * GetMaterialTag(std::string tag_path)
Definition: material.cpp:5
MaterialTagClass()
Definition: material.h:203
@ 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:21
material_filter_modes
Definition: material.h:10
UI_API ImVec4 transparent()
Definition: debug_ui_colors.cpp:35
Class representing a tag class.
Definition: tags.h:86
Class representing a bitfield8 tag field.
Definition: bitfield.h:33