Rumba C++ SDK
Shader.h File Reference
#include "Maquina/Dict.h"
#include <gsl/span>

Go to the source code of this file.

Classes

class  maquina::ShaderParam
 A shader parameter descriptor. More...
 
struct  maquina::ShaderTexture
 A shader texture slot descriptor. More...
 
struct  maquina::ShaderProgram
 A shader texture slot descriptor. More...
 
class  maquina::Shader
 Gather shading parameters. More...
 

Namespaces

 maquina
 This version of the SDK is unstable, i-e, it may change with no warning.
 

Enumerations

enum  maquina::ShaderParamType {
  maquina::ShaderParamType::Bool = 0, maquina::ShaderParamType::Int, maquina::ShaderParamType::Float, maquina::ShaderParamType::V2i,
  maquina::ShaderParamType::V3i, maquina::ShaderParamType::V4i, maquina::ShaderParamType::V2f, maquina::ShaderParamType::V3f,
  maquina::ShaderParamType::V4f, maquina::ShaderParamType::M44f, maquina::ShaderParamType::_LastPOD = M44f, maquina::ShaderParamType::Texture,
  maquina::ShaderParamType::Token, maquina::ShaderParamType::InternalExpression, maquina::ShaderParamType::Ignore
}
 The shader parameter types. More...
 

Functions

MAQUINA_EXPORT void maquina::register_shader (std::string name, bool stream, std::vector< ShaderParam > parameters, std::vector< ShaderProgram > programs)
 Register a new hardware shader. More...
 
MAQUINA_EXPORT void maquina::register_shading_node (std::string name, std::vector< ShaderParam > parameters, ShaderParamType output_type, std::string post_fix="")
 
MAQUINA_EXPORT void maquina::register_shading_token (const std::string &s, int token)
 
MAQUINA_EXPORT void maquina::add_shader_glsl (const std::string_view &code)
 
MAQUINA_EXPORT std::string maquina::preprocess_shader_code (std::string code)