Commit for 2022.10.09 22-47-36.7z

This commit is contained in:
mrq 2022-10-09 22:47:00 -05:00
parent f556532dd4
commit 38f1437330
14 changed files with 39 additions and 33 deletions

View File

@ -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)))

View File

@ -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"
]
}

View File

@ -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": {

View File

@ -3,7 +3,7 @@
"metadata": {
"graph": {
// "renderer": { "separate": true },
"baking": { "enabled": true },
"baking": { "enabled": false },
"tags": {
// exact matches
"worldspawn": {

View File

@ -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"
}

View File

@ -75,7 +75,7 @@
// easy and accessible in one place
#ifndef BARYCENTRIC
#define BARYCENTRIC 1
#define BARYCENTRIC 0
#endif
#if BARYCENTRIC
#ifndef BARYCENTRIC_CALCULATE

View File

@ -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;

View File

@ -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;

View File

@ -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)) );

View File

@ -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
}

View File

@ -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();

View File

@ -14,7 +14,7 @@
#include <uf/ext/vulkan/graphic.h>
#include <uf/engine/graph/graph.h>
#define BARYCENTRIC 1
#define BARYCENTRIC 0
#if BARYCENTRIC
#ifndef BARYCENTRIC_CALCULATE
#define BARYCENTRIC_CALCULATE 0

View File

@ -399,7 +399,6 @@ void ext::vulkan::Texture::loadFromImage(
break;
}
*/
switch ( image.getChannels() ) {
// R
case 1:

View File

@ -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 );