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:73
void SetSpecular(float weight, float exponent, float transparency)
Definition: material.h:50
void LoadFromDisk()
Definition: material.cpp:222
MaterialProperty GetProperty() const
Definition: material.h:40
vec3 GetColor() const
Definition: material.h:41
void SetTextureType(TextureType texture_type)
Definition: material.h:51
size_t approx_vram_usage
Definition: material.h:84
void SetMaterialProperty(MaterialProperty property)
Definition: material.h:48
vec3 color
Definition: material.h:75
void SetMaterialType(materialtype_t type)
Definition: material.h:46
static Material * Make(name_t name, materialtype_t type)
Creates a material.
Definition: material.cpp:173
float GetSpecularWeight() const
Definition: material.h:42
void LoadFromMemory()
Pushes material textures to GPU.
Definition: material.cpp:296
void SetMaterialFilter(MaterialFilter filter)
Definition: material.h:47
uint32_t width
Definition: material.h:80
uint32_t GetWidth() const
Definition: material.h:37
float GetSpecularTransparency() const
Definition: material.h:44
Material(name_t name)
Definition: material.h:33
uint32_t height
Definition: material.h:81
uint8_t * texture_data
Definition: material.h:83
texturehandle_t texture
Definition: material.h:67
static void LoadMaterialInfo(const char *filename)
Loads a Material definition file.
Definition: material.cpp:45
TextureType texture_type
Definition: material.h:71
void SetSource(Material *source)
Definition: material.h:52
texturehandle_t GetTexture() const
Definition: material.h:36
MaterialProperty property
Definition: material.h:70
static Material * Find(name_t name)
Finds a Material.
Definition: material.cpp:191
float specular_transparency
Definition: material.h:78
MaterialFilter filter
Definition: material.h:69
float GetSpecularExponent() const
Definition: material.h:43
uint32_t GetHeight() const
Definition: material.h:38
materialtype_t GetType() const
Definition: material.h:39
uint8_t channels
Definition: material.h:82
void SetColor(color_t color)
Definition: material.h:49
float specular_exponent
Definition: material.h:77
float specular_weight
Definition: material.h:76
void MakePattern(vec3 color1, vec3 color2)
Makes Material a pattern.
Definition: material.cpp:210
materialtype_t type
Definition: material.h:68
void Unload()
Definition: material.h:59
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:86
@ FILTER_NEAREST
Definition: render.h:87
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
Interned string type.
Definition: uid.h:10