From 2c6f723317171b8c054af4ae44d7b91252ae0e0a Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 18 May 2023 12:19:48 -0700 Subject: [PATCH] extract depth/view reconstruction from ssao these utilities can be used by other materials --- filament/CMakeLists.txt | 8 ++++---- filament/src/materials/ssao/sao.mat | 2 +- filament/src/materials/ssao/saoBentNormals.mat | 2 +- filament/src/materials/ssao/saoImpl.fs | 2 +- filament/src/materials/ssao/ssaoUtils.fs | 2 +- filament/src/materials/{ssao => utils}/depthUtils.fs | 0 filament/src/materials/{ssao => utils}/geometry.fs | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) rename filament/src/materials/{ssao => utils}/depthUtils.fs (100%) rename filament/src/materials/{ssao => utils}/geometry.fs (96%) diff --git a/filament/CMakeLists.txt b/filament/CMakeLists.txt index 1ec4c94bbf0..ea2543eadc5 100644 --- a/filament/CMakeLists.txt +++ b/filament/CMakeLists.txt @@ -394,8 +394,8 @@ add_custom_command( OUTPUT "${MATERIAL_DIR}/sao.filamat" DEPENDS src/materials/ssao/ssaoUtils.fs DEPENDS src/materials/ssao/ssct.fs - DEPENDS src/materials/ssao/depthUtils.fs - DEPENDS src/materials/ssao/geometry.fs + DEPENDS src/materials/utils/depthUtils.fs + DEPENDS src/materials/utils/geometry.fs DEPENDS src/materials/ssao/saoImpl.fs DEPENDS src/materials/ssao/ssctImpl.fs APPEND @@ -405,8 +405,8 @@ add_custom_command( OUTPUT "${MATERIAL_DIR}/saoBentNormals.filamat" DEPENDS src/materials/ssao/ssaoUtils.fs DEPENDS src/materials/ssao/ssct.fs - DEPENDS src/materials/ssao/depthUtils.fs - DEPENDS src/materials/ssao/geometry.fs + DEPENDS src/materials/utils/depthUtils.fs + DEPENDS src/materials/utils/geometry.fs DEPENDS src/materials/ssao/saoImpl.fs DEPENDS src/materials/ssao/ssctImpl.fs APPEND diff --git a/filament/src/materials/ssao/sao.mat b/filament/src/materials/ssao/sao.mat index b5564f2964c..a07da1b6602 100644 --- a/filament/src/materials/ssao/sao.mat +++ b/filament/src/materials/ssao/sao.mat @@ -131,7 +131,7 @@ fragment { #include "saoImpl.fs" #include "ssctImpl.fs" - #include "geometry.fs" + #include "../utils/geometry.fs" #include "ssaoUtils.fs" void dummy(){} diff --git a/filament/src/materials/ssao/saoBentNormals.mat b/filament/src/materials/ssao/saoBentNormals.mat index ee04929ab3b..14a6c005689 100644 --- a/filament/src/materials/ssao/saoBentNormals.mat +++ b/filament/src/materials/ssao/saoBentNormals.mat @@ -143,7 +143,7 @@ fragment { #include "saoImpl.fs" #include "ssctImpl.fs" - #include "geometry.fs" + #include "../utils/geometry.fs" #include "ssaoUtils.fs" void dummy(){} diff --git a/filament/src/materials/ssao/saoImpl.fs b/filament/src/materials/ssao/saoImpl.fs index 88c2c58d8f4..57f96141e1f 100644 --- a/filament/src/materials/ssao/saoImpl.fs +++ b/filament/src/materials/ssao/saoImpl.fs @@ -22,7 +22,7 @@ */ #include "ssaoUtils.fs" -#include "geometry.fs" +#include "../utils/geometry.fs" #ifndef COMPUTE_BENT_NORMAL #error COMPUTE_BENT_NORMAL must be set diff --git a/filament/src/materials/ssao/ssaoUtils.fs b/filament/src/materials/ssao/ssaoUtils.fs index f4ec5526f9e..43d3696f14d 100644 --- a/filament/src/materials/ssao/ssaoUtils.fs +++ b/filament/src/materials/ssao/ssaoUtils.fs @@ -17,7 +17,7 @@ #ifndef FILAMENT_MATERIALS_SSAO_UTILS #define FILAMENT_MATERIALS_SSAO_UTILS -#include "depthUtils.fs" +#include "../utils/depthUtils.fs" vec2 pack(highp float normalizedDepth) { // we need 16-bits of precision diff --git a/filament/src/materials/ssao/depthUtils.fs b/filament/src/materials/utils/depthUtils.fs similarity index 100% rename from filament/src/materials/ssao/depthUtils.fs rename to filament/src/materials/utils/depthUtils.fs diff --git a/filament/src/materials/ssao/geometry.fs b/filament/src/materials/utils/geometry.fs similarity index 96% rename from filament/src/materials/ssao/geometry.fs rename to filament/src/materials/utils/geometry.fs index 0984e049bc0..a1a5062100f 100644 --- a/filament/src/materials/ssao/geometry.fs +++ b/filament/src/materials/utils/geometry.fs @@ -130,10 +130,10 @@ highp vec3 computeViewSpaceNormal( highp vec2 texel, highp vec2 positionParams) { // todo: maybe make this a quality parameter #if FILAMENT_QUALITY == FILAMENT_QUALITY_HIGH - vec3 normal = computeViewSpaceNormalHighQ(materialParams_depth, uv, depth, position, + vec3 normal = computeViewSpaceNormalHighQ(depthTexture, uv, depth, position, texel, positionParams); #else - vec3 normal = computeViewSpaceNormalMediumQ(materialParams_depth, uv, position, + vec3 normal = computeViewSpaceNormalMediumQ(depthTexture, uv, position, texel, positionParams); #endif return normal;