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

Public Types

enum class  RequestResults { ALREADY_INITIALIZED , UNINITIALIZED }

Public Member Functions

 RenderTarget (RenderTarget const &r)
 RenderTarget (RenderTarget &&r) noexcept
RenderTargetoperator= (RenderTarget const &r)
RenderTargetoperator= (RenderTarget &&r) noexcept
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
virtual uint32_t prepareNextFrame (VkCommandBufferInheritanceInfo const *inheritanceInfo, uint64_t timeout_ns)=0
virtual void beginRenderPass (uint32_t imageIndex)=0
void draw (fge::RenderStates &states, fge::vulkan::GraphicPipeline *graphicPipeline=nullptr) const
virtual void endRenderPass ()=0
virtual void display (uint32_t imageIndex)=0
virtual Vector2u getSize () const =0
virtual VkExtent2D getExtent2D () const =0
virtual fge::vulkan::CommandBuffergetCommandBuffer () const =0
virtual VkRenderPass getRenderPass () const =0
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)
virtual void destroy ()=0

Protected Member Functions

 RenderTarget (fge::vulkan::Context const &context)
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

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