 |
Blamite Game Engine - blam!
00368.02.12.23.1347.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
51 real spotlight_inner_angle;
52 real spotlight_outer_angle;
55 real spotlight_falloff;
56 real spotlight_near_clip_distance;
69 real luminance_threshold;
94 {1,
"haloman30",
"Initial implementation."}
106 "fields can be overridden by instances"
110 new Enum32Field(
"shape",
"The shape/type of the light source.",
119 new RealField(
"power scale",
"The relative power scale of the light."),
122 new CommentField(
"COLOR",
"color and intensity of the light"),
130 new CommentField(
"CULLING",
"determines how the light is rendered when the camera is close or far from the light"),
132 new RealField(
"maximum distance",
"The maximum distance that this light will be visible. If the camera is further than this distance away from the light, then the light will no longer be rendered."),
133 new RealField(
"near clip distance",
"The near clip distance of the light. If the camera is this close to the light, shadows will stop being rendered. Only applies when using texture shadows."),
134 new RealField(
"far clip distance",
"The far clip distance of the light. If the camera is at least this far from the light, shadows will stop being rendered. Only applies when using texture shadows."),
135 new RealField(
"near shadow distance",
"The near shadow distance of the light. If the camera is this close to the light, shadows will no longer be cast by this light source."),
136 new RealField(
"far shadow distance",
"The far shadow distance of the light. If the camera is this far from the light, shadows will no longer be cast by this light source."),
138 new BlockField(
sizeof(light::spotlight_settings_entry),
"spotlight settings",
"",
140 new CommentField(
"SHAPE",
"the shape of the spotlight"),
144 new CommentField(
"FALLOFF",
"the falloff of the spotlight"),
149 new CommentField(
"ATTENUATION",
"Controls how light diminishes with distance."
150 "\n\nOf the two blocks listed below, only one will be used based on the 'attenuation method' value:"
151 "\n* simple - The 'simple attenuation' block is used."
152 "\n* complex - The 'complex attenuation' block is used."
153 "\n\nOnly the first entry of a block will be used. Any other entries are ignored."),
161 new BlockField(
sizeof(light::spotlight_settings_entry),
"simple attenuation",
"",
164 new RealField(
"luminance threshold",
""),
167 new BlockField(
sizeof(light::spotlight_settings_entry),
"complex attenuation",
"",
vector2 rect_size
Definition: light.h:34
Namespace containing functions related to tag data.
Definition: bitmap.h:151
Class representing a real tag field.
Definition: real.h:10
Structure representing a Light tag.
Definition: light.h:19
real far_clip_distance
Definition: light.h:44
TAG_BLOCK(spotlight_settings, { real spotlight_inner_angle;real spotlight_outer_angle;real spotlight_falloff;real spotlight_near_clip_distance;})
LightTagClass()
Definition: light.h:87
Class representing a bitfield16 tag field.
Definition: bitfield.h:38
real maximum_distance
Definition: light.h:42
vector3 direction
Definition: light.h:35
color specular_color
Definition: light.h:39
real near_clip_distance
Definition: light.h:43
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
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
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:46
TAG_ENUM(shape, { directional, point, spotlight, virtual_point, area_cheap, area_pbr })
BLAM light * GetLightTag(std::string tag_path)
Definition: light.cpp:5
Typedef for a bitfield16 field, used in tag data definitions.
Definition: tags.h:250
#define BLAM
Definition: light.h:7
real far_shadow_distance
Definition: light.h:46
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:53
Class representing a color tag field.
Definition: color.h:13
real near_shadow_distance
Definition: light.h:45
color diffuse_color
Definition: light.h:38
bitfield16 flags
Definition: light.h:21
real power_scale
Definition: light.h:33
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:13
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