Commit for 2022.10.09 22-47-36.7z
This commit is contained in:
parent
f556532dd4
commit
38f1437330
5
Makefile
5
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)))
|
||||
|
||||
@ -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"
|
||||
]
|
||||
}
|
||||
|
||||
@ -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": {
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"metadata": {
|
||||
"graph": {
|
||||
// "renderer": { "separate": true },
|
||||
"baking": { "enabled": true },
|
||||
"baking": { "enabled": false },
|
||||
"tags": {
|
||||
// exact matches
|
||||
"worldspawn": {
|
||||
|
||||
@ -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"
|
||||
}
|
||||
@ -75,7 +75,7 @@
|
||||
|
||||
// easy and accessible in one place
|
||||
#ifndef BARYCENTRIC
|
||||
#define BARYCENTRIC 1
|
||||
#define BARYCENTRIC 0
|
||||
#endif
|
||||
#if BARYCENTRIC
|
||||
#ifndef BARYCENTRIC_CALCULATE
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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)) );
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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();
|
||||
|
||||
@ -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
|
||||
|
||||
@ -399,7 +399,6 @@ void ext::vulkan::Texture::loadFromImage(
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
switch ( image.getChannels() ) {
|
||||
// R
|
||||
case 1:
|
||||
|
||||
@ -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 );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user