From a6ff64106e906559e7584e3989dbbbeef848c772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Fri, 22 Jan 2021 23:23:28 +0100 Subject: [PATCH] Minor stuff --- examples/GraphicsTest/main.cpp | 4 ++-- examples/bin/test.spirv | Bin 1360 -> 0 bytes include/Nazara/Graphics/Material.hpp | 2 +- include/Nazara/OpenGLRenderer/Utils.inl | 5 ++++- .../Nazara/OpenGLRenderer/Wrapper/Texture.inl | 1 - include/Nazara/Renderer/Texture.hpp | 2 +- include/Nazara/Utility/Enums.hpp | 2 ++ src/Nazara/OpenGLRenderer/OpenGLShaderStage.cpp | 3 --- src/Nazara/OpenGLRenderer/OpenGLVaoCache.cpp | 2 +- src/Nazara/VulkanRenderer/VulkanTexture.cpp | 15 +++++++++++++++ 10 files changed, 26 insertions(+), 10 deletions(-) delete mode 100644 examples/bin/test.spirv diff --git a/examples/GraphicsTest/main.cpp b/examples/GraphicsTest/main.cpp index 3d2d6e202..6575a1724 100644 --- a/examples/GraphicsTest/main.cpp +++ b/examples/GraphicsTest/main.cpp @@ -105,10 +105,10 @@ int main() material.EnableDepthBuffer(true); Nz::BasicMaterial basicMat(material); - basicMat.EnableAlphaTest(true); + basicMat.EnableAlphaTest(false); basicMat.SetAlphaMap(alphaTexture); basicMat.SetAlphaSampler(textureSampler); - basicMat.SetDiffuseMap(alphaTexture); + basicMat.SetDiffuseMap(texture); basicMat.SetDiffuseSampler(textureSampler); Nz::PredefinedInstanceData instanceUboOffsets = Nz::PredefinedInstanceData::GetOffsets(); diff --git a/examples/bin/test.spirv b/examples/bin/test.spirv deleted file mode 100644 index b8858477532b82cee40f28bcdb11a8b7aa1776b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1360 zcmZ9LNpBND5QRH-#)K^)ge+{qj@ffZNQg}w$O+|uxFU!6Fv#(siA{3MUw~iB1&QzL zOrcR)DtEtE^{T3C+TG6ZQc4TSwVQuaT1}nIET?W}^sc0<`Fxk(qft2(+``te4QvzJ z!fslQ4%K{i z9+5V4<_`Y(L6tsI&sm&LC}nK@ZOo^Ir%SKk`D^~@pevm2{^7rfA5w*T08W5RE3*P diff --git a/include/Nazara/Graphics/Material.hpp b/include/Nazara/Graphics/Material.hpp index 93493ce14..3a7223a62 100644 --- a/include/Nazara/Graphics/Material.hpp +++ b/include/Nazara/Graphics/Material.hpp @@ -115,7 +115,7 @@ namespace Nz std::vector m_textures; std::vector m_uniformBuffers; mutable std::shared_ptr m_pipeline; - UInt32 m_enabledConditions; + UInt64 m_enabledConditions; mutable MaterialPipelineInfo m_pipelineInfo; mutable bool m_pipelineUpdated; bool m_shadowCastingEnabled; diff --git a/include/Nazara/OpenGLRenderer/Utils.inl b/include/Nazara/OpenGLRenderer/Utils.inl index bd44b5e13..fcae4116a 100644 --- a/include/Nazara/OpenGLRenderer/Utils.inl +++ b/include/Nazara/OpenGLRenderer/Utils.inl @@ -12,10 +12,13 @@ namespace Nz { inline std::optional DescribeTextureFormat(PixelFormat pixelFormat) { + // TODO: Fill this switch switch (pixelFormat) { case PixelFormat_A8: return GLTextureFormat { GL_R8, GL_RED, GL_UNSIGNED_BYTE, GL_ZERO, GL_ZERO, GL_ZERO, GL_RED }; - case PixelFormat_RGB8: return GLTextureFormat { GL_SRGB8, GL_RGB, GL_UNSIGNED_BYTE, GL_RED, GL_GREEN, GL_BLUE, GL_ZERO }; + case PixelFormat_BGR8: return GLTextureFormat { GL_SRGB8, GL_RGB, GL_UNSIGNED_BYTE, GL_BLUE, GL_GREEN, GL_RED, GL_ONE }; + case PixelFormat_BGRA8: return GLTextureFormat { GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, GL_BLUE, GL_GREEN, GL_RED, GL_ALPHA }; + case PixelFormat_RGB8: return GLTextureFormat { GL_SRGB8, GL_RGB, GL_UNSIGNED_BYTE, GL_RED, GL_GREEN, GL_BLUE, GL_ONE }; case PixelFormat_RGBA8: return GLTextureFormat { GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA }; default: break; } diff --git a/include/Nazara/OpenGLRenderer/Wrapper/Texture.inl b/include/Nazara/OpenGLRenderer/Wrapper/Texture.inl index 62de24b8d..a345ac6f4 100644 --- a/include/Nazara/OpenGLRenderer/Wrapper/Texture.inl +++ b/include/Nazara/OpenGLRenderer/Wrapper/Texture.inl @@ -56,7 +56,6 @@ namespace Nz::GL const Context& context = EnsureDeviceContext(); context.BindTexture(m_target, m_objectId); context.glTexImage2D(ToOpenGL(m_target), level, internalFormat, width, height, border, format, type, data); - //< TODO: Handle errors } inline void Texture::TexSubImage2D(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* data) diff --git a/include/Nazara/Renderer/Texture.hpp b/include/Nazara/Renderer/Texture.hpp index 4fa0ebc75..8f185fe21 100644 --- a/include/Nazara/Renderer/Texture.hpp +++ b/include/Nazara/Renderer/Texture.hpp @@ -19,9 +19,9 @@ namespace Nz { PixelFormat pixelFormat; ImageType type; + UInt8 mipmapLevel = 1; unsigned int depth = 1; unsigned int height; - unsigned int mipmapLevel = 1; unsigned int width; }; diff --git a/include/Nazara/Utility/Enums.hpp b/include/Nazara/Utility/Enums.hpp index f68fb3ea6..6f556da16 100644 --- a/include/Nazara/Utility/Enums.hpp +++ b/include/Nazara/Utility/Enums.hpp @@ -146,6 +146,8 @@ namespace Nz ImageType_Max = ImageType_Cubemap }; + constexpr std::size_t ImageTypeCount = static_cast(ImageType_Max) + 1; + enum NodeType { NodeType_Default, // Node diff --git a/src/Nazara/OpenGLRenderer/OpenGLShaderStage.cpp b/src/Nazara/OpenGLRenderer/OpenGLShaderStage.cpp index dd7a69e5b..0f24f524f 100644 --- a/src/Nazara/OpenGLRenderer/OpenGLShaderStage.cpp +++ b/src/Nazara/OpenGLRenderer/OpenGLShaderStage.cpp @@ -3,7 +3,6 @@ // For conditions of distribution and use, see copyright notice in Config.hpp #include -#include #include #include #include @@ -89,8 +88,6 @@ namespace Nz std::string code = writer.Generate(shaderAst, states); - NazaraError(code); - m_shader.SetSource(code.data(), code.size()); m_shader.Compile(); } diff --git a/src/Nazara/OpenGLRenderer/OpenGLVaoCache.cpp b/src/Nazara/OpenGLRenderer/OpenGLVaoCache.cpp index 62f3f0166..172872e69 100644 --- a/src/Nazara/OpenGLRenderer/OpenGLVaoCache.cpp +++ b/src/Nazara/OpenGLRenderer/OpenGLVaoCache.cpp @@ -30,7 +30,7 @@ namespace Nz::GL if (setup.indexBuffer != 0) m_context.BindBuffer(BufferTarget::ElementArray, setup.indexBuffer, true); - std::size_t bindingIndex = 0; + GLuint bindingIndex = 0; for (const auto& attribOpt : setup.vertexAttribs) { if (attribOpt) diff --git a/src/Nazara/VulkanRenderer/VulkanTexture.cpp b/src/Nazara/VulkanRenderer/VulkanTexture.cpp index 20900d81f..5574bb755 100644 --- a/src/Nazara/VulkanRenderer/VulkanTexture.cpp +++ b/src/Nazara/VulkanRenderer/VulkanTexture.cpp @@ -227,8 +227,23 @@ namespace Nz VK_COMPONENT_SWIZZLE_A }; + // TODO: Fill this switch switch (pixelFormat) { + case PixelFormat_BGR8: + { + createImage.format = VK_FORMAT_B8G8R8_SRGB; + createImageView.format = createImage.format; + break; + } + + case PixelFormat_BGRA8: + { + createImage.format = VK_FORMAT_B8G8R8A8_SRGB; + createImageView.format = createImage.format; + break; + } + case PixelFormat_L8: { createImage.format = VK_FORMAT_R8_SRGB;