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