diff --git a/res/shaders/MeshletBasePass.slang b/res/shaders/MeshletBasePass.slang index 87bfe89..8480b8b 100644 --- a/res/shaders/MeshletBasePass.slang +++ b/res/shaders/MeshletBasePass.slang @@ -52,7 +52,7 @@ void taskMain( uint index; InterlockedAdd(head, 1, index); p.meshletId[index] = m; - p.instanceId[index] = groupID + pScene.primitiveIndices[m]; + p.instanceId[index] = groupID; } } } @@ -97,7 +97,7 @@ void meshMain( uint vertexIndex = pScene.vertexIndices[m.vertexOffset + v]; VertexAttributes attr = pVertexData.getAttributes(md.indicesOffset + vertexIndex); vertices[v] = attr.getParameter(inst.transformMatrix); - vertices[v].vertexColor = m.color; + //vertices[v].vertexColor = m.color; } } } \ No newline at end of file diff --git a/src/Engine/Graphics/Vulkan/Graphics.cpp b/src/Engine/Graphics/Vulkan/Graphics.cpp index b9a0809..41f2830 100644 --- a/src/Engine/Graphics/Vulkan/Graphics.cpp +++ b/src/Engine/Graphics/Vulkan/Graphics.cpp @@ -489,7 +489,7 @@ void Graphics::pickPhysicalDevice() { if (std::strcmp(VK_EXT_MESH_SHADER_EXTENSION_NAME, extensionProps[i].extensionName) == 0) { - //meshShadingEnabled = true; + meshShadingEnabled = true; break; } } diff --git a/src/Engine/Graphics/slang-compile.cpp b/src/Engine/Graphics/slang-compile.cpp index 5401a33..c399dbc 100644 --- a/src/Engine/Graphics/slang-compile.cpp +++ b/src/Engine/Graphics/slang-compile.cpp @@ -16,8 +16,8 @@ Slang::ComPtr Seele::generateShader(const ShaderCreateInfo& create } slang::SessionDesc sessionDesc; sessionDesc.flags = 0; - StaticArray option; - option[0].name = slang::CompilerOptionName::DumpIntermediates; + StaticArray option; + option[0].name = slang::CompilerOptionName::IgnoreCapabilities; option[0].value = slang::CompilerOptionValue(); option[0].value.kind = slang::CompilerOptionValueKind::Int; option[0].value.intValue0 = 1; @@ -25,6 +25,10 @@ Slang::ComPtr Seele::generateShader(const ShaderCreateInfo& create option[1].value = slang::CompilerOptionValue(); option[1].value.kind = slang::CompilerOptionValueKind::Int; option[1].value.intValue0 = 1; + option[2].name = slang::CompilerOptionName::DumpIntermediates; + option[2].value = slang::CompilerOptionValue(); + option[2].value.kind = slang::CompilerOptionValueKind::Int; + option[2].value.intValue0 = 1; sessionDesc.compilerOptionEntries = option.data(); sessionDesc.compilerOptionEntryCount = option.size(); sessionDesc.defaultMatrixLayoutMode = SLANG_MATRIX_LAYOUT_COLUMN_MAJOR;