Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
material Struct Reference

#include <material.h>

Public Member Functions

 TAG_ENUM (material_type, { pbr, unlit, })
 
 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_function, { default_brdf, 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_amount;real clear_coat_roughness;real transparency_amount;bitfield16 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;})
 
 TAG_BLOCK (unlit_material, { bitfield16 flags;TAG_BLOCK(textures, { int8_t texture_type;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;vector2 lod;real lod_bias;real max_anisotropy;vector2 offset;vector2 scale;});color diffuse_color;material_comparison_function alpha_comparison_function;bitfield16 alpha_flags;real alpha_test_threshold;})
 
 TAG_BLOCK (input_parameters, { ascii name;field_reference output_field;bitfield8 flags;})
 

Public Attributes

ascii id
 

Member Function Documentation

◆ TAG_BLOCK() [1/3]

material::TAG_BLOCK ( input_parameters  ,
{ ascii name;field_reference output_field;bitfield8 flags;}   
)

◆ TAG_BLOCK() [2/3]

material::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_function, { default_brdf, 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_amount;real clear_coat_roughness;real transparency_amount;bitfield16 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;}   
)

◆ TAG_BLOCK() [3/3]

material::TAG_BLOCK ( unlit_material  ,
{ bitfield16 flags;TAG_BLOCK(textures, { int8_t texture_type;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;vector2 lod;real lod_bias;real max_anisotropy;vector2 offset;vector2 scale;});color diffuse_color;material_comparison_function alpha_comparison_function;bitfield16 alpha_flags;real alpha_test_threshold;}   
)

◆ TAG_ENUM()

material::TAG_ENUM ( material_type  ,
{ pbr, unlit, }   
)

Member Data Documentation

◆ id

ascii material::id

The documentation for this struct was generated from the following file: