raylib-cpp
C++ object-oriented wrapper library for raylib.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
raylib::Shader Class Reference

Shader type (generic) More...

#include <Shader.hpp>

Public Member Functions

 Shader (const Shader &)=delete
 
 Shader (Shader &&other) noexcept
 
 ~Shader ()
 Unload shader from GPU memory (VRAM)
 
Shader & operator= (const Shader &)=delete
 
Shader & operator= (Shader &&other) noexcept
 
 ShaderUnmanaged ()
 
 ShaderUnmanaged (const ::Shader &shader)
 
 ShaderUnmanaged (const char *vsFileName, const char *fsFileName)
 
 ShaderUnmanaged (const std::string &vsFileName, const std::string &fsFileName)
 
 ShaderUnmanaged (unsigned int id, int *locs=nullptr)
 
void Unload ()
 Unload shader from GPU memory (VRAM)
 
- Public Member Functions inherited from raylib::ShaderUnmanaged
 ShaderUnmanaged (const ::Shader &shader)
 
 ShaderUnmanaged (const char *vsFileName, const char *fsFileName)
 
 ShaderUnmanaged (const std::string &vsFileName, const std::string &fsFileName)
 
 ShaderUnmanaged (unsigned int id, int *locs=nullptr)
 
ShaderUnmanaged & BeginMode ()
 Begin custom shader drawing.
 
ShaderUnmanaged & EndMode ()
 End custom shader drawing (use default shader).
 
unsigned int GetId () const
 Retrieves the id value for the object.
 
int GetLocation (const std::string &uniformName) const
 Get shader uniform location.
 
int GetLocationAttrib (const std::string &attribName) const
 Get shader attribute location.
 
int * GetLocs () const
 Retrieves the locs value for the object.
 
bool IsValid () const
 Retrieves whether or not the shader is ready.
 
ShaderUnmanaged & operator= (const ::Shader &shader)
 
ShaderUnmanaged & SetValue (int uniformLoc, const ::Matrix &mat)
 Set shader uniform value (matrix 4x4)
 
ShaderUnmanaged & SetValue (int uniformLoc, const ::Texture2D &texture)
 Set shader uniform value for texture.
 
ShaderUnmanaged & SetValue (int uniformLoc, const void *value, int uniformType)
 Set shader uniform value.
 
ShaderUnmanaged & SetValue (int uniformLoc, const void *value, int uniformType, int count)
 Set shader uniform value vector.
 

Additional Inherited Members

- Static Public Member Functions inherited from raylib::ShaderUnmanaged
::Shader Load (const char *vsFileName, const char *fsFileName)
 
::Shader Load (const std::string &vsFileName, const std::string &fsFileName)
 Load shader from files and bind default locations.
 
::Shader LoadFromMemory (const char *vsCode, const char *fsCode)
 
::Shader LoadFromMemory (const std::string &vsCode, const std::string &fsCode)
 Load a shader from memory.
 
- Protected Member Functions inherited from raylib::ShaderUnmanaged
void set (const ::Shader &shader)
 

Detailed Description

Shader type (generic)

Definition at line 15 of file Shader.hpp.

Constructor & Destructor Documentation

◆ Shader()

raylib::Shader::Shader ( Shader &&  other)
inlinenoexcept

Definition at line 21 of file Shader.hpp.

◆ ~Shader()

raylib::Shader::~Shader ( )
inline

Unload shader from GPU memory (VRAM)

Definition at line 47 of file Shader.hpp.

References Unload().

Member Function Documentation

◆ operator=()

Shader & raylib::Shader::operator= ( Shader &&  other)
inlinenoexcept

Definition at line 30 of file Shader.hpp.

◆ ShaderUnmanaged() [1/5]

raylib::ShaderUnmanaged::ShaderUnmanaged ( )
inline

Definition at line 17 of file ShaderUnmanaged.hpp.

◆ ShaderUnmanaged() [2/5]

raylib::ShaderUnmanaged::ShaderUnmanaged ( const ::Shader &  shader)
inline

Definition at line 19 of file ShaderUnmanaged.hpp.

◆ ShaderUnmanaged() [3/5]

raylib::ShaderUnmanaged::ShaderUnmanaged ( const char *  vsFileName,
const char *  fsFileName 
)
inline

Definition at line 26 of file ShaderUnmanaged.hpp.

◆ ShaderUnmanaged() [4/5]

raylib::ShaderUnmanaged::ShaderUnmanaged ( const std::string &  vsFileName,
const std::string &  fsFileName 
)
inline

Definition at line 23 of file ShaderUnmanaged.hpp.

◆ ShaderUnmanaged() [5/5]

raylib::ShaderUnmanaged::ShaderUnmanaged ( unsigned int  id,
int *  locs = nullptr 
)
inline

Definition at line 21 of file ShaderUnmanaged.hpp.

◆ Unload()

void raylib::Shader::Unload ( )
inline

Unload shader from GPU memory (VRAM)

Definition at line 52 of file Shader.hpp.

Referenced by ~Shader().