71 [[nodiscard]]
fge::Color getClearColor()
const;
73 void setView(
View const& view);
74 [[nodiscard]]
View const& getView()
const;
75 [[nodiscard]]
View const& getDefaultView()
const;
78 [[nodiscard]] Vector2f mapFramebufferCoordsToViewSpace(Vector2i
const& point)
const;
79 [[nodiscard]] Vector2f mapFramebufferCoordsToViewSpace(Vector2i
const& point,
View const& view)
const;
80 [[nodiscard]] Vector2f mapFramebufferCoordsToWorldSpace(Vector2i
const& point)
const;
81 [[nodiscard]] Vector2f mapFramebufferCoordsToWorldSpace(Vector2i
const& point,
View const& view)
const;
83 [[nodiscard]] Vector2i mapViewCoordsToFramebufferSpace(Vector2f
const& point)
const;
84 [[nodiscard]] Vector2i mapViewCoordsToFramebufferSpace(Vector2f
const& point,
View const& view)
const;
85 [[nodiscard]] Vector2i mapWorldCoordsToFramebufferSpace(Vector2f
const& point)
const;
86 [[nodiscard]] Vector2i mapWorldCoordsToFramebufferSpace(Vector2f
const& point,
View const& view)
const;
88 [[nodiscard]]
RectFloat mapFramebufferRectToViewSpace(
RectInt const& rect)
const;
89 [[nodiscard]]
RectFloat mapFramebufferRectToViewSpace(
RectInt const& rect,
View const& view)
const;
90 [[nodiscard]]
RectFloat mapFramebufferRectToWorldSpace(
RectInt const& rect)
const;
91 [[nodiscard]]
RectFloat mapFramebufferRectToWorldSpace(
RectInt const& rect,
View const& view)
const;
93 [[nodiscard]]
RectInt mapViewRectToFramebufferSpace(
RectFloat const& rect)
const;
94 [[nodiscard]]
RectInt mapViewRectToFramebufferSpace(
RectFloat const& rect,
View const& view)
const;
95 [[nodiscard]]
RectInt mapWorldRectToFramebufferSpace(
RectFloat const& rect)
const;
96 [[nodiscard]]
RectInt mapWorldRectToFramebufferSpace(
RectFloat const& rect,
View const& view)
const;
98 virtual uint32_t prepareNextFrame(VkCommandBufferInheritanceInfo
const* inheritanceInfo, uint64_t timeout_ns) = 0;
99 virtual void beginRenderPass(uint32_t imageIndex) = 0;
101 virtual void endRenderPass() = 0;
102 virtual void display(uint32_t imageIndex) = 0;
104 virtual Vector2u getSize()
const = 0;
106 [[nodiscard]]
virtual VkExtent2D getExtent2D()
const = 0;
108 [[nodiscard]]
virtual VkRenderPass getRenderPass()
const = 0;
110 enum class RequestResults
116 [[nodiscard]] std::pair<fge::vulkan::GraphicPipeline&, RequestResults>
118 void clearGraphicPipelineCache();
120 [[nodiscard]] uint32_t requestGlobalTransform(
fge::Transformable const& transformable,
121 uint32_t parentGlobalTransform)
const;
122 [[nodiscard]] uint32_t requestGlobalTransform(
fge::Transformable const& transformable,
124 [[nodiscard]] uint32_t requestGlobalTransform(
fge::Transformable const& transformable,
126 [[nodiscard]] uint32_t requestGlobalTransform(
fge::Transformable const& transformable)
const;
135 void refreshShaderCache();
136 void resetDefaultView();
138 shader::ShaderManager::DataBlockPointer _g_defaultFragmentShader;
139 shader::ShaderManager::DataBlockPointer _g_defaultNoTextureFragmentShader;
140 shader::ShaderManager::DataBlockPointer _g_defaultVertexShader;
142 VkClearColorValue _g_clearColor;
144 bool _g_forceGraphicPipelineUpdate;
150 _g_graphicPipelineCache;
Definition C_contextAware.hpp:28
Vulkan context.
Definition C_context.hpp:70