class glw::Texture2dMultisample — HIRO 0.7.0 documentation

# class glw::Texture2dMultisample

## Overview

Similar to Texture2D, uses multi-sampling for anti-aliasing effects. More…

    #include <Texture.h>

    class Texture2dMultisample: public glw::Texture {
    public:
        // construction

        Texture2dMultisample(const uint32_t width, const uint32_t height, const gl::GLenum internal_format, const uint8_t sample_count);

        // methods

        uint8_t GetSampleCount();
        uint32_t GetWidth();
        uint32_t GetHeight();
        virtual void SetFiltering(const Filtering mag, const Filtering min);
        virtual void SetWrapping(const Wrapping wrap_s, const Wrapping wrap_t);
        virtual void SetParameteri(const gl::GLenum pname, const gl::GLint param);

    protected:
        // methods

        virtual gl::GLenum GetTarget();
        virtual void ReserveMemory();
    };

### Inherited Members

    public:
        // methods

        void Initialize(const gl::GLenum internal_format);
        void Enable();
        void Disable();
        void Unbind();
        void Bind();
        void Bind(const uint8_t binding_unit);
        gl::GLuint GetID();
        gl::GLenum GetInternalFormat();
        void SetFiltering(const Filtering mag_min);
        virtual void SetFiltering(const Filtering mag, const Filtering min);
        void SetWrapping(const Wrapping wrap_st);
        virtual void SetWrapping(const Wrapping wrap_s, const Wrapping wrap_t);
        virtual void SetParameteri(const gl::GLenum pname, const gl::GLint param);
        void SetParameterfv(const gl::GLenum pname, const gl::GLfloat* param);

    protected:
        // methods

        virtual gl::GLenum GetTarget() = 0;
        virtual void ReserveMemory() = 0;

## Detailed Documentation

Similar to Texture2D, uses multi-sampling for anti-aliasing effects.

Hint

When used in shader it must be decalred as `sampler2DMS` and accessed via `texelFetch()`.