 |
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.
19 #define tag_rmsh "rmsh"
94 struct bitfield8_flags
97 bool pass_to_pixel_shader : 1;
106 bitfield8_flags
flags;
138 "prefer referenced programs",
141 "The parameters listed below are only valid when shader method is set to \"raw\". This approach allows direct creation of shader programs and does not include any additional code or functionality offered with PBR or Unlit materials."),
165 "The fields below are used only for using shaders which directly extend from PBR materials. While functional, they are also more error-prone and shader errors can (and often will) result in outright engine crashes.\n"
167 "You are strongly encouraged to *only* use standalone shader programs as outlined above. If you experience performance problems using them with many objects, you may use the below shader approach - however this functionality may be removed outright in the future."),
169 "The parameters listed below are only valid when shader method is set to \"pbr\". This approach aims to offer the same functionality as raw shaders, but does so while basing off of PBR materials, allowing some additional functionality out of the box."),
189 "pass to pixel shader",
Namespace containing functions related to tag data.
Definition: bitmap.h:181
TAG_BLOCK(programs, { TAG_ENUM8(type, { vertex, pixel, geometry, hull, domain, compute, });data_reference syntax_code;data_reference target;data_reference entry_point;data_reference program;})
bool unused10
Definition: shader.h:51
tag_reference hull_program
Definition: shader.h:63
bool unused14
Definition: shader.h:55
tag_reference vertex_program
Definition: shader.h:60
unsigned char uint8_t
Definition: stdint.h:15
bitfield16_flags flags
Bitfield data for flags. See #bitfield16_flags for details.
Definition: shader.h:59
Class representing a data reference, or dataref for short.
Definition: dataref.h:19
Class representing a bitfield16 tag field.
Definition: bitfield.h:44
tag_reference domain_program
Definition: shader.h:64
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:209
bool unused2
Definition: shader.h:43
bool unused15
Definition: shader.h:56
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
int int32_t
Definition: stdint.h:13
bool unused8
Definition: shader.h:49
bool unused11
Definition: shader.h:52
bool unused4
Definition: shader.h:45
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
tag_reference pixel_program
Definition: shader.h:61
Structure representing a tag reference.
Definition: tags.h:289
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:205
TAG_ENUM8(shader_method, { raw, pbs, })
bool unused6
Definition: shader.h:47
bool unused1
Definition: shader.h:42
#define BLAM
Definition: shader.h:16
bool unused3
Definition: shader.h:44
Class representing an int32 tag field.
Definition: int.h:46
bool unused12
Definition: shader.h:53
tag_reference compute_program
Definition: shader.h:65
Structure representing a data reference.
Definition: tags.h:342
bool unused13
Definition: shader.h:54
bool unused7
Definition: shader.h:48
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:210
bool unused5
Definition: shader.h:46
bool prefer_referenced_programs
Definition: shader.h:41
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
BLAM shader * GetShaderTag(std::string tag_path)
Definition: shader.cpp:13
ShaderTagClass()
Definition: shader.h:117
Class used to contain and access tag data.
Definition: tags.h:125
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:19
#define tag_rmsh
Definition: shader.h:19
shader_parameter_type
Definition: shader.h:21
Class representing a tag class.
Definition: tags.h:202
data_reference source
Definition: shader.h:110
Class representing a bitfield8 tag field.
Definition: bitfield.h:33
tag_reference geometry_program
Definition: shader.h:62
bool unused9
Definition: shader.h:50
std::string tag_class
The tag's short class name.
Definition: tags.h:146