8 #ifndef META_OCEAN_TRACKING_MAPTEXTURING_TEXTURED_TRIANGLES_RENDERER_H
9 #define META_OCEAN_TRACKING_MAPTEXTURING_TEXTURED_TRIANGLES_RENDERER_H
33 namespace MapTexturing
This class implements Ocean's image class.
Definition: Frame.h:1792
This class is the base class for all rendering engines like.
Definition: Engine.h:46
This class implements a texture atlas for triangles with regular shape.
Definition: TextureAtlas.h:31
This class implements a renderer rendering textured triangles into a texture atlas using a geometry s...
Definition: TexturedTrianglesRenderer.h:41
Rendering::ShaderProgramRef shaderProgram_
The shader program rendering individual triangles with individual color ids.
Definition: TexturedTrianglesRenderer.h:129
bool render(const Rendering::Engine &engine, const unsigned int numberTriangles, const SquareMatrix4 &projectionMatrix, const HomogenousMatrix4 &world_T_camera, const Rendering::VertexSetRef &vertexSet, const Rendering::TrianglesRef &triangles, const Rendering::TextureFramebufferRef &visibleTrianglesFramebuffer, const TextureAtlas &textureAtlas)
Renders textured triangles into a texture atlas.
~TexturedTrianglesRenderer()
Destructs this renderer and releases all resources.
TextureFramebufferMap textureFramebufferMap_
The map of texture framebuffers, one for each mesh id.
Definition: TexturedTrianglesRenderer.h:132
bool latestTexture(const Index32 meshId, Frame &textureFrame) const
Returns the latest texture atlas image for a specified mesh.
bool renderMesh(const Rendering::Engine &engine, const Index32 meshId, const unsigned int trianglesInMesh, const SquareMatrix4 &projectionMatrix, const HomogenousMatrix4 &world_T_camera, const Rendering::VertexSetRef &vertexSet, const Rendering::TrianglesRef &triangles, const Rendering::TextureFramebufferRef &visibleTrianglesFramebuffer, const TextureAtlas &textureAtlas)
Renders textured triangles into a texture atlas.
bool update(const Rendering::Engine &engine, Frame &&rgbFrame)
Updates this renderer with a new live frame which will be used as source texture.
static const char * programVertexShader_
The vertex shader part.
Definition: TexturedTrianglesRenderer.h:147
static const char * programFragmentShader_
The fragment shader part.
Definition: TexturedTrianglesRenderer.h:150
bool isValid() const
Returns whether this renderer has been initialized successfully.
Indices32 meshIds() const
Returns the ids of all textured meshes.
static const char * partPlatform_
The platform-specific shader part.
Definition: TexturedTrianglesRenderer.h:138
static const char * partTextureAtlas_
The shader part for the texture atlas.
Definition: TexturedTrianglesRenderer.h:141
Rendering::FrameTexture2DRef texture_
The frame texture holding the texture information for the triangles.
Definition: TexturedTrianglesRenderer.h:135
static const char * programGeometryShader_
The geometry shader part.
Definition: TexturedTrianglesRenderer.h:144
const TextureFramebufferMap & textureFramebufferMap() const
Returns the map mapping mesh ids to texture framebuffers.
Definition: TexturedTrianglesRenderer.h:153
std::unordered_map< Index32, Rendering::TextureFramebufferRef > TextureFramebufferMap
Definition of an unordered map mapping mesh ids to texture framebuffers.
Definition: TexturedTrianglesRenderer.h:47
void release()
Explicitly releases this renderer and releases all resources.
std::vector< Index32 > Indices32
Definition of a vector holding 32 bit index values.
Definition: Base.h:96
uint32_t Index32
Definition of a 32 bit index value.
Definition: Base.h:84
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15