Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::Shader Class Reference

Public Types

using Build = detail::Build
using const_iterator = typename std::vector<ShaderObject>::const_iterator
using iterator = typename std::vector<ShaderObject>::iterator
enum class  OnError : std::uint8_t { Warn , Throw }
enum class  UniformWarning : std::uint8_t { Ignore , Warn , Throw }

Public Member Functions

void activate ()
void addShaderObject (ShaderObject object)
void addShaderObject (ShaderType type, std::shared_ptr< const ShaderResource > resource)
iterator begin ()
const_iterator begin () const
void build ()
void deactivate ()
iterator end ()
const_iterator end () const
ShaderObjectgetComputeShaderObject ()
const ShaderObjectgetComputeShaderObject () const
ShaderObjectgetFragmentShaderObject ()
const ShaderObjectgetFragmentShaderObject () const
ShaderObjectgetGeometryShaderObject ()
const ShaderObjectgetGeometryShaderObject () const
GLuint getID () const
ShaderObjectgetShaderObject (ShaderType type)
const ShaderObjectgetShaderObject (ShaderType type) const
util::iter_range< iterator > getShaderObjects ()
util::iter_range< const_iterator > getShaderObjects () const
ShaderObjectgetTessellationControlShaderObject ()
const ShaderObjectgetTessellationControlShaderObject () const
ShaderObjectgetTessellationEvaluationShaderObject ()
const ShaderObjectgetTessellationEvaluationShaderObject () const
ShaderObjectgetVertexShaderObject ()
const ShaderObjectgetVertexShaderObject () const
void invalidate ()
bool isReady () const
void link ()
const BaseCallBack * onReload (std::function< void()> callback)
std::shared_ptr< std::function< void()> > onReloadScoped (std::function< void()> callback)
Shader & operator= (const Shader &that)=delete
Shader & operator= (Shader &&that)
ShaderObjectoperator[] (ShaderType type)
const ShaderObjectoperator[] (ShaderType type) const
void removeOnReload (const BaseCallBack *callback)
void setTransformFeedbackVaryings (std::span< const char * > varyings, GLenum bufferMode)
void setUniform (std::string_view name, bool value) const
void setUniform (std::string_view name, bvec2 value) const
void setUniform (std::string_view name, bvec3 value) const
void setUniform (std::string_view name, bvec4 value) const
void setUniform (std::string_view name, const mat2 &value) const
void setUniform (std::string_view name, const mat3 &value) const
void setUniform (std::string_view name, const mat4 &value) const
void setUniform (std::string_view name, const TextureUnit &value) const
void setUniform (std::string_view name, float value) const
void setUniform (std::string_view name, int value) const
void setUniform (std::string_view name, ivec2 value) const
void setUniform (std::string_view name, ivec3 value) const
void setUniform (std::string_view name, ivec4 value) const
void setUniform (std::string_view name, std::span< const bool > values) const
void setUniform (std::string_view name, std::span< const bvec2 > values) const
void setUniform (std::string_view name, std::span< const bvec3 > values) const
void setUniform (std::string_view name, std::span< const bvec4 > values) const
void setUniform (std::string_view name, std::span< const float > values) const
void setUniform (std::string_view name, std::span< const int > values) const
void setUniform (std::string_view name, std::span< const ivec2 > values) const
void setUniform (std::string_view name, std::span< const ivec3 > values) const
void setUniform (std::string_view name, std::span< const ivec4 > values) const
void setUniform (std::string_view name, std::span< const mat2 > values) const
void setUniform (std::string_view name, std::span< const mat3 > values) const
void setUniform (std::string_view name, std::span< const mat4 > values) const
void setUniform (std::string_view name, std::span< const unsigned int > values) const
void setUniform (std::string_view name, std::span< const uvec2 > values) const
void setUniform (std::string_view name, std::span< const uvec3 > values) const
void setUniform (std::string_view name, std::span< const uvec4 > values) const
void setUniform (std::string_view name, std::span< const vec2 > values) const
void setUniform (std::string_view name, std::span< const vec3 > values) const
void setUniform (std::string_view name, std::span< const vec4 > values) const
void setUniform (std::string_view name, unsigned int value) const
void setUniform (std::string_view name, uvec2 value) const
void setUniform (std::string_view name, uvec3 value) const
void setUniform (std::string_view name, uvec4 value) const
void setUniform (std::string_view name, vec2 value) const
void setUniform (std::string_view name, vec3 value) const
void setUniform (std::string_view name, vec4 value) const
void setUniformWarningLevel (UniformWarning level)
 Shader (const Shader &rhs)=delete
 Shader (const std::vector< std::pair< ShaderType, std::shared_ptr< const ShaderResource > > > &items, Build buildShader=Build::Yes)
 Shader (const std::vector< std::pair< ShaderType, std::string > > &items, Build buildShader=Build::Yes)
 Shader (Shader &&rhs)
 Shader (std::string_view fragmentFilename, Build buildShader=Build::Yes)
 Shader (std::string_view vertexFilename, std::string_view fragmentFilename, Build buildShader=Build::Yes)
 Shader (std::string_view vertexFilename, std::string_view geometryFilename, std::string_view fragmentFilename, Build buildShader=Build::Yes)
 Shader (std::vector< std::unique_ptr< ShaderObject > > &shaderObjects, Build buildShader=Build::Yes)

Member Function Documentation

◆ setTransformFeedbackVaryings()

void inviwo::Shader::setTransformFeedbackVaryings ( std::span< const char * > varyings,
GLenum bufferMode )

Specify values to record in transform feedback buffers.

Parameters
varyingsArray of names of the varying variables to use for transform feedback.
bufferModeThe mode used to capture the varying variables when transform feedback is active. Must be GL_INTERLEAVED_ATTRIBS or GL_SEPARATE_ATTRIBS.

The documentation for this class was generated from the following file:
  • modules/opengl/include/modules/opengl/shader/shader.h