FastEngine 0.9.3
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: