12 #ifndef MANAGEDTEXTURE3D_H_6014714286
13 #define MANAGEDTEXTURE3D_H_6014714286
15 #include <Carna/Carna.h>
97 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
115 ,
const void* bufferPtr );
141 virtual bool controlsSameVideoResource(
const GeometryFeature& )
const override;
153 #endif // MANAGEDTEXTURE3D_H_6014714286
const math::Vector3ui size
Tells the resolution of this texture.
Defines Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
const int pixelFormat
Holds the format of the pixel data, e.g. GL_RED, GL_RGB or GL_RGBA.
const int bufferType
Specifies the data type of the pixel data to be uploaded to the texture.
const int internalFormat
Holds the number of color components in the texture, e.g. GL_RGBA8UI or GL_INTENSITY16.
Interfaces the Texture<3> that a ManagedTexture3D represents.
Defines Carna::base::GeometryFeature.
Eigen::Matrix< unsigned int, 3, 1 > Vector3ui
Defines vector.
Represents 3D OpenGL texture object whose lifetime is managed by instances of this class...
Represents "components" that are aggregated by Geometry objects. Closer description is given here...
const base::math::Matrix4f textureCoordinatesCorrection
Stretches texture coordinates s.t. the centers of the texels, that are located in the texture corners...
Defines Carna::base::ManagedTexture3DInterface.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.
ManagedTexture3DInterface ManagedInterface
Defines the type to be used for interfacing the video resource.
std::unique_ptr< Texture< 3 > > textureObject
Holds the maintained OpenGL texture object.
const void *const bufferPtr
Points to the pixel data that will be uploaded to the texture.
#define NON_COPYABLE
Features class it is placed in as non-copyable.