added font rendering
This commit is contained in:
@@ -325,6 +325,11 @@ uint32_t CVkBuffer::GetSize()
|
||||
return m_nSize;
|
||||
}
|
||||
|
||||
void CVkSampler::SetDebugName( const char *szName )
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
CVkTextureArray::~CVkTextureArray()
|
||||
{
|
||||
|
||||
@@ -357,7 +362,6 @@ void CVkTextureArray::Build()
|
||||
samplerInfo.mipLodBias = 0.0f;
|
||||
samplerInfo.minLod = 0.0f;
|
||||
samplerInfo.maxLod = VK_LOD_CLAMP_NONE;
|
||||
|
||||
vkCreateSampler(m_hDevice, &samplerInfo, nullptr, &m_hSampler);
|
||||
|
||||
LoadTexture("game/core/textures/error.png");
|
||||
@@ -427,6 +431,11 @@ uint32_t CVkTextureArray::GetTextureID( const char *szPath )
|
||||
{
|
||||
}
|
||||
|
||||
IImage *CVkTextureArray::GetTexture( uint32_t uTextureID )
|
||||
{
|
||||
return m_pImages[uTextureID];
|
||||
}
|
||||
|
||||
void CVkTextureArray::UnloadTexture( uint32_t uTextureID )
|
||||
{
|
||||
|
||||
@@ -477,6 +486,8 @@ public:
|
||||
|
||||
virtual ITextureArray *CreateTextureArray() override;
|
||||
virtual void DestroyTextureArray() override;
|
||||
|
||||
virtual ISampler *GetDefaultSampler() override;
|
||||
private:
|
||||
VkPhysicalDevice SelectPhysicalDevice( CUtlVector<VkPhysicalDevice> physicalDevices );
|
||||
CUtlVector<const char *> GetDeviceExtensions();
|
||||
@@ -498,6 +509,8 @@ private:
|
||||
CUtlVector<CVkTextureArray*> m_scheduledRemovalTextureArrays;
|
||||
CUtlVector<CVkBuffer*> m_scheduledRemovalBuffers;
|
||||
CUtlVector<CVkImage*> m_scheduledRemovalImages;
|
||||
|
||||
CVkSampler m_defaultSampler;
|
||||
};
|
||||
EXPOSE_INTERFACE(CVkRenderContext, IRenderContext, RENDER_CONTEXT_INTERFACE_VERSION);
|
||||
|
||||
@@ -677,12 +690,18 @@ void CVkRenderContext::DestroyTextureArray()
|
||||
{
|
||||
}
|
||||
|
||||
ISampler *CVkRenderContext::GetDefaultSampler()
|
||||
{
|
||||
return &m_defaultSampler;
|
||||
|
||||
}
|
||||
|
||||
|
||||
VkPipelineLayout g_pLibraryEmptyLayout;
|
||||
static IVkCommandBuffer *s_pPresentCommandBuffer;
|
||||
void CVkRenderContext::Init()
|
||||
{
|
||||
|
||||
VkResult r;
|
||||
|
||||
int nExtensionCount;
|
||||
@@ -834,6 +853,23 @@ void CVkRenderContext::Init()
|
||||
m_pCommandBufferManager = (IVkCommandBufferManager*)CreateInterface(VULKAN_COMMAND_BUFFER_MANAGER_INTERFACE_NAME, NULL);
|
||||
m_pCommandBufferManager->SetVulkanHandlers(s_vkInstance, s_vkDevice);
|
||||
m_pCommandBufferManager->Init();
|
||||
|
||||
VkSamplerCreateInfo samplerInfo = {};
|
||||
samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
|
||||
samplerInfo.magFilter = VK_FILTER_LINEAR;
|
||||
samplerInfo.minFilter = VK_FILTER_LINEAR;
|
||||
samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
samplerInfo.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK;
|
||||
samplerInfo.unnormalizedCoordinates = VK_FALSE;
|
||||
samplerInfo.compareEnable = VK_FALSE;
|
||||
samplerInfo.compareOp = VK_COMPARE_OP_ALWAYS;
|
||||
samplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR;
|
||||
samplerInfo.mipLodBias = 0.0f;
|
||||
samplerInfo.minLod = 0.0f;
|
||||
samplerInfo.maxLod = VK_LOD_CLAMP_NONE;
|
||||
vkCreateSampler(s_vkDevice, &samplerInfo, nullptr, &m_defaultSampler.m_sampler);
|
||||
}
|
||||
|
||||
void CVkRenderContext::Frame( float fDeltaTime )
|
||||
@@ -1059,8 +1095,8 @@ formatPicked:
|
||||
pImage->m_eImageType = IMAGE_TYPE_2D;
|
||||
pImage->m_eMultisampleType = MULTISAMPLE_TYPE_NONE;
|
||||
pImage->m_eFormat = IMAGE_FORMAT_BGRA8_UNORM;
|
||||
pImage->m_nHeight = 1280;
|
||||
pImage->m_nWidth = 720;
|
||||
pImage->m_nHeight = pWindow->GetRenderWidth();
|
||||
pImage->m_nWidth = pWindow->GetRenderHeight();
|
||||
pImage->m_ePreferredLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
|
||||
pImage->CreateImageView();
|
||||
window.m_images[i] = pImage;
|
||||
|
||||
Reference in New Issue
Block a user