3#ifndef TRAM_SDK_RENDER_MATERIAL_H
4#define TRAM_SDK_RENDER_MATERIAL_H
Material resource.
Definition: material.h:31
Material * source
Definition: material.h:78
void SetSpecular(float weight, float exponent, float transparency)
Definition: material.h:52
void LoadFromDisk()
Definition: material.cpp:224
MaterialProperty GetProperty() const
Definition: material.h:41
vec3 GetColor() const
Definition: material.h:42
void SetTextureType(TextureType texture_type)
Definition: material.h:54
size_t approx_vram_usage
Definition: material.h:90
void SetMaterialProperty(MaterialProperty property)
Definition: material.h:50
material_t GetMaterial() const
Definition: material.h:37
vec3 color
Definition: material.h:80
void SetMaterialType(materialtype_t type)
Definition: material.h:48
static Material * Make(name_t name, materialtype_t type)
Creates a material.
Definition: material.cpp:175
float GetSpecularWeight() const
Definition: material.h:43
void LoadFromMemory()
Pushes material textures to GPU.
Definition: material.cpp:298
void SetMaterialFilter(MaterialFilter filter)
Definition: material.h:49
uint32_t width
Definition: material.h:86
uint32_t GetWidth() const
Definition: material.h:38
float GetSpecularTransparency() const
Definition: material.h:45
Material(name_t name)
Definition: material.h:33
uint32_t height
Definition: material.h:87
uint8_t * texture_data
Definition: material.h:89
texturehandle_t texture
Definition: material.h:70
static void LoadMaterialInfo(const char *filename)
Loads a Material definition file.
Definition: material.cpp:45
TextureType texture_type
Definition: material.h:74
void SetSource(Material *source)
Definition: material.h:55
texturehandle_t GetTexture() const
Definition: material.h:36
MaterialProperty property
Definition: material.h:73
static Material * Find(name_t name)
Finds a Material.
Definition: material.cpp:193
float specular_transparency
Definition: material.h:83
MaterialFilter filter
Definition: material.h:72
float GetSpecularExponent() const
Definition: material.h:44
uint32_t GetHeight() const
Definition: material.h:39
materialtype_t GetType() const
Definition: material.h:40
void SetReflectivity(float reflectivity)
Definition: material.h:53
float reflectivity
Definition: material.h:84
material_t material
Definition: material.h:76
uint8_t channels
Definition: material.h:88
void SetColor(color_t color)
Definition: material.h:51
float specular_exponent
Definition: material.h:82
float specular_weight
Definition: material.h:81
void MakePattern(vec3 color1, vec3 color2)
Makes Material a pattern.
Definition: material.cpp:212
materialtype_t type
Definition: material.h:71
void Unload()
Definition: material.h:62
Sprite resource.
Definition: sprite.h:23
Definition: resource.h:11
name_t name
Definition: resource.h:37
High-level Render system API.
Definition: gui.h:8
@ MATERIAL_TEXTURE
Definition: render.h:76
vec3 color_t
Definition: render.h:16
uint32_t materialtype_t
Definition: render.h:20
MaterialProperty
Definition: material.h:10
@ PROPERTY_METAL_THIN
Definition: material.h:12
@ PROPERTY_GRATE
Definition: material.h:15
@ PROPERTY_SNOW
Definition: material.h:19
@ PROPERTY_SLIME
Definition: material.h:13
@ PROPERTY_GRASS
Definition: material.h:20
@ PROPERTY_GLASS
Definition: material.h:18
@ PROPERTY_WOOD
Definition: material.h:16
@ PROPERTY_TILE
Definition: material.h:14
@ PROPERTY_COMPUTER
Definition: material.h:17
@ PROPERTY_CONCRETE
Definition: material.h:21
@ PROPERTY_FLESH
Definition: material.h:22
@ PROPERTY_METAL
Definition: material.h:11
MaterialFilter
Definition: render.h:87
@ FILTER_NEAREST
Definition: render.h:88
TextureType
Definition: material.h:25
@ TEXTURE_SOURCE
Definition: material.h:28
@ TEXTURE_NONE
Definition: material.h:26
@ TEXTURE_SAME
Definition: material.h:27
glm::vec3 vec3
Definition: math.h:11
void * generic
Definition: render.h:191
Interned string type.
Definition: uid.h:10