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)
 
Shaderoperator= (const Shader &)=delete
 
Shaderoperator= (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)
 
ShaderUnmanagedBeginMode ()
 Begin custom shader drawing.
 
ShaderUnmanagedEndMode ()
 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.
 
ShaderUnmanagedoperator= (const ::Shader &shader)
 
ShaderUnmanagedSetValue (int uniformLoc, const ::Matrix &mat)
 Set shader uniform value (matrix 4x4)
 
ShaderUnmanagedSetValue (int uniformLoc, const ::Texture2D &texture)
 Set shader uniform value for texture.
 
ShaderUnmanagedSetValue (int uniformLoc, const void *value, int uniformType)
 Set shader uniform value.
 
ShaderUnmanagedSetValue (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().