From 036ce72aaea496cfe9214f58fc3d104b70700723 Mon Sep 17 00:00:00 2001
From: Pablo Escobar <mail@rvrs.in>
Date: Thu, 20 May 2021 21:56:28 +0200
Subject: [PATCH] light shaders

---
 res/light/gbuffer.fragment.spirv  | Bin 4340 -> 4516 bytes
 res/light/gbuffer.vertex.spirv    | Bin 2964 -> 3360 bytes
 res/light/lighting.fragment.spirv | Bin 12688 -> 13272 bytes
 3 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/res/light/gbuffer.fragment.spirv b/res/light/gbuffer.fragment.spirv
index 16a9aef8b901eb4f7f995163e90cef61a4b76bdd..fbfc7ec3054724cb7b79a07be0e24647c50ba383 100644
GIT binary patch
literal 4516
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
ZmBld(3=AN%K>9#x{xL8yfW$!MH2{|JdOH9B

literal 4340
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
HP?-+^zuaOD

diff --git a/res/light/gbuffer.vertex.spirv b/res/light/gbuffer.vertex.spirv
index f218de66b47c0da2feb228b38a491c9cc023a5c2..d0d60d68998c24b1a50067233c623ec923db9f19 100644
GIT binary patch
literal 3360
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

literal 2964
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
H21W(|pytv0

diff --git a/res/light/lighting.fragment.spirv b/res/light/lighting.fragment.spirv
index 9ca1d97ad3df14ad750b119f502b560662a27a53..6a262c170ff2ab9edfed0d2692ffc042a64f7869 100644
GIT binary patch
literal 13272
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

literal 12688
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

-- 
GitLab