From 38f14373306606de6986b416cb48015f23026ccc Mon Sep 17 00:00:00 2001 From: mrq Date: Sun, 9 Oct 2022 22:47:00 -0500 Subject: [PATCH] Commit for 2022.10.09 22-47-36.7z --- Makefile | 5 +++-- bin/data/config.json | 21 ++++++++++--------- bin/data/scenes/sm64/sm64.json | 4 ++-- .../sourceengine/base_sourceengine.json | 2 +- .../scenes/sourceengine/sourceengine.json | 4 ++-- bin/data/shaders/common/macros.h | 2 +- bin/data/shaders/common/pbr.h | 6 ++++-- bin/data/shaders/display/deferred/comp/comp.h | 2 +- .../renderTarget/postProcess.frag.glsl | 2 +- bin/data/shaders/graph/base/frag.glsl | 15 +++++++------ engine/src/ext/ffx/fsr.cpp | 4 ++-- .../src/ext/vulkan/rendermodes/deferred.cpp | 2 +- engine/src/ext/vulkan/texture.cpp | 1 - engine/src/utils/image/image.cpp | 2 +- 14 files changed, 39 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index d9f21303..31b4393b 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,8 @@ EXT_LIB_NAME += ext #VULKAN_SDK_PATH += /c/VulkanSDK/1.2.198.1/ #VULKAN_SDK_PATH += /c/VulkanSDK/1.3.204.1/ #VULKAN_SDK_PATH += /c/VulkanSDK/1.3.211.0/ -VULKAN_SDK_PATH += /c/VulkanSDK/1.3.216.0/ +#VULKAN_SDK_PATH += /c/VulkanSDK/1.3.216.0/ +VULKAN_SDK_PATH += /c/VulkanSDK/1.3.224.1/ GLSLC += $(VULKAN_SDK_PATH)/Bin/glslc SPV_OPTIMIZER += $(VULKAN_SDK_PATH)/Bin/spirv-opt @@ -108,7 +109,7 @@ ifneq (,$(findstring ffx:fsr,$(REQ_DEPS))) ifneq (,$(findstring vulkan,$(REQ_DEPS))) FLAGS += -DUF_USE_FFX_FSR #INCS += -I./dep/include/ffx_fsr2/ - DEPS += -lffx_fsr2_api_x64 -lffx_fsr2_api_vk_x64 + DEPS += -lffx_fsr2_api_ -lffx_fsr2_api_vk_ endif endif ifneq (,$(findstring imgui,$(REQ_DEPS))) diff --git a/bin/data/config.json b/bin/data/config.json index fbcd0d69..ed026d09 100644 --- a/bin/data/config.json +++ b/bin/data/config.json @@ -29,18 +29,18 @@ } }, "vxgi": { - // "limiter": 0.5, + "limiter": 0.5, // "limiter": 0.125, // "limiter": 0.0125, - "limiter": 0.0, + // "limiter": 0.0, "size": 256, "dispatch": 8, - "cascades": 2, + "cascades": 1, "cascadePower": 2, "granularity": 6, "voxelizeScale": 1, "occlusionFalloff": 2, - "traceStartOffsetFactor": 1, + "traceStartOffsetFactor": 2, "shadows": 0, "extents": { "min": [ -8, -4, -8 ], @@ -113,14 +113,14 @@ }, "pipelines": { "deferred": true, - "vsync": true, + "vsync": false, "hdr": false, "vxgi": true, - "culling": true, - "bloom": true, - "rt": true, - "fsr": true, - "postProcess": true + "culling": false, + "bloom": false, + "rt": false, + "fsr": false, + "postProcess": false }, "formats": { "depth": "D32_SFLOAT", @@ -182,6 +182,7 @@ "VK_KHR_shader_clock", "VK_KHR_ray_query", "VK_EXT_subgroup_size_control", + "VK_KHR_fragment_shader_barycentric", "VK_AMD_shader_explicit_vertex_parameter" // "VK_KHR_fragment_shader_barycentric" ] } diff --git a/bin/data/scenes/sm64/sm64.json b/bin/data/scenes/sm64/sm64.json index 7a14049f..c22151dd 100644 --- a/bin/data/scenes/sm64/sm64.json +++ b/bin/data/scenes/sm64/sm64.json @@ -1,8 +1,8 @@ { "import": "/model.json", "assets": [ - { "filename": "./models/sm64_bbb.glb" } - // { "filename": "./models/sm64_bbb/graph.json" } + // { "filename": "./models/sm64_bbb.glb" } + { "filename": "./models/sm64_bbb/graph.json" } ], "metadata": { "graph": { diff --git a/bin/data/scenes/sourceengine/base_sourceengine.json b/bin/data/scenes/sourceengine/base_sourceengine.json index bceb11c3..9b3f7ea6 100644 --- a/bin/data/scenes/sourceengine/base_sourceengine.json +++ b/bin/data/scenes/sourceengine/base_sourceengine.json @@ -3,7 +3,7 @@ "metadata": { "graph": { // "renderer": { "separate": true }, - "baking": { "enabled": true }, + "baking": { "enabled": false }, "tags": { // exact matches "worldspawn": { diff --git a/bin/data/scenes/sourceengine/sourceengine.json b/bin/data/scenes/sourceengine/sourceengine.json index beb54dda..2f1ce5e4 100644 --- a/bin/data/scenes/sourceengine/sourceengine.json +++ b/bin/data/scenes/sourceengine/sourceengine.json @@ -1,6 +1,6 @@ { // "import": "./rp_downtown_v2.json" - "import": "./ss2_medsci1.json" -// "import": "./sh2_mcdonalds.json" +// "import": "./ss2_medsci1.json" + "import": "./sh2_mcdonalds.json" // "import": "./gm_construct.json" } \ No newline at end of file diff --git a/bin/data/shaders/common/macros.h b/bin/data/shaders/common/macros.h index a64aa890..909ca56b 100644 --- a/bin/data/shaders/common/macros.h +++ b/bin/data/shaders/common/macros.h @@ -75,7 +75,7 @@ // easy and accessible in one place #ifndef BARYCENTRIC - #define BARYCENTRIC 1 + #define BARYCENTRIC 0 #endif #if BARYCENTRIC #ifndef BARYCENTRIC_CALCULATE diff --git a/bin/data/shaders/common/pbr.h b/bin/data/shaders/common/pbr.h index e0593a51..7e22f3c8 100644 --- a/bin/data/shaders/common/pbr.h +++ b/bin/data/shaders/common/pbr.h @@ -8,6 +8,8 @@ void pbr() { const vec3 Lo = normalize( -surface.position.eye ); // angle of outcoming light const float cosLo = max(0.0, dot(surface.normal.eye, Lo)); + + const float Rs = 4.0; for ( uint i = 0, shadows = 0; i < MAX_LIGHTS; ++i ) { #if BAKING @@ -50,9 +52,9 @@ void pbr() { // Fresnel term for direct lighting const vec3 F = fresnelSchlick(F0, max(0.0, dot(Lh, Lo))); // Distribution for specular lighting - const float D = ndfGGX( cosLh, surface.material.roughness ); + const float D = ndfGGX( cosLh, surface.material.roughness * Rs); // Geometric attenuation for specular lighting - const float G = gaSchlickGGX(cosLi, cosLo, surface.material.roughness); + const float G = gaSchlickGGX(cosLi, cosLo, surface.material.roughness * Rs); // final lighting const vec3 diffuse = mix(vec3(1.0) - F, vec3(0), surface.material.metallic) * surface.material.albedo.rgb; diff --git a/bin/data/shaders/display/deferred/comp/comp.h b/bin/data/shaders/display/deferred/comp/comp.h index 8b32b217..c9ab5189 100644 --- a/bin/data/shaders/display/deferred/comp/comp.h +++ b/bin/data/shaders/display/deferred/comp/comp.h @@ -160,7 +160,7 @@ void populateSurface() { const vec3 far3 = far4.xyz / far4.w; surface.ray.direction = normalize( far3 - near3 ); - surface.ray.origin = near3.xyz; // ubo.eyes[surface.pass].eyePos.xyz; + surface.ray.origin = /*near3.xyz;*/ ubo.eyes[surface.pass].eyePos.xyz; const float depth = IMAGE_LOAD(samplerDepth).r; diff --git a/bin/data/shaders/display/renderTarget/postProcess.frag.glsl b/bin/data/shaders/display/renderTarget/postProcess.frag.glsl index 46f7f8d9..5e1ae123 100644 --- a/bin/data/shaders/display/renderTarget/postProcess.frag.glsl +++ b/bin/data/shaders/display/renderTarget/postProcess.frag.glsl @@ -46,7 +46,7 @@ const float u_bot = 1; void main() { const vec2 screenResolution = textureSize( samplerColor, 0 ); - const float u_lines = screenResolution.y * 0.5; + const float u_lines = screenResolution.y * 0.75; vec2 uv_orig = (inUv.xy * 2.0 - 1.0); vec2 uv_mod = uv_orig * pow(1.0-abs(uv_orig),vec2(u_round)) * (u_zoom + u_corner * pow( abs(uv_orig.yx), vec2(u_shape)) ); diff --git a/bin/data/shaders/graph/base/frag.glsl b/bin/data/shaders/graph/base/frag.glsl index 611c5fcf..22289e3b 100644 --- a/bin/data/shaders/graph/base/frag.glsl +++ b/bin/data/shaders/graph/base/frag.glsl @@ -16,7 +16,9 @@ layout (constant_id = 0) const uint TEXTURES = 1; #if BARYCENTRIC && !BARYCENTRIC_CALCULATE #define BARYCENTRIC_STABILIZE 1 - #extension GL_EXT_fragment_shader_barycentric : enable +// #define BARY_COORD gl_BaryCoordEXT +// #extension GL_EXT_fragment_shader_barycentric : enable + #define BARY_COORD gl_BaryCoordSmoothAMD #extension GL_AMD_shader_explicit_vertex_parameter : enable #endif @@ -108,16 +110,17 @@ void main() { outId = uvec2(triangleID + 1, instanceID + 1); #if BARYCENTRIC && !BARYCENTRIC_CALCULATE + vec3 bary = vec3(gl_BaryCoordSmoothAMD.xy, 1 - gl_BaryCoordSmoothAMD.x - gl_BaryCoordSmoothAMD.y); + bary = bary.yzx; #if BARYCENTRIC_STABILIZE vec4 v0 = interpolateAtVertexAMD(inPOS1, 0); vec4 v1 = interpolateAtVertexAMD(inPOS1, 1); vec4 v2 = interpolateAtVertexAMD(inPOS1, 2); - - if (v0 == inPOS0) outBary = encodeBarycentrics(gl_BaryCoordEXT.yzx); - else if (v1 == inPOS0) outBary = encodeBarycentrics(gl_BaryCoordEXT.zxy); - else if (v2 == inPOS0) outBary = encodeBarycentrics(gl_BaryCoordEXT.xyz); + if (v0 == inPOS0) outBary = encodeBarycentrics(bary.yzx); + else if (v1 == inPOS0) outBary = encodeBarycentrics(bary.zxy); + else if (v2 == inPOS0) outBary = encodeBarycentrics(bary.xyz); #else - outBary = encodeBarycentrics(gl_BaryCoordEXT.xyz); + outBary = encodeBarycentrics(bary.xyz); #endif #endif } \ No newline at end of file diff --git a/engine/src/ext/ffx/fsr.cpp b/engine/src/ext/ffx/fsr.cpp index 6676f453..16ab3f8d 100644 --- a/engine/src/ext/ffx/fsr.cpp +++ b/engine/src/ext/ffx/fsr.cpp @@ -173,10 +173,10 @@ namespace { dispatchParameters.jitterOffset.x = ext::fsr::jitter.x; // m_JitterX; dispatchParameters.jitterOffset.y = ext::fsr::jitter.y; // m_JitterY; - dispatchParameters.reset = uf::renderer::states::frameAccumulateReset; // pState->bReset; + dispatchParameters.reset = false; // uf::renderer::states::frameAccumulateReset; // pState->bReset; dispatchParameters.enableSharpening = ext::fsr::sharpness > 0.0f; // pState->bUseRcas; dispatchParameters.sharpness = ext::fsr::sharpness; //1.0f; // pState->sharpening; - dispatchParameters.frameTimeDelta = uf::time::delta; + dispatchParameters.frameTimeDelta = uf::time::delta * 1000; dispatchParameters.preExposure = 1.0f; dispatchParameters.cameraFar = FLT_MAX; // pState->camera.GetFarPlane(); dispatchParameters.cameraNear = 0.01f; // pState->camera.GetNearPlane(); diff --git a/engine/src/ext/vulkan/rendermodes/deferred.cpp b/engine/src/ext/vulkan/rendermodes/deferred.cpp index 4107c871..50b080bf 100644 --- a/engine/src/ext/vulkan/rendermodes/deferred.cpp +++ b/engine/src/ext/vulkan/rendermodes/deferred.cpp @@ -14,7 +14,7 @@ #include #include -#define BARYCENTRIC 1 +#define BARYCENTRIC 0 #if BARYCENTRIC #ifndef BARYCENTRIC_CALCULATE #define BARYCENTRIC_CALCULATE 0 diff --git a/engine/src/ext/vulkan/texture.cpp b/engine/src/ext/vulkan/texture.cpp index 8df95718..98c2c557 100644 --- a/engine/src/ext/vulkan/texture.cpp +++ b/engine/src/ext/vulkan/texture.cpp @@ -399,7 +399,6 @@ void ext::vulkan::Texture::loadFromImage( break; } */ - switch ( image.getChannels() ) { // R case 1: diff --git a/engine/src/utils/image/image.cpp b/engine/src/utils/image/image.cpp index 31b1f66f..797d7d62 100644 --- a/engine/src/utils/image/image.cpp +++ b/engine/src/utils/image/image.cpp @@ -153,7 +153,7 @@ bool uf::Image::open( const uf::stl::string& filename, bool flip ) { #endif { stbi_set_flip_vertically_on_load(flip); - uint8_t* buffer = stbi_load( filename.c_str(), &width, &height, &channels, STBI_rgb_alpha ); + uint8_t* buffer = stbi_load( filename.c_str(), &width, &height, &channelsDud, STBI_rgb_alpha ); size_t len = width * height * channels; this->m_pixels.resize( len ); memcpy( &this->m_pixels[0], buffer, len );