.. index:: pair: class; EE::Graphics::Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader: class EE::Graphics::Shader ========================== .. toctree:: :hidden: Overview ~~~~~~~~ The basic shader class. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class Shader { public: // construction :ref:`Shader`(const :ref:`Uint32`& Type); :ref:`Shader`(const :ref:`Uint32`& Type, const std::string& Filename); :ref:`Shader`(const :ref:`Uint32`& Type, const char* Data, const :ref:`Uint32`& DataSize); :ref:`Shader`(const :ref:`Uint32`& Type, :ref:`Pack`* Pack, const std::string& Filename); :ref:`Shader`(const :ref:`Uint32`& Type, const char** Data, const :ref:`Uint32`& NumLines); virtual :target:`~Shader`(); // methods static void :ref:`ensure`(bool ensure); static bool :ref:`ensure`(); void :ref:`setSource`(const std::string& Source); void :ref:`setSource`(const std::vector<:ref:`Uint8`>& Source); void :ref:`setSource`(const char* Data, const :ref:`Uint32`& DataSize); void :ref:`setSource`(const char** Data, const :ref:`Uint32`& NumLines); bool :ref:`compile`(); bool :ref:`isValid`() const; bool :ref:`isCompiled`() const; std::string :ref:`compileLog`() const; :ref:`Uint32` :ref:`getType`() const; :ref:`Uint32` :ref:`getId`() const; void :ref:`reload`(); }; .. _details-class_e_e_1_1_graphics_1_1_shader: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ The basic shader class. Construction ------------ .. index:: pair: function; Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a29d1cd9e60f5682981fd03d8db5c48a3: .. ref-code-block:: cpp :class: doxyrest-title-code-block Shader(const :ref:`Uint32`& Type) Constructor with type of shader, next you'll need to set the source and compile it. .. index:: pair: function; Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a38366d3131105a7d2b373dbb886b6277: .. ref-code-block:: cpp :class: doxyrest-title-code-block Shader(const :ref:`Uint32`& Type, const std::string& Filename) Create a type of shader and load the shader from a file, and compile it. .. index:: pair: function; Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a9875b806570b10e3cbaf8f299d2ba0de: .. ref-code-block:: cpp :class: doxyrest-title-code-block Shader(const :ref:`Uint32`& Type, const char* Data, const :ref:`Uint32`& DataSize) Create a type of shader from memory, and compile it. .. index:: pair: function; Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a3996f4a7b5bba64eb7f313e5b824a98f: .. ref-code-block:: cpp :class: doxyrest-title-code-block Shader(const :ref:`Uint32`& Type, :ref:`Pack`* Pack, const std::string& Filename) Create a type of shader loaded from a pack file .. index:: pair: function; Shader .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a70e6d7cdab7594d6dd817c5202147963: .. ref-code-block:: cpp :class: doxyrest-title-code-block Shader(const :ref:`Uint32`& Type, const char** Data, const :ref:`Uint32`& NumLines) Create a type of shader from memory, and compile it. Methods ------- .. index:: pair: function; ensure .. _doxid-class_e_e_1_1_graphics_1_1_shader_1ad23419843704e962e7080d594f43f857: .. ref-code-block:: cpp :class: doxyrest-title-code-block static void ensure(bool ensure) Activates/Deactivates shader convertion from fixed pipeline to programmable pipeline ( activated by default ) .. index:: pair: function; ensure .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a2906c7277e4cdb1901a567de0b90bacc: .. ref-code-block:: cpp :class: doxyrest-title-code-block static bool ensure() .. rubric:: Returns: If automatic :ref:`Shader ` conversion is activated .. index:: pair: function; setSource .. _doxid-class_e_e_1_1_graphics_1_1_shader_1af33b0b0ec041ac91ffc5133e9e5231f6: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setSource(const std::string& Source) Set the shader source .. index:: pair: function; setSource .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a6bdcbf99bdb840dffe9d436f1a7483ea: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setSource(const std::vector<:ref:`Uint8`>& Source) Set the shader source .. index:: pair: function; setSource .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a73bc0dd233c24073cb9067440b68e60f: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setSource(const char* Data, const :ref:`Uint32`& DataSize) Set the shader source .. index:: pair: function; setSource .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a6a048a6eed72ea7ed2344cef9d32446b: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setSource(const char** Data, const :ref:`Uint32`& NumLines) Set the shader source .. index:: pair: function; compile .. _doxid-class_e_e_1_1_graphics_1_1_shader_1af5e9a8265fe88c3f840be58d3d42809a: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool compile() Compile the shader .. index:: pair: function; isValid .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a0bd8cdd930db447aa872d8f4f33eb1a5: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isValid() const .. rubric:: Returns: If the shader is valid .. index:: pair: function; isCompiled .. _doxid-class_e_e_1_1_graphics_1_1_shader_1acac81b35c6581d673f37b6f064a12fce: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isCompiled() const .. rubric:: Returns: If the shader is compiled .. index:: pair: function; compileLog .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a94b2bbfa674b06493631ebe65ca06a54: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::string compileLog() const .. rubric:: Returns: The log of the compilation .. index:: pair: function; getType .. _doxid-class_e_e_1_1_graphics_1_1_shader_1a8a90c9f298367624c6b159fbe326d9be: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getType() const .. rubric:: Returns: The :ref:`Shader ` Type .. index:: pair: function; getId .. _doxid-class_e_e_1_1_graphics_1_1_shader_1afb497b0fac807afc759ec0dc8eece135: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Uint32` getId() const .. rubric:: Returns: The :ref:`Shader ` Id .. index:: pair: function; reload .. _doxid-class_e_e_1_1_graphics_1_1_shader_1ae3cd48492ce1c358923447abde40f836: .. ref-code-block:: cpp :class: doxyrest-title-code-block void reload() Reloads the :ref:`Shader `.