8 #ifndef META_OCEAN_RENDERING_GLES_MEDIA_TEXTURE_2D_H
9 #define META_OCEAN_RENDERING_GLES_MEDIA_TEXTURE_2D_H
22 namespace GLESceneGraph
53 inline GLuint primaryTextureId()
const;
59 inline GLuint secondaryTextureId()
const;
185 GLuint primaryTextureId_ = 0u;
188 GLuint secondaryTextureId_ = 0u;
194 std::string textureName_ = std::string(
"primaryTexture,secondaryTexture");
This class implements Ocean's image class.
Definition: Frame.h:1792
Definition of a frame type composed by the frame dimension, pixel format and pixel origin.
Definition: Frame.h:30
This class implements a class factory for all GLESceneGraph objects.
Definition: GLESFactory.h:30
This class wraps a GLESceneGraph media texture object.
Definition: GLESMediaTexture2D.h:32
std::string textureName() const override
Returns the name of the texture e.g., in a shader.
bool setTextureName(const std::string &name) override
Sets the name of the texture e.g., in a shader.
bool defineSecondaryTextureObject(const FrameType &frameType)
Creates a secondary GLESceneGraph texture object.
GLuint primaryTextureId() const
Returns the texture id of the primary texture.
Definition: GLESMediaTexture2D.h:197
static bool determineInternalFrameType(const FrameType &frameType, FrameType &internalFrameType)
Returns the frame type of the internal frame for which a GL texture format exists.
void createMipmap() override
Updates the mipmap for this texture.
void onDynamicUpdate(const ViewRef &view, const Timestamp timestamp) override
Update function called by the framebuffer.
bool isValid() const override
Returns whether the texture internally holds valid data.
bool defineTextureObject(const FrameType &frameType)
Creates a new GLESceneGraph texture object.
GLuint primaryTextureId_
The OpenGL ES texture id.
Definition: GLESMediaTexture2D.h:185
unsigned int bindTexture(GLESShaderProgram &shaderProgram, const unsigned int id) override
Binds this texture.
static bool determinePrimaryTextureProperties(const FrameType &frameType, unsigned int &width, unsigned int &height, GLenum &format, GLenum &type)
Determines the properties of the primary texture for a given frame type.
static bool determineSecondaryTextureProperties(const FrameType &frameType, unsigned int &width, unsigned int &height, GLenum &format, GLenum &type)
Determines the properties of the secondary texture for a given frame type.
GLESMediaTexture2D()
Creates a new GLESceneGraph texture 2D object.
bool definePrimaryTextureObject(const FrameType &frameType)
Creates a primary GLESceneGraph texture object.
static bool primaryTextureName(const std::string &names, std::string &name)
Returns the name of the primary texture.
Timestamp renderTimestamp_
The recent timestamp of the rendering engine.
Definition: GLESMediaTexture2D.h:182
~GLESMediaTexture2D() override
Destructs a GLESceneGraph texture 2D object.
std::string descriptiveInformation() const override
Returns descriptive information about the object as string.
Frame conversionFrame_
Optional temp conversion frame.
Definition: GLESMediaTexture2D.h:191
static bool secondaryTextureName(const std::string &names, std::string &name)
Returns the name of the secondary texture.
GLuint secondaryTextureId_
Additional OpenGL ES texture id.
Definition: GLESMediaTexture2D.h:188
static bool needsSecondaryTextureObjects(const FrameType &frameType)
Returns whether a second texture is necessary for a given frame type.
GLuint secondaryTextureId() const
Returns the texture id of the secondary texture.
Definition: GLESMediaTexture2D.h:202
This class implements a container for an OpenGL ES shader program.
Definition: GLESShaderProgram.h:53
This class wraps a GLESceneGraph texture object.
Definition: GLESTexture2D.h:34
This class is the base class for all 2D textures receiving their image content from Media objects.
Definition: MediaTexture2D.h:41
This class implements a timestamp.
Definition: Timestamp.h:36
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15