Fix gamma rendering issues

- Remove gamma correction from the Vulkan renderer
- Add SamplerCreator, used to specify Min/Mag filter
- Add character texture to example project
- Add AnimationSystem, DebugSystem and UiRenderSystem to example project
This commit is contained in:
Thraix
2023-06-19 12:37:11 +02:00
parent 76bda0ace4
commit 042d1b6c70
42 changed files with 510 additions and 123 deletions
+5 -5
View File
@@ -4,9 +4,9 @@
namespace Copium
{
Sampler::Sampler()
Sampler::Sampler(const SamplerCreator& samplerCreator)
{
InitializeSampler();
InitializeSampler(samplerCreator);
}
Sampler::~Sampler()
@@ -14,15 +14,15 @@ namespace Copium
vkDestroySampler(Vulkan::GetDevice(), sampler, nullptr);
}
void Sampler::InitializeSampler()
void Sampler::InitializeSampler(const SamplerCreator& samplerCreator)
{
VkPhysicalDeviceProperties properties{};
vkGetPhysicalDeviceProperties(Vulkan::GetDevice().GetPhysicalDevice(), &properties);
VkSamplerCreateInfo createInfo{};
createInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
createInfo.magFilter = VK_FILTER_LINEAR; // TODO: Some way to control this
createInfo.minFilter = VK_FILTER_LINEAR; // TODO: Some way to control this
createInfo.magFilter = samplerCreator.magFilter;
createInfo.minFilter = samplerCreator.minFilter;
createInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
createInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
createInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;