Euphoria
|
materialshader.cc
Go to the documentation of this file.
170 const auto parsed = files::materialshader::parse(log::get_global_logger(), &file, json.root, &json.doc);
JsonResult read_json_file(FileSystem *fs, const FilePath &file_name)
Definition: json.cc:58
void add_attributes_to_shader(ShaderProgram *shader)
Definition: shaderattribute3d.cc:10
Definition: button.h:15
void post_build(MaterialShader *sh, const files::materialshader::MaterialShader &file, const io::FilePath &path)
Definition: materialshader.cc:69
@ black
Definition: enum.h:54
std::optional< std::string > specular
Definition: materialshader.h:27
std::optional< std::string > ambient
Definition: materialshader.h:25
std::optional< std::string > diffuse
Definition: materialshader.h:26
std::optional< std::string > shininess
Definition: materialshader.h:28
std::vector< DefaultTexture > default_textures
Definition: materialshader.h:30
std::vector< Binding > textures
Definition: materialshader.h:22
Definition: vfs_path.h:36
FilePath set_extension_copy(const std::string &ext) const
Definition: vfs_path.cc:170
static std::optional< FilePath > from_script(const std::string &path)
apply only minor changes, return null on invalid
Definition: vfs_path.cc:46
Definition: vfs.h:74
Definition: light.h:18
MaterialShaderBinding(ShaderUniform a_uniform, const core::EnumValue &a_name)
Definition: materialshader.cc:30
MaterialShaderDefaultTexture(const core::EnumValue &a_name, const io::FilePath &a_path)
Definition: materialshader.cc:18
Extends a regular Shader with uniform bindings for 3d rendering.
Definition: materialshader.h:41
ShaderUniform light_cutoff_angle_outer
Definition: materialshader.h:64
ShaderUniform light_direction
Definition: materialshader.h:59
void setup_light(const Light &light, const vec3f &camera)
Definition: materialshader.cc:217
ShaderUniform light_attenuation_constant
Definition: materialshader.h:61
void set_projection(const mat4f &projection_data)
Definition: materialshader.cc:191
ShaderUniform light_position
Definition: materialshader.h:58
std::vector< MaterialShaderDefaultTexture > default_textures
Definition: materialshader.h:71
bool load(io::FileSystem *file_system, const io::FilePath &path)
Definition: materialshader.cc:150
void set_colors(const Rgb &ambient_data, const Rgb &diffuse_data, const Rgb &specular_data, float shininess_data)
Definition: materialshader.cc:243
void set_model(const mat4f &model_data)
Definition: materialshader.cc:203
ShaderUniform light_attenuation_linear
Definition: materialshader.h:62
ShaderUniform light_specular
Definition: materialshader.h:57
void set_view(const mat4f &view_data)
Definition: materialshader.cc:197
std::vector< MaterialShaderBinding > bindings
Definition: materialshader.h:70
ShaderUniform light_cutoff_angle_inner
Definition: materialshader.h:65
ShaderUniform light_attenuation_quadratic
Definition: materialshader.h:63
void set_uniform(const ShaderUniform &attribute, gl::Int val)
Definition: shader.cc:292
bool load(io::FileSystem *fs, const io::FilePath &file_path)
Definition: shader.cc:398
ShaderUniform get_uniform(const std::string &name)
Definition: shader.cc:262
Definition: shaderuniform.h:11