mouse controls, fixed texture loading
This commit is contained in:
@@ -142,6 +142,7 @@ void CVkMaterial::SetShaderResource( uint32_t uRegister, uint32_t uSet, IRenderi
|
||||
writes[1].descriptorCount = 128;
|
||||
writes[1].pImageInfo = stWrites;
|
||||
vkUpdateDescriptorSets(m_pVkShader->m_hDevice, 2, writes, 0, 0);
|
||||
m_pTextureArray = pArray;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -109,6 +109,10 @@ void CVkRenderCommandList::SetMaterial( IMaterial *pMaterial )
|
||||
|
||||
CVkSetShaderDataCommand *pSetShaderData = CREATE_COMMAND(m_pCommandBufferManager, SetShaderData);
|
||||
pSetShaderData->pShaderData = pMaterial;
|
||||
{
|
||||
CVkTextureArray *pArray = (CVkTextureArray*)((CVkMaterial*)pMaterial)->m_pTextureArray;
|
||||
|
||||
}
|
||||
m_pCurrentMaterialBuffer->AddCommand(pSetShaderData);
|
||||
|
||||
CVkSetScissorsCommand *pScissorsCommand = CREATE_COMMAND(m_pCommandBufferManager, SetScissors);
|
||||
|
||||
@@ -397,11 +397,11 @@ uint32_t CVkTextureArray::CreateTexture( uint32_t i, const char *szPath )
|
||||
IBuffer *pBuffer = m_pRenderContext->CreateStorageBuffer(uWidth*uHeight*4);
|
||||
pBuffer->Lock();
|
||||
void *pData = pBuffer->Map();
|
||||
V_memcpy(pData, pImg, uWidth*uHeight*uChannels);
|
||||
V_memcpy(pData, pImg, uWidth*uHeight*4);
|
||||
pBuffer->Unmap();
|
||||
pBuffer->Unlock();
|
||||
vkDeviceWaitIdle(s_vkDevice);
|
||||
IImage *pImage = m_pRenderContext->CreateTexture(uWidth, uHeight, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_NONE);
|
||||
IImage *pCompressedImage = m_pRenderContext->CreateTexture(uWidth, uHeight, IMAGE_FORMAT_BC1, MULTISAMPLE_TYPE_NONE);
|
||||
m_pImages[i] = (CVkImage*)pImage;
|
||||
stbi_image_free(pImg);
|
||||
|
||||
|
||||
@@ -338,6 +338,7 @@ private:
|
||||
};
|
||||
CUtlVector<ShaderBinding_t> m_callableShaders = {};
|
||||
};
|
||||
#define MAX_TEXTURES 4096
|
||||
|
||||
class CVkTextureArray: public ITextureArray
|
||||
{
|
||||
@@ -357,7 +358,7 @@ public:
|
||||
IRenderContext *m_pRenderContext;
|
||||
IVkCommandBufferManager *m_pCommandBufferManager;
|
||||
VkSampler m_hSampler;
|
||||
CVkImage *m_pImages[128];
|
||||
CVkImage *m_pImages[MAX_TEXTURES];
|
||||
};
|
||||
|
||||
class CVkMaterial: public IMaterial
|
||||
@@ -377,6 +378,7 @@ public:
|
||||
|
||||
CVkShader *m_pVkShader;
|
||||
CUtlVector<VkDescriptorSet> m_hSets;
|
||||
ITextureArray *m_pTextureArray;
|
||||
private:
|
||||
VkDescriptorPool m_hPool;
|
||||
CUtlVector<VkWriteDescriptorSet> m_writes = {};
|
||||
|
||||
Reference in New Issue
Block a user