windows::opengl::CShaderProgram


All platform-dependent classes have been moved to Platform Package in release 10.0.0.

This class is available on Windows platform only

Corresponding class for Linux platform is here.

Corresponding class for Android platform is here.

Implements shader program.

You can find more information in comments below and at IShaderProgram reference page. Overrided methods can be found in corresponding base interface.

class CShaderProgram :public virtual IShaderProgram
    {
    public:
        int getOptionCount() override;
        AnsiString getOptionName(const int index) override;
        OPTION_TYPE getOptionType(const int index) override;
        int getOptionSize(const int index) override;
    
        bool getBoolOptionValue(const int option_index) override;
        bool getBoolOptionValue(const int option_index, const int value_index) override;
        int getIntegerOptionValue(const int option_index) override;
        int getIntegerOptionValue(const int option_index, const int value_index) override;
        float getFloatOptionValue(const int option_index) override;
        float getFloatOptionValue(const int option_index, const int value_index) override;
    
        bool setOptionValue(const int index, const bool value) override;
        bool setOptionValue(const int index, const int value) override;
        bool setOptionValue(const int index, const float value) override;
        bool setOptionValue(const int option_index, const int value_index, const bool value) override;
        bool setOptionValue(const int option_index, const int value_index, const int value) override;
        bool setOptionValue(const int option_index, const int value_index, const float value) override;
        bool setOptionValue(const AnsiString &name, const bool value) override;
        bool setOptionValue(const AnsiString &name, const int value) override;
        bool setOptionValue(const AnsiString &name, const float value) override;
        bool setOptionValue(const AnsiString &name, const int value_index, const bool value) override;
        bool setOptionValue(const AnsiString &name, const int value_index, const int value) override;
        bool setOptionValue(const AnsiString &name, const int value_index, const float value) override;
    
        void Release() override;
    
        bool AddOption(const AnsiString &name, const OPTION_TYPE type, const int size = 1) override;
        bool ApplyOption(const int index) override;
        bool ApplyOption(const AnsiString &name) override;
        void ApplyOptions() override;
    
        CShaderProgram(CRenderer *renderer, COpenGLProgram *program, const bool custom, const bool utils); // Constructor 
        virtual ~CShaderProgram(); // Destructor 
    };
Namespace: nitisa::standard::windows::opengl
Include: Standard/Platform/Windows/OpenGL/ShaderProgram.h