Tweak layer depth distribution (#3738)
This commit is contained in:
@@ -130,7 +130,7 @@ public:
|
||||
#if MLN_RENDER_BACKEND_OPENGL
|
||||
static constexpr float depthEpsilon = 1.0f / (1 << 16);
|
||||
#else
|
||||
static constexpr float depthEpsilon = 1.0f / (1 << 12);
|
||||
static constexpr float depthEpsilon = 1.0f / (1 << 11);
|
||||
#endif
|
||||
static constexpr int maxStencilValue = 255;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ ShaderProgram::ShaderProgram(shaders::BuiltIn shaderID,
|
||||
defineStr += "#define USE_SURFACE_TRANSFORM";
|
||||
}
|
||||
|
||||
observer.onPreCompileShader(shaderID, gfx::Backend::Type::Metal, defineStr);
|
||||
observer.onPreCompileShader(shaderID, gfx::Backend::Type::Vulkan, defineStr);
|
||||
|
||||
constexpr auto targetClientVersion = glslang::EShTargetVulkan_1_0;
|
||||
constexpr auto targetLanguageVersion = glslang::EShTargetSpv_1_0;
|
||||
@@ -61,8 +61,9 @@ ShaderProgram::ShaderProgram(shaders::BuiltIn shaderID,
|
||||
glslang::TShader glslShader(language);
|
||||
|
||||
const auto preamble = defineStr + "\n" + prelude;
|
||||
const char* shaderData = data.data();
|
||||
const int shaderDataSize = static_cast<int>(data.size());
|
||||
const std::string shaderStr = std::string("#version ") + std::to_string(defaultVersion) + "\n" + data.data();
|
||||
const char* shaderData = shaderStr.data();
|
||||
const int shaderDataSize = static_cast<int>(shaderStr.size());
|
||||
|
||||
glslShader.setPreamble(preamble.c_str());
|
||||
glslShader.setStringsWithLengths(&shaderData, &shaderDataSize, 1);
|
||||
@@ -115,7 +116,7 @@ ShaderProgram::ShaderProgram(shaders::BuiltIn shaderID,
|
||||
backend.setDebugName(vertexShader.get(), shaderName + ".vert");
|
||||
backend.setDebugName(fragmentShader.get(), shaderName + ".frag");
|
||||
|
||||
observer.onPostCompileShader(shaderID, gfx::Backend::Type::Metal, defineStr);
|
||||
observer.onPostCompileShader(shaderID, gfx::Backend::Type::Vulkan, defineStr);
|
||||
}
|
||||
|
||||
ShaderProgram::~ShaderProgram() noexcept {
|
||||
|
||||
Reference in New Issue
Block a user