From f972392544efdf37a1a43a26a54ef7514b8d4d19 Mon Sep 17 00:00:00 2001 From: Evan Hemsley Date: Sun, 16 Aug 2020 11:48:51 -0700 Subject: [PATCH] renormalize world normal in pixel shader --- Effects/FXB/PBREffect.fxb | Bin 58048 -> 58384 bytes Effects/HLSL/PBREffect.fx | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Effects/FXB/PBREffect.fxb b/Effects/FXB/PBREffect.fxb index 1cac37bfdd0fc6b518a614ba687350f1aba72505..1747aa48900f927512bed8397d446fd22572faee 100644 GIT binary patch literal 58384 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 YuA3=&FyQpT*0sY=nI3(e$9)%aJTGNJD|A^ z4e`1=SNqum^=f~oFI{$B^NV{n*R`g;BBwhDggZH`^>-ca=CE{9#Tk?^-|I@dqP21z z?&L5SkJGz3%-;f`JV`~)uQTI1?DC~o>#)n$IaVE>&-8pFM&qLMr`hYO`wCKmtc0#e zdKkCQ$vu1i^-~v?&R$wMvsQ!1rVV`(wB$XucJ7rEmo5&`g}w