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

Public Types

enum class  RequestResults { ALREADY_INITIALIZED , UNINITIALIZED }
 

Public Member Functions

 RenderWindow (fge::vulkan::Context const &context, fge::vulkan::SurfaceWindow &surfaceWindow)
 
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
 
void setPresentMode (VkPresentModeKHR presentMode)
 
VkPresentModeKHR getPresentMode () const
 
void setTargetFrameRate (unsigned int frameRate)
 
unsigned int getTargetFrameRate () const
 
VkExtent2D getExtent2D () const override
 
fge::vulkan::CommandBuffergetCommandBuffer () const override
 
VkRenderPass getRenderPass () const override
 
fge::vulkan::SurfaceWindowgetSurface () const
 
VkCommandBufferInheritanceInfo getInheritanceInfo (uint32_t imageIndex) const
 
uint32_t getCurrentFrame () const
 
void onResize ()
 
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::RenderWindow::beginRenderPass ( uint32_t imageIndex)
overridevirtual

Implements fge::RenderTarget.

◆ destroy()

void fge::RenderWindow::destroy ( )
finalvirtual

◆ display()

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

Implements fge::RenderTarget.

◆ endRenderPass()

void fge::RenderWindow::endRenderPass ( )
overridevirtual

Implements fge::RenderTarget.

◆ getCommandBuffer()

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

Implements fge::RenderTarget.

◆ getExtent2D()

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

Implements fge::RenderTarget.

◆ getRenderPass()

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

Implements fge::RenderTarget.

◆ getSize()

Vector2u fge::RenderWindow::getSize ( ) const
nodiscardoverridevirtual

Implements fge::RenderTarget.

◆ prepareNextFrame()

uint32_t fge::RenderWindow::prepareNextFrame ( VkCommandBufferInheritanceInfo const * inheritanceInfo,
uint64_t timeout_ns )
nodiscardoverridevirtual

Implements fge::RenderTarget.


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