8 #ifndef META_OCEAN_TRACKING_MAPTEXTURING_TRIANGLES_MANAGER_RENDERER_H
9 #define META_OCEAN_TRACKING_MAPTEXTURING_TRIANGLES_MANAGER_RENDERER_H
32 namespace MapTexturing
141 unsigned int framebufferWidth_ = 0u;
144 unsigned int framebufferHeight_ = 0u;
147 bool hasChanged_ =
false;
This class implements an accessor providing direct access to a constant array of elements.
Definition: Accessor.h:400
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 manager for active, textured, retired, and deleted triangles.
Definition: TrianglesManagerRenderer.h:41
Rendering::TextureFramebufferRef copyTextureFramebuffer_
The copy of the texture framebuffer holding the states of the individual triangles.
Definition: TrianglesManagerRenderer.h:168
ConstArrayAccessor< uint8_t > triangleStates(const unsigned int numberTriangles)
Returns the states of all triangles this manager.
bool updateTexturedTriangles(const Rendering::TextureFramebufferRef &triangleIdFramebuffer, Frame *stateFrame=nullptr)
Updates the manager with ids of recently textured triangles.
static const char * programFragmentShaderActiveTriangles_
The fragment shader program to render active triangles.
Definition: TrianglesManagerRenderer.h:195
static const char * partPlatform_
The platform-specific shader part.
Definition: TrianglesManagerRenderer.h:180
bool updateRetiredTriangles(const Indices32 &retiredTriangleIds, Frame *stateFrame=nullptr)
Updates the manager with ids of retired triangles.
Rendering::TextureFramebufferRef textureFramebuffer_
The texture framebuffer holding the states of the individual triangles.
Definition: TrianglesManagerRenderer.h:165
Frame triangleStatesFrame_
The frame holding a copy of the triangle states, valid as long as 'hasChanged_ == false'.
Definition: TrianglesManagerRenderer.h:150
Rendering::PointsRef points_
The points object which will be used to render points.
Definition: TrianglesManagerRenderer.h:174
bool copyFramebuffer()
Copies the active state framebuffer to the copy framebuffer.
static const char * programFragmentShaderCopyFramebuffer_
The fragment shader program to copy the framebuffer.
Definition: TrianglesManagerRenderer.h:201
bool isValid() const
Returns whether this renderer has been initialized successfully.
Rendering::ShaderProgramRef shaderProgramSetTriangles_
The shader program allowing to set triangle states.
Definition: TrianglesManagerRenderer.h:153
Rendering::ShaderProgramRef shaderProgramCopyFramebuffer_
The shader program allowing to make a copy of the state framebuffer.
Definition: TrianglesManagerRenderer.h:159
Rendering::VertexSetRef vertexSet_
The vertex set holding the vertices to be rendered.
Definition: TrianglesManagerRenderer.h:171
const Rendering::TextureFramebufferRef & textureFramebuffer() const
Returns the current texture framebuffer of this renderer.
Definition: TrianglesManagerRenderer.h:204
void release()
Explicitly releases this renderer and releases all resources.
Rendering::ShaderProgramRef shaderProgramRetiredTriangles_
The shader program allowing to set the states of retired triangles.
Definition: TrianglesManagerRenderer.h:162
Rendering::ShaderProgramRef shaderProgramTexturedTriangles_
The shader program allowing to set the states of textured triangles.
Definition: TrianglesManagerRenderer.h:156
bool updateNewTriangles(const Indices32 &newTriangleIds, Frame *stateFrame=nullptr)
Updates the manager with ids of new triangles.
static const char * programVertexShaderRetiredTriangles_
The vertex shader program to render retired triangles.
Definition: TrianglesManagerRenderer.h:189
~TrianglesManagerRenderer()
Destructs this renderer and releases all resources.
bool updateDeletedTriangles(const Indices32 &deletedTriangleIds, Frame *stateFrame=nullptr)
Updates the manager with ids of deleted triangles.
static const char * programFragmentShaderRetiredTriangles_
The fragment shader program to render retired triangles.
Definition: TrianglesManagerRenderer.h:198
bool initialize(const Rendering::Engine &engine, unsigned int framebufferWidth, unsigned int framebufferHeight)
Initializes the manager.
static const char * programVertexShaderPlanarTexturedTriangles_
The vertex shader program to render planar textured triangles.
Definition: TrianglesManagerRenderer.h:186
bool setTriangles(const Indices32 &triangleIds, const float triangleColor)
Sets the color value (the state) of several triangles.
Rendering::TrianglesRef triangles_
The triangles object which will be used to render triangles.
Definition: TrianglesManagerRenderer.h:177
static const char * programFragmentShaderSetTriangles_
The fragment shader program to render triangle states.
Definition: TrianglesManagerRenderer.h:192
static const char * programVertexShaderSetTriangles_
The vertex shader program to set triangle states.
Definition: TrianglesManagerRenderer.h:183
bool updateTexturedTriangles(const Indices32 &texturedTriangleIds, Frame *stateFrame=nullptr)
Updates the manager with ids of recently textured triangles.
std::vector< Index32 > Indices32
Definition of a vector holding 32 bit index values.
Definition: Base.h:96
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15