Fix build issues

This commit is contained in:
2024-09-21 14:51:11 +02:00
parent 95ddd4b23f
commit 653be0a403
4 changed files with 12 additions and 7 deletions

View File

@@ -93,6 +93,7 @@ function(LinkMsdf TARGET)
if (FREETYPE_BUILT_FROM_SOURCES)
target_include_directories(${TARGET} PUBLIC ${FREETYPE_INCLUDE_DIR})
else()
find_package(Freetype REQUIRED)
target_include_directories(${TARGET} PUBLIC ${FREETYPE_INCLUDE_DIRS})
endif()
endif()

View File

@@ -167,6 +167,11 @@ namespace OpenVulkano
bool HasRenderResource() const { return renderResource; }
RenderResourceHolder& operator =(const RenderResourceHolder& copy) noexcept
{
renderResource.Release();
}
RenderResourceHolder& operator =(RenderResourceHolder&& move) noexcept
{
renderResource = std::move(move.renderResource);

View File

@@ -93,7 +93,6 @@ namespace OpenVulkano::Scene
m_atlasData = std::make_shared<AtlasData>();
if (isPacked)
{
m_atlasData->texture = Texture();
m_material.texture = &m_atlasData->texture;
m_atlasData->img = Image::IImageLoader::loadData((const uint8_t*) atlasMetadata.Data(),
offsetToMetadata);

View File

@@ -23,7 +23,7 @@ namespace OpenVulkano::Vulkan
if (labelDrawable->IsBillboard())
{
OpenVulkano::Scene::UniformBuffer* buffer = labelDrawable->GetBillboardBuffer();
VulkanUniformBuffer* vkBuffer = static_cast<VulkanUniformBuffer*>(buffer->renderBuffer);
VulkanUniformBuffer* vkBuffer = buffer->GetRenderResource();
if (!vkBuffer)
{
vkBuffer = drawContext->renderer->GetResourceManager().PrepareUniformBuffer(buffer);
@@ -32,7 +32,7 @@ namespace OpenVulkano::Vulkan
}
OpenVulkano::Scene::UniformBuffer* labelBuffer = labelDrawable->GetLabelBuffer();
VulkanUniformBuffer* vkBuffer = static_cast<VulkanUniformBuffer*>(labelBuffer->renderBuffer);
VulkanUniformBuffer* vkBuffer = labelBuffer->GetRenderResource();
if (!vkBuffer)
{
vkBuffer = drawContext->renderer->GetResourceManager().PrepareUniformBuffer(labelBuffer);
@@ -57,7 +57,7 @@ namespace OpenVulkano::Vulkan
OpenVulkano::Scene::Shader* shader = entry.GetShader();
drawContext->EncodeShader(shader);
Geometry* mesh = entry.GetMesh();
VulkanGeometry* renderGeo = static_cast<VulkanGeometry*>(mesh->renderGeo);
VulkanGeometry* renderGeo = mesh->GetRenderResource();
if (!renderGeo)
{
renderGeo = drawContext->renderer->GetResourceManager().PrepareGeometry(mesh);
@@ -77,7 +77,7 @@ namespace OpenVulkano::Vulkan
{
if (buffer)
{
VulkanUniformBuffer* vkBuffer = static_cast<VulkanUniformBuffer*>(buffer->renderBuffer);
VulkanUniformBuffer* vkBuffer = buffer->GetRenderResource();
if (!vkBuffer)
{
vkBuffer = drawContext->renderer->GetResourceManager().PrepareUniformBuffer(buffer);
@@ -90,11 +90,11 @@ namespace OpenVulkano::Vulkan
{
if (Texture* texture = material->texture)
{
VulkanTexture* renderTexture = static_cast<VulkanTexture*>(texture->renderTexture);
VulkanTexture* renderTexture = texture->GetRenderResource();
if (!renderTexture)
{
drawContext->renderer->GetResourceManager().PrepareMaterial(entry.GetMaterial());
renderTexture = static_cast<VulkanTexture*>(texture->renderTexture);
renderTexture = texture->GetRenderResource();
}
renderTexture->Record(drawContext);
}