FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
fge::RenderTexture Class Reference
Inheritance diagram for fge::RenderTexture:
fge::RenderTarget fge::vulkan::ContextAware

Public Types

enum class  RequestResults { ALREADY_INITIALIZED , UNINITIALIZED }

Public Member Functions

 RenderTexture (glm::vec< 2, int > const &size={1, 1}, fge::vulkan::Context const &context=fge::vulkan::GetActiveContext())
 RenderTexture (RenderTexture const &r)
 RenderTexture (RenderTexture &&r) noexcept
RenderTextureoperator= (RenderTexture const &r)
RenderTextureoperator= (RenderTexture &&r) noexcept
void resize (glm::vec< 2, int > const &size)
void destroy () final
uint32_t prepareNextFrame (VkCommandBufferInheritanceInfo const *inheritanceInfo, uint64_t timeout_ns) override
void beginRenderPass (uint32_t imageIndex) override
void endRenderPass () override
void display (uint32_t imageIndex) override
Vector2u getSize () const override
VkExtent2D getExtent2D () const override
fge::vulkan::CommandBuffergetCommandBuffer () const override
VkRenderPass getRenderPass () const override
fge::vulkan::TextureImage const & getTextureImage () const
uint32_t getCurrentFrame () const
void setClearColor (fge::Color const &color)
fge::Color getClearColor () const
void setView (View const &view)
View const & getView () const
View const & getDefaultView () const
fge::vulkan::Viewport getViewport (View const &view) const
Vector2f mapFramebufferCoordsToViewSpace (Vector2i const &point) const
Vector2f mapFramebufferCoordsToViewSpace (Vector2i const &point, View const &view) const
Vector2f mapFramebufferCoordsToWorldSpace (Vector2i const &point) const
Vector2f mapFramebufferCoordsToWorldSpace (Vector2i const &point, View const &view) const
Vector2i mapViewCoordsToFramebufferSpace (Vector2f const &point) const
Vector2i mapViewCoordsToFramebufferSpace (Vector2f const &point, View const &view) const
Vector2i mapWorldCoordsToFramebufferSpace (Vector2f const &point) const
Vector2i mapWorldCoordsToFramebufferSpace (Vector2f const &point, View const &view) const
RectFloat mapFramebufferRectToViewSpace (RectInt const &rect) const
RectFloat mapFramebufferRectToViewSpace (RectInt const &rect, View const &view) const
RectFloat mapFramebufferRectToWorldSpace (RectInt const &rect) const
RectFloat mapFramebufferRectToWorldSpace (RectInt const &rect, View const &view) const
RectInt mapViewRectToFramebufferSpace (RectFloat const &rect) const
RectInt mapViewRectToFramebufferSpace (RectFloat const &rect, View const &view) const
RectInt mapWorldRectToFramebufferSpace (RectFloat const &rect) const
RectInt mapWorldRectToFramebufferSpace (RectFloat const &rect, View const &view) const
void draw (fge::RenderStates &states, fge::vulkan::GraphicPipeline *graphicPipeline=nullptr) const
std::pair< fge::vulkan::GraphicPipeline &, RequestResults > requestGraphicPipeline (vulkan::GraphicPipeline::Key const &key) const
void clearGraphicPipelineCache ()
uint32_t requestGlobalTransform (fge::Transformable const &transformable, uint32_t parentGlobalTransform) const
uint32_t requestGlobalTransform (fge::Transformable const &transformable, fge::TransformUboData const &parentTransform) const
uint32_t requestGlobalTransform (fge::Transformable const &transformable, fge::RenderResourceTransform const &resource) const
uint32_t requestGlobalTransform (fge::Transformable const &transformable) const
fge::TransformUboData const * getGlobalTransform (fge::RenderResourceTransform const &resource) const
constexpr Context const & getContext () const
void swapContext (Context const &context)

Protected Member Functions

void initialize ()
void refreshShaderCache ()
void resetDefaultView ()
void verifyContext (ContextAware const &r) const

Protected Attributes

shader::ShaderManager::DataBlockPointer _g_defaultFragmentShader
shader::ShaderManager::DataBlockPointer _g_defaultNoTextureFragmentShader
shader::ShaderManager::DataBlockPointer _g_defaultVertexShader
VkClearColorValue _g_clearColor
bool _g_forceGraphicPipelineUpdate
std::unordered_map< vulkan::GraphicPipeline::Key, vulkan::GraphicPipeline, vulkan::GraphicPipeline::Key::Hash, vulkan::GraphicPipeline::Key::Compare_g_graphicPipelineCache

Member Function Documentation

◆ beginRenderPass()

void fge::RenderTexture::beginRenderPass ( uint32_t imageIndex)
overridevirtual

Implements fge::RenderTarget.

◆ destroy()

void fge::RenderTexture::destroy ( )
finalvirtual

◆ display()

void fge::RenderTexture::display ( uint32_t imageIndex)
overridevirtual

Implements fge::RenderTarget.

◆ endRenderPass()

void fge::RenderTexture::endRenderPass ( )
overridevirtual

Implements fge::RenderTarget.

◆ getCommandBuffer()

fge::vulkan::CommandBuffer & fge::RenderTexture::getCommandBuffer ( ) const
nodiscardoverridevirtual

Implements fge::RenderTarget.

◆ getExtent2D()

VkExtent2D fge::RenderTexture::getExtent2D ( ) const
nodiscardoverridevirtual

Implements fge::RenderTarget.

◆ getRenderPass()

VkRenderPass fge::RenderTexture::getRenderPass ( ) const
nodiscardoverridevirtual

Implements fge::RenderTarget.

◆ getSize()

Vector2u fge::RenderTexture::getSize ( ) const
overridevirtual

Implements fge::RenderTarget.

◆ prepareNextFrame()

uint32_t fge::RenderTexture::prepareNextFrame ( VkCommandBufferInheritanceInfo const * inheritanceInfo,
uint64_t timeout_ns )
overridevirtual

Implements fge::RenderTarget.


The documentation for this class was generated from the following file: