summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-07-30 13:09:19 -0700
committeryum <yum.food.vr@gmail.com>2025-07-30 13:16:57 -0700
commit65797304fb21181e1fcbd45dfebd0d2cf159ea6b (patch)
treee5580c68d1f1f791d5a801ede40b83dce92cc745
parent341ea861c8189cefe8689bd41d8adbe2cd2d87b2 (diff)
Simplify pipeline creation, vectorize FFTHEADmaster
- Add a script to create a pipeline & assets in a single click - Add pipeline executor concept. This exists to (theoretically) let users merge the results of multiple pipelines.
-rw-r--r--CRT Mats/fft_256x256_r16_0.mat92
-rw-r--r--CRT Mats/fft_256x256_r16_0.mat.meta8
-rw-r--r--CRT Mats/fft_256x256_r16_1.mat92
-rw-r--r--CRT Mats/fft_256x256_r16_1.mat.meta8
-rw-r--r--CRT Mats/fft_256x256_r16_2.mat92
-rw-r--r--CRT Mats/fft_256x256_r16_2.mat.meta8
-rw-r--r--CRT Mats/fft_256x256_r16_3.mat92
-rw-r--r--CRT Mats/fft_256x256_r16_3.mat.meta8
-rw-r--r--CRT Mats/fft_256x256_r16_3_bitrev.mat94
-rw-r--r--CRT Mats/fft_256x256_r16_3_bitrev.mat.meta8
-rw-r--r--CRT Mats/ifft_256x256_r16_0.mat93
-rw-r--r--CRT Mats/ifft_256x256_r16_0.mat.meta8
-rw-r--r--CRT Mats/ifft_256x256_r16_1.mat93
-rw-r--r--CRT Mats/ifft_256x256_r16_1.mat.meta8
-rw-r--r--CRT Mats/ifft_256x256_r16_2.mat93
-rw-r--r--CRT Mats/ifft_256x256_r16_2.mat.meta8
-rw-r--r--CRT Mats/ifft_256x256_r16_3.mat93
-rw-r--r--CRT Mats/ifft_256x256_r16_3.mat.meta8
-rw-r--r--CRT Mats/ifft_256x256_r16_3_bitrev.mat94
-rw-r--r--CRT Mats/ifft_256x256_r16_3_bitrev.mat.meta8
-rw-r--r--CRT Mats/passthrough.mat95
-rw-r--r--CRT Mats/passthrough.mat.meta8
-rw-r--r--CRTs/fft_stage0.renderTexture40
-rw-r--r--CRTs/fft_stage0.renderTexture.meta8
-rw-r--r--CRTs/fft_stage1.renderTexture40
-rw-r--r--CRTs/fft_stage1.renderTexture.meta8
-rw-r--r--CRTs/fft_stage2.renderTexture40
-rw-r--r--CRTs/fft_stage2.renderTexture.meta8
-rw-r--r--CRTs/fft_stage3.renderTexture40
-rw-r--r--CRTs/fft_stage3.renderTexture.meta8
-rw-r--r--CRTs/fft_stage3_bitrev.renderTexture40
-rw-r--r--CRTs/fft_stage3_bitrev.renderTexture.meta8
-rw-r--r--CRTs/ifft_stage0.renderTexture40
-rw-r--r--CRTs/ifft_stage0.renderTexture.meta8
-rw-r--r--CRTs/ifft_stage1.renderTexture40
-rw-r--r--CRTs/ifft_stage1.renderTexture.meta8
-rw-r--r--CRTs/ifft_stage2.renderTexture40
-rw-r--r--CRTs/ifft_stage2.renderTexture.meta8
-rw-r--r--CRTs/ifft_stage3.renderTexture40
-rw-r--r--CRTs/ifft_stage3.renderTexture.meta8
-rw-r--r--CRTs/ifft_stage3_bitrev.renderTexture40
-rw-r--r--CRTs/ifft_stage3_bitrev.renderTexture.meta8
-rw-r--r--CRTs/passthrough.renderTexture40
-rw-r--r--CRTs/passthrough.renderTexture.meta8
-rw-r--r--OPEN ME.unity1413
-rw-r--r--README.md3
-rw-r--r--Scripts/Editor/LinearPipelineEditor.cs339
-rw-r--r--Scripts/Editor/PipelineExecutorEditor.cs70
-rw-r--r--Scripts/LinearPipeline.asset134
-rw-r--r--Scripts/LinearPipeline.cs127
-rw-r--r--Scripts/PipelineExecutor.asset113
-rw-r--r--Scripts/PipelineExecutor.cs23
-rw-r--r--Scripts/PipelineExecutor.cs.meta11
-rw-r--r--fft.shader67
54 files changed, 716 insertions, 3223 deletions
diff --git a/CRT Mats/fft_256x256_r16_0.mat b/CRT Mats/fft_256x256_r16_0.mat
deleted file mode 100644
index 886f4f2..0000000
--- a/CRT Mats/fft_256x256_r16_0.mat
+++ /dev/null
@@ -1,92 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_256x256_r16_0
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 94437398166ee4e48b995b82c8629646, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 0
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/fft_256x256_r16_0.mat.meta b/CRT Mats/fft_256x256_r16_0.mat.meta
deleted file mode 100644
index 4f03c2d..0000000
--- a/CRT Mats/fft_256x256_r16_0.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 26596d311a37a3c45a64cee1c5576bd6
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/fft_256x256_r16_1.mat b/CRT Mats/fft_256x256_r16_1.mat
deleted file mode 100644
index d01d46c..0000000
--- a/CRT Mats/fft_256x256_r16_1.mat
+++ /dev/null
@@ -1,92 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_256x256_r16_1
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 37d8c69b67f50b6499d74722ca71e6d1, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 1
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/fft_256x256_r16_1.mat.meta b/CRT Mats/fft_256x256_r16_1.mat.meta
deleted file mode 100644
index e56d57f..0000000
--- a/CRT Mats/fft_256x256_r16_1.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: baecfb2a8397f824280169e46d6735f0
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/fft_256x256_r16_2.mat b/CRT Mats/fft_256x256_r16_2.mat
deleted file mode 100644
index f719273..0000000
--- a/CRT Mats/fft_256x256_r16_2.mat
+++ /dev/null
@@ -1,92 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_256x256_r16_2
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: f478fe60c6d85db4ebcfde29b8c00cb5, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 2
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/fft_256x256_r16_2.mat.meta b/CRT Mats/fft_256x256_r16_2.mat.meta
deleted file mode 100644
index c354b6d..0000000
--- a/CRT Mats/fft_256x256_r16_2.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ee8f29cf44fa87f46a1417c25af26824
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/fft_256x256_r16_3.mat b/CRT Mats/fft_256x256_r16_3.mat
deleted file mode 100644
index 35c13ed..0000000
--- a/CRT Mats/fft_256x256_r16_3.mat
+++ /dev/null
@@ -1,92 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_256x256_r16_3
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 982991c08a4b36046b5bb61d63a7cdfd, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 3
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/fft_256x256_r16_3.mat.meta b/CRT Mats/fft_256x256_r16_3.mat.meta
deleted file mode 100644
index 245ea50..0000000
--- a/CRT Mats/fft_256x256_r16_3.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 652ab864a0319244693b307366e8a107
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/fft_256x256_r16_3_bitrev.mat b/CRT Mats/fft_256x256_r16_3_bitrev.mat
deleted file mode 100644
index dc4ffa7..0000000
--- a/CRT Mats/fft_256x256_r16_3_bitrev.mat
+++ /dev/null
@@ -1,94 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_256x256_r16_3_bitrev
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _BITREVERSAL_ON
- - _PASSTHROUGH_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 3c8077a124afde54ebe6c9ff61a0bd4e, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 1
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 1
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 0
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/fft_256x256_r16_3_bitrev.mat.meta b/CRT Mats/fft_256x256_r16_3_bitrev.mat.meta
deleted file mode 100644
index 1863d0d..0000000
--- a/CRT Mats/fft_256x256_r16_3_bitrev.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 1544f59a65453084d9689c1a3897174e
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/ifft_256x256_r16_0.mat b/CRT Mats/ifft_256x256_r16_0.mat
deleted file mode 100644
index 05515cc..0000000
--- a/CRT Mats/ifft_256x256_r16_0.mat
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_256x256_r16_0
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _INVERSE_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 5c6e37925cf101549b3cae2b6147178f, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 1
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 0
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/ifft_256x256_r16_0.mat.meta b/CRT Mats/ifft_256x256_r16_0.mat.meta
deleted file mode 100644
index 492ed70..0000000
--- a/CRT Mats/ifft_256x256_r16_0.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 365ea70c6b535dc49b05bf0c1ff6ba5f
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/ifft_256x256_r16_1.mat b/CRT Mats/ifft_256x256_r16_1.mat
deleted file mode 100644
index 5c916e1..0000000
--- a/CRT Mats/ifft_256x256_r16_1.mat
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_256x256_r16_1
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _INVERSE_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: ef7e2adc6f791b94ea0f4b34710a8231, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 1
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 1
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/ifft_256x256_r16_1.mat.meta b/CRT Mats/ifft_256x256_r16_1.mat.meta
deleted file mode 100644
index 5c22961..0000000
--- a/CRT Mats/ifft_256x256_r16_1.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ee0218d1bcfaf6e4dbd6bf9376beb306
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/ifft_256x256_r16_2.mat b/CRT Mats/ifft_256x256_r16_2.mat
deleted file mode 100644
index fbd9bb8..0000000
--- a/CRT Mats/ifft_256x256_r16_2.mat
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_256x256_r16_2
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _INVERSE_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 3bbcc0467629b554081cc2d8a16480ad, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 1
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 2
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/ifft_256x256_r16_2.mat.meta b/CRT Mats/ifft_256x256_r16_2.mat.meta
deleted file mode 100644
index 04bef86..0000000
--- a/CRT Mats/ifft_256x256_r16_2.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 529b8b96dc28ae14381ede5d8ca8e97c
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/ifft_256x256_r16_3.mat b/CRT Mats/ifft_256x256_r16_3.mat
deleted file mode 100644
index 04e8291..0000000
--- a/CRT Mats/ifft_256x256_r16_3.mat
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_256x256_r16_3
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _INVERSE_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: a1dee43ec96199e4a9897f4d83fde0dd, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 1
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 0
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 3
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/ifft_256x256_r16_3.mat.meta b/CRT Mats/ifft_256x256_r16_3.mat.meta
deleted file mode 100644
index d7da3a1..0000000
--- a/CRT Mats/ifft_256x256_r16_3.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ef7b3b20954e1f0419b7adf268df2650
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/ifft_256x256_r16_3_bitrev.mat b/CRT Mats/ifft_256x256_r16_3_bitrev.mat
deleted file mode 100644
index aef3c40..0000000
--- a/CRT Mats/ifft_256x256_r16_3_bitrev.mat
+++ /dev/null
@@ -1,94 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_256x256_r16_3_bitrev
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _BITREVERSAL_ON
- - _PASSTHROUGH_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 8400000, guid: 3cad81fb96a636d47a43e9588609acf5, type: 2}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 1
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 0
- - _Luminance: 0
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 0
- - _Passthrough: 1
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 0
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/ifft_256x256_r16_3_bitrev.mat.meta b/CRT Mats/ifft_256x256_r16_3_bitrev.mat.meta
deleted file mode 100644
index 1fbabfe..0000000
--- a/CRT Mats/ifft_256x256_r16_3_bitrev.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: de23af3d6f8065d4e89cb057b0cd99ec
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRT Mats/passthrough.mat b/CRT Mats/passthrough.mat
deleted file mode 100644
index d67e84a..0000000
--- a/CRT Mats/passthrough.mat
+++ /dev/null
@@ -1,95 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: passthrough
- m_Shader: {fileID: 4800000, guid: 174262b1c731b7b45b2261d18f2cf325, type: 3}
- m_Parent: {fileID: 0}
- m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
- m_InvalidKeywords:
- - _LDS_ON
- - _LUMINANCE_ON
- - _PASSTHROUGH_ON
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_LockedProperties:
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 2800000, guid: d0dba03849af9df4fae990e250f66246, type: 3}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BitReversal: 0
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Inverse: 0
- - _LDS: 1
- - _Luminance: 1
- - _Metallic: 0
- - _Mode: 0
- - _N: 256
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _PassThrough: 1
- - _Passthrough: 1
- - _Radix: 16
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Stage: 0
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/CRT Mats/passthrough.mat.meta b/CRT Mats/passthrough.mat.meta
deleted file mode 100644
index 2af8e4f..0000000
--- a/CRT Mats/passthrough.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: caffb11975a532c48928f00ce876fda6
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/fft_stage0.renderTexture b/CRTs/fft_stage0.renderTexture
deleted file mode 100644
index 21cf115..0000000
--- a/CRTs/fft_stage0.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_stage0
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/fft_stage0.renderTexture.meta b/CRTs/fft_stage0.renderTexture.meta
deleted file mode 100644
index 8864d17..0000000
--- a/CRTs/fft_stage0.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 37d8c69b67f50b6499d74722ca71e6d1
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/fft_stage1.renderTexture b/CRTs/fft_stage1.renderTexture
deleted file mode 100644
index 2176a67..0000000
--- a/CRTs/fft_stage1.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_stage1
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/fft_stage1.renderTexture.meta b/CRTs/fft_stage1.renderTexture.meta
deleted file mode 100644
index 2b55d81..0000000
--- a/CRTs/fft_stage1.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f478fe60c6d85db4ebcfde29b8c00cb5
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/fft_stage2.renderTexture b/CRTs/fft_stage2.renderTexture
deleted file mode 100644
index 3c38bfe..0000000
--- a/CRTs/fft_stage2.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_stage2
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/fft_stage2.renderTexture.meta b/CRTs/fft_stage2.renderTexture.meta
deleted file mode 100644
index 6932554..0000000
--- a/CRTs/fft_stage2.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 982991c08a4b36046b5bb61d63a7cdfd
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/fft_stage3.renderTexture b/CRTs/fft_stage3.renderTexture
deleted file mode 100644
index 0532ada..0000000
--- a/CRTs/fft_stage3.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_stage3
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/fft_stage3.renderTexture.meta b/CRTs/fft_stage3.renderTexture.meta
deleted file mode 100644
index 4f83c5a..0000000
--- a/CRTs/fft_stage3.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 3c8077a124afde54ebe6c9ff61a0bd4e
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/fft_stage3_bitrev.renderTexture b/CRTs/fft_stage3_bitrev.renderTexture
deleted file mode 100644
index 18faf3f..0000000
--- a/CRTs/fft_stage3_bitrev.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: fft_stage3_bitrev
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/fft_stage3_bitrev.renderTexture.meta b/CRTs/fft_stage3_bitrev.renderTexture.meta
deleted file mode 100644
index 71e2c73..0000000
--- a/CRTs/fft_stage3_bitrev.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 5c6e37925cf101549b3cae2b6147178f
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/ifft_stage0.renderTexture b/CRTs/ifft_stage0.renderTexture
deleted file mode 100644
index 2fb4624..0000000
--- a/CRTs/ifft_stage0.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_stage0
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/ifft_stage0.renderTexture.meta b/CRTs/ifft_stage0.renderTexture.meta
deleted file mode 100644
index 46175c6..0000000
--- a/CRTs/ifft_stage0.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ef7e2adc6f791b94ea0f4b34710a8231
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/ifft_stage1.renderTexture b/CRTs/ifft_stage1.renderTexture
deleted file mode 100644
index eb8baa3..0000000
--- a/CRTs/ifft_stage1.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_stage1
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/ifft_stage1.renderTexture.meta b/CRTs/ifft_stage1.renderTexture.meta
deleted file mode 100644
index 7ec4366..0000000
--- a/CRTs/ifft_stage1.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 3bbcc0467629b554081cc2d8a16480ad
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/ifft_stage2.renderTexture b/CRTs/ifft_stage2.renderTexture
deleted file mode 100644
index a968102..0000000
--- a/CRTs/ifft_stage2.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_stage2
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/ifft_stage2.renderTexture.meta b/CRTs/ifft_stage2.renderTexture.meta
deleted file mode 100644
index 6fec197..0000000
--- a/CRTs/ifft_stage2.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: a1dee43ec96199e4a9897f4d83fde0dd
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/ifft_stage3.renderTexture b/CRTs/ifft_stage3.renderTexture
deleted file mode 100644
index eebf985..0000000
--- a/CRTs/ifft_stage3.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_stage3
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/ifft_stage3.renderTexture.meta b/CRTs/ifft_stage3.renderTexture.meta
deleted file mode 100644
index 20aa25f..0000000
--- a/CRTs/ifft_stage3.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 3cad81fb96a636d47a43e9588609acf5
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/ifft_stage3_bitrev.renderTexture b/CRTs/ifft_stage3_bitrev.renderTexture
deleted file mode 100644
index a01ddc8..0000000
--- a/CRTs/ifft_stage3_bitrev.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: ifft_stage3_bitrev
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/ifft_stage3_bitrev.renderTexture.meta b/CRTs/ifft_stage3_bitrev.renderTexture.meta
deleted file mode 100644
index 7a2c7de..0000000
--- a/CRTs/ifft_stage3_bitrev.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 32b797a912262b648ae4e64c77f561fb
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/CRTs/passthrough.renderTexture b/CRTs/passthrough.renderTexture
deleted file mode 100644
index d86abd7..0000000
--- a/CRTs/passthrough.renderTexture
+++ /dev/null
@@ -1,40 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!84 &8400000
-RenderTexture:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: passthrough
- m_ImageContentsHash:
- serializedVersion: 2
- Hash: 00000000000000000000000000000000
- m_ForcedFallbackFormat: 4
- m_DownscaleFallback: 0
- m_IsAlphaChannelOptional: 0
- serializedVersion: 5
- m_Width: 256
- m_Height: 256
- m_AntiAliasing: 1
- m_MipCount: -1
- m_DepthStencilFormat: 0
- m_ColorFormat: 48
- m_MipMap: 0
- m_GenerateMips: 1
- m_SRGB: 0
- m_UseDynamicScale: 0
- m_BindMS: 0
- m_EnableCompatibleFormat: 1
- m_EnableRandomWrite: 0
- m_TextureSettings:
- serializedVersion: 2
- m_FilterMode: 1
- m_Aniso: 0
- m_MipBias: 0
- m_WrapU: 1
- m_WrapV: 1
- m_WrapW: 1
- m_Dimension: 2
- m_VolumeDepth: 1
- m_ShadowSamplingMode: 2
diff --git a/CRTs/passthrough.renderTexture.meta b/CRTs/passthrough.renderTexture.meta
deleted file mode 100644
index 455b3a1..0000000
--- a/CRTs/passthrough.renderTexture.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 94437398166ee4e48b995b82c8629646
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 8400000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OPEN ME.unity b/OPEN ME.unity
index fec900a..cde5a28 100644
--- a/OPEN ME.unity
+++ b/OPEN ME.unity
@@ -125,218 +125,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
---- !u!1 &153538671
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 153538675}
- - component: {fileID: 153538674}
- - component: {fileID: 153538673}
- - component: {fileID: 153538672}
- m_Layer: 0
- m_Name: stage1
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &153538672
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 153538671}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &153538673
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 153538671}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: baecfb2a8397f824280169e46d6735f0, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &153538674
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 153538671}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &153538675
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 153538671}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &213933862
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 213933866}
- - component: {fileID: 213933865}
- - component: {fileID: 213933864}
- - component: {fileID: 213933863}
- m_Layer: 0
- m_Name: stage0
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &213933863
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 213933862}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &213933864
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 213933862}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 26596d311a37a3c45a64cee1c5576bd6, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &213933865
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 213933862}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &213933866
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 213933862}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -1, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &358170787
GameObject:
m_ObjectHideFlags: 0
@@ -405,855 +193,7 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &387836998
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 387837002}
- - component: {fileID: 387837001}
- - component: {fileID: 387837000}
- - component: {fileID: 387836999}
- m_Layer: 0
- m_Name: ifft stage1
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &387836999
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 387836998}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &387837000
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 387836998}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: ee0218d1bcfaf6e4dbd6bf9376beb306, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &387837001
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 387836998}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &387837002
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 387836998}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 5, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 983355411}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &562951493
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 562951497}
- - component: {fileID: 562951496}
- - component: {fileID: 562951495}
- - component: {fileID: 562951494}
- m_Layer: 0
- m_Name: ifft stage3
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &562951494
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 562951493}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &562951495
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 562951493}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: ef7b3b20954e1f0419b7adf268df2650, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &562951496
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 562951493}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &562951497
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 562951493}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 7, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 983355411}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &571412497
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 571412501}
- - component: {fileID: 571412500}
- - component: {fileID: 571412499}
- - component: {fileID: 571412498}
- m_Layer: 0
- m_Name: ifft stage0
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &571412498
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 571412497}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &571412499
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 571412497}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 365ea70c6b535dc49b05bf0c1ff6ba5f, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &571412500
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 571412497}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &571412501
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 571412497}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 4, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 983355411}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &599917952
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 599917956}
- - component: {fileID: 599917955}
- - component: {fileID: 599917954}
- - component: {fileID: 599917953}
- m_Layer: 0
- m_Name: stage2
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &599917953
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 599917952}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &599917954
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 599917952}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: ee8f29cf44fa87f46a1417c25af26824, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &599917955
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 599917952}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &599917956
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 599917952}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 1, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &609077999
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 609078003}
- - component: {fileID: 609078002}
- - component: {fileID: 609078001}
- - component: {fileID: 609078000}
- m_Layer: 0
- m_Name: fft_ref
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &609078000
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 609077999}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &609078001
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 609077999}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: d924df630b01842449ed5cd5a8ffee97, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &609078002
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 609077999}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &609078003
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 609077999}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 2.9579275, y: 0.8078251, z: -0.3419539}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1188641759}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &612474623
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 612474627}
- - component: {fileID: 612474626}
- - component: {fileID: 612474625}
- - component: {fileID: 612474624}
- m_Layer: 0
- m_Name: ifft stage3_bitrev
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &612474624
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 612474623}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &612474625
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 612474623}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: de23af3d6f8065d4e89cb057b0cd99ec, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &612474626
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 612474623}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &612474627
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 612474623}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 8, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 983355411}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &773866676
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 773866680}
- - component: {fileID: 773866679}
- - component: {fileID: 773866678}
- - component: {fileID: 773866677}
- m_Layer: 0
- m_Name: stage3
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &773866677
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 773866676}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &773866678
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 773866676}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 652ab864a0319244693b307366e8a107, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &773866679
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 773866676}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &773866680
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 773866676}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 2, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &785989655
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 785989659}
- - component: {fileID: 785989658}
- - component: {fileID: 785989657}
- - component: {fileID: 785989656}
- m_Layer: 0
- m_Name: ifft stage2
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &785989656
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 785989655}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &785989657
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 785989655}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 529b8b96dc28ae14381ede5d8ca8e97c, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &785989658
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 785989655}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &785989659
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 785989655}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 6, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 983355411}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &824710677
+--- !u!1 &608233059
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -1261,139 +201,80 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 824710681}
- - component: {fileID: 824710680}
- - component: {fileID: 824710679}
- - component: {fileID: 824710678}
+ - component: {fileID: 608233062}
+ - component: {fileID: 608233061}
+ - component: {fileID: 608233060}
m_Layer: 0
- m_Name: stage3_bitrev
+ m_Name: Pipeline Executor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!64 &824710678
-MeshCollider:
- m_ObjectHideFlags: 0
+--- !u!114 &608233060
+MonoBehaviour:
+ m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 824710677}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
+ m_GameObject: {fileID: 608233059}
m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &824710679
-MeshRenderer:
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ interactTextPlacement: {fileID: 0}
+ interactText: Use
+ interactTextGO: {fileID: 0}
+ proximity: 2
+ SynchronizePosition: 0
+ AllowCollisionOwnershipTransfer: 0
+ Reliable: 0
+ _syncMethod: 2
+ serializedProgramAsset: {fileID: 11400000, guid: 1ef1a3aa7f178454d85bdad94d61f29f,
+ type: 2}
+ programSource: {fileID: 11400000, guid: 24f87fdf937283b45bdeebdceb553595, type: 2}
+ serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF
+ publicVariablesUnityEngineObjects: []
+ publicVariablesSerializationDataFormat: 0
+--- !u!114 &608233061
+MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 824710677}
+ m_GameObject: {fileID: 608233059}
m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 1544f59a65453084d9689c1a3897174e, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &824710680
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 824710677}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &824710681
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c5f7cea5b0013a94b9cd19ffe00f66dc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes: []
+ _udonSharpBackingUdonBehaviour: {fileID: 608233060}
+ pipelines:
+ - {fileID: 1188641758}
+--- !u!4 &608233062
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 824710677}
+ m_GameObject: {fileID: 608233059}
serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 3, y: 1, z: 0}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 3, y: 1.5, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &983355410
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 983355411}
- m_Layer: 0
- m_Name: IFFT
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &983355411
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 983355410}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.04207261, y: -1.1921749, z: -0.3419539}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 571412501}
- - {fileID: 387837002}
- - {fileID: 785989659}
- - {fileID: 562951497}
- - {fileID: 612474627}
- m_Father: {fileID: 1188641759}
+ m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1069902874
GameObject:
@@ -1499,7 +380,7 @@ GameObject:
- component: {fileID: 1188641758}
- component: {fileID: 1188641757}
m_Layer: 0
- m_Name: Pipeline
+ m_Name: Demo Pipeline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1553,33 +434,10 @@ MonoBehaviour:
PrefabModifications: []
SerializationNodes: []
_udonSharpBackingUdonBehaviour: {fileID: 1188641757}
- sourceInput: {fileID: 2800000, guid: d0dba03849af9df4fae990e250f66246, type: 3}
- effectMaterials:
- - {fileID: 2100000, guid: caffb11975a532c48928f00ce876fda6, type: 2}
- - {fileID: 2100000, guid: 26596d311a37a3c45a64cee1c5576bd6, type: 2}
- - {fileID: 2100000, guid: baecfb2a8397f824280169e46d6735f0, type: 2}
- - {fileID: 2100000, guid: ee8f29cf44fa87f46a1417c25af26824, type: 2}
- - {fileID: 2100000, guid: 652ab864a0319244693b307366e8a107, type: 2}
- - {fileID: 2100000, guid: 1544f59a65453084d9689c1a3897174e, type: 2}
- - {fileID: 2100000, guid: 365ea70c6b535dc49b05bf0c1ff6ba5f, type: 2}
- - {fileID: 2100000, guid: ee0218d1bcfaf6e4dbd6bf9376beb306, type: 2}
- - {fileID: 2100000, guid: 529b8b96dc28ae14381ede5d8ca8e97c, type: 2}
- - {fileID: 2100000, guid: ef7b3b20954e1f0419b7adf268df2650, type: 2}
- - {fileID: 2100000, guid: de23af3d6f8065d4e89cb057b0cd99ec, type: 2}
- pipelineOutputs:
- - {fileID: 8400000, guid: 94437398166ee4e48b995b82c8629646, type: 2}
- - {fileID: 8400000, guid: 37d8c69b67f50b6499d74722ca71e6d1, type: 2}
- - {fileID: 8400000, guid: f478fe60c6d85db4ebcfde29b8c00cb5, type: 2}
- - {fileID: 8400000, guid: 982991c08a4b36046b5bb61d63a7cdfd, type: 2}
- - {fileID: 8400000, guid: 3c8077a124afde54ebe6c9ff61a0bd4e, type: 2}
- - {fileID: 8400000, guid: 5c6e37925cf101549b3cae2b6147178f, type: 2}
- - {fileID: 8400000, guid: ef7e2adc6f791b94ea0f4b34710a8231, type: 2}
- - {fileID: 8400000, guid: 3bbcc0467629b554081cc2d8a16480ad, type: 2}
- - {fileID: 8400000, guid: a1dee43ec96199e4a9897f4d83fde0dd, type: 2}
- - {fileID: 8400000, guid: 3cad81fb96a636d47a43e9588609acf5, type: 2}
- - {fileID: 8400000, guid: 32b797a912262b648ae4e64c77f561fb, type: 2}
- runOnStart: 1
- runContinuously: 1
+ pipelineGeneratedPath: Assets/yum_food/gpu_fft/Pipeline_Generated
+ initialState: {fileID: 2800000, guid: d0dba03849af9df4fae990e250f66246, type: 3}
+ materials: []
+ renderTextures: []
--- !u!4 &1188641759
Transform:
m_ObjectHideFlags: 0
@@ -1592,154 +450,8 @@ Transform:
m_LocalPosition: {x: 0.04207261, y: 1.1921749, z: 0.3419539}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1717151656}
- - {fileID: 609078003}
- - {fileID: 983355411}
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1242669366
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1242669370}
- - component: {fileID: 1242669369}
- - component: {fileID: 1242669368}
- - component: {fileID: 1242669367}
- m_Layer: 0
- m_Name: luminance
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &1242669367
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1242669366}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 5
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &1242669368
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1242669366}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: caffb11975a532c48928f00ce876fda6, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1242669369
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1242669366}
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &1242669370
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1242669366}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -2, y: 1, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 1717151656}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1717151655
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1717151656}
- m_Layer: 0
- m_Name: FFT
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1717151656
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1717151655}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.04207261, y: -1.1921749, z: -0.3419539}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1242669370}
- - {fileID: 213933866}
- - {fileID: 153538675}
- - {fileID: 599917956}
- - {fileID: 773866680}
- - {fileID: 824710681}
- m_Father: {fileID: 1188641759}
+ m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1787983409
GameObject:
@@ -2055,18 +767,10 @@ MonoBehaviour:
ID: 11
SerializedTypeNames:
- VRC.Udon.UdonBehaviour
- - gameObject: {fileID: 0}
+ - gameObject: {fileID: 608233059}
ID: 12
SerializedTypeNames:
- VRC.Udon.UdonBehaviour
- - gameObject: {fileID: 0}
- ID: 13
- SerializedTypeNames:
- - VRC.Udon.UdonBehaviour
- - gameObject: {fileID: 0}
- ID: 14
- SerializedTypeNames:
- - VRC.Udon.UdonBehaviour
portraitCameraPositionOffset: {x: 0, y: 0, z: 0}
portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139}
PlayerPersistence: []
@@ -2186,4 +890,5 @@ SceneRoots:
- {fileID: 1787983411}
- {fileID: 7606902903243430487}
- {fileID: 358170790}
+ - {fileID: 608233062}
- {fileID: 1188641759}
diff --git a/README.md b/README.md
index cdb369d..b20ec9a 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,8 @@ it is only suitable for use in worlds.
### Quick start
-Clone the repo into your unity project. Open the scene.
+Clone the repo into your unity project. Open the scene. Select "Demo_Pipeline"
+and click "Create Pipeline." Enter play mode.
Run CPU simulator:
diff --git a/Scripts/Editor/LinearPipelineEditor.cs b/Scripts/Editor/LinearPipelineEditor.cs
new file mode 100644
index 0000000..f14eb8e
--- /dev/null
+++ b/Scripts/Editor/LinearPipelineEditor.cs
@@ -0,0 +1,339 @@
+#if UNITY_EDITOR
+
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+using System.Collections.Generic;
+
+[CustomEditor(typeof(LinearPipeline))]
+public class LinearPipelineEditor : Editor
+{
+ private const string MATERIAL_SUFFIX = "_Mat";
+ private const string TEXTURE_SUFFIX = "_Tex";
+
+ private SerializedProperty pipelineGeneratedPathProperty;
+ private SerializedProperty initialStateProperty;
+
+ private static Shader shader;
+ private static int radix = 16;
+ private static int fftResolution = 256;
+ private static bool isInverse = false;
+ private static bool doBothFFTAndInverse = false;
+ private static int preFFTStages = 0;
+ private static int postFFTStages = 0;
+
+ private void OnEnable()
+ {
+ pipelineGeneratedPathProperty = serializedObject.FindProperty("pipelineGeneratedPath");
+
+ initialStateProperty = serializedObject.FindProperty("initialState");
+
+ // Set default shader if not already set
+ if (shader == null)
+ {
+ shader = Shader.Find("yum_food/fft");
+ }
+ }
+
+ public override void OnInspectorGUI()
+ {
+ serializedObject.Update();
+
+ EditorGUILayout.PropertyField(serializedObject.FindProperty("materials"), true);
+ EditorGUILayout.PropertyField(serializedObject.FindProperty("renderTextures"), true);
+
+ LinearPipeline pipeline = (LinearPipeline)target;
+
+ EditorGUILayout.Space();
+ EditorGUILayout.LabelField("Pipeline Generation", EditorStyles.boldLabel);
+
+ EditorGUILayout.PropertyField(pipelineGeneratedPathProperty);
+ EditorGUILayout.PropertyField(initialStateProperty);
+
+ serializedObject.ApplyModifiedProperties();
+
+ shader = EditorGUILayout.ObjectField("Shader", shader, typeof(Shader), false) as Shader;
+ radix = Mathf.Max(2, EditorGUILayout.IntField("Radix", radix));
+ fftResolution = Mathf.Max(2, EditorGUILayout.IntField("FFT Resolution (N)", fftResolution));
+
+ EditorGUI.BeginDisabledGroup(doBothFFTAndInverse);
+ isInverse = EditorGUILayout.Toggle("Inverse FFT", isInverse);
+ EditorGUI.EndDisabledGroup();
+
+ doBothFFTAndInverse = EditorGUILayout.Toggle("Both FFT and Inverse FFT", doBothFFTAndInverse);
+ preFFTStages = Mathf.Max(0, EditorGUILayout.IntField("Pre-FFT Stages", preFFTStages));
+ postFFTStages = Mathf.Max(0, EditorGUILayout.IntField("Post-FFT Stages", postFFTStages));
+
+ int fftStages = CalculateFFTStages(fftResolution, radix);
+ EditorGUILayout.HelpBox($"FFT stages: {fftStages} (including bit reverse)", MessageType.Info);
+
+ EditorGUILayout.Space();
+
+ GUI.enabled = shader != null;
+ if (GUILayout.Button("Create Pipeline", GUILayout.Height(30)))
+ {
+ CreatePipeline(pipeline);
+ }
+ GUI.enabled = true;
+
+ if (shader == null)
+ {
+ EditorGUILayout.HelpBox("Please specify a shader to create the pipeline.", MessageType.Warning);
+ }
+ }
+
+ private int CalculateFFTStages(int n, int radix)
+ {
+ return Mathf.CeilToInt(Mathf.Log(n) / Mathf.Log(radix)) * 2 + 1;
+ }
+
+ private void CreatePipeline(LinearPipeline pipeline)
+ {
+ string pipelineName = pipeline.gameObject.name;
+ string pipelinePath = Path.Combine(pipeline.pipelineGeneratedPath, pipelineName);
+
+ // Ensure directories exist
+ if (!AssetDatabase.IsValidFolder(pipeline.pipelineGeneratedPath))
+ {
+ CreateFolderRecursive(pipeline.pipelineGeneratedPath);
+ }
+
+ if (!AssetDatabase.IsValidFolder(pipelinePath))
+ {
+ AssetDatabase.CreateFolder(pipeline.pipelineGeneratedPath, pipelineName);
+ }
+
+ Undo.RegisterFullObjectHierarchyUndo(pipeline.gameObject, "Create Pipeline");
+
+ // Clear existing children
+ ClearChildren(pipeline.transform);
+
+ // Generate stage names
+ List<string> stageNames = GenerateStageNames();
+
+ // Create arrays for materials and textures
+ Material[] materials = new Material[stageNames.Count];
+ RenderTexture[] textures = new RenderTexture[stageNames.Count];
+
+ // Create each stage
+ for (int i = 0; i < stageNames.Count; i++)
+ {
+ CreateStage(pipeline.transform, stageNames[i], pipelinePath, i, ref materials, ref textures);
+ }
+
+ // Assign textures to materials
+ AssignTexturesToMaterials(materials, textures, pipeline.initialState);
+
+ // Update pipeline component
+ pipeline.materials = materials;
+ pipeline.renderTextures = textures;
+
+ EditorUtility.SetDirty(pipeline);
+ AssetDatabase.SaveAssets();
+
+ Debug.Log($"[LinearPipeline] Created pipeline '{pipelineName}' with {materials.Length} stages");
+ }
+
+ private List<string> GenerateStageNames()
+ {
+ List<string> names = new List<string>();
+ int totalFFTStages = CalculateFFTStages(fftResolution, radix);
+
+ // Pre-FFT stages
+ for (int i = 0; i < preFFTStages; i++)
+ {
+ names.Add($"Pre_Stage_{i:D2}");
+ }
+
+ // FFT stages
+ if (doBothFFTAndInverse || !isInverse)
+ {
+ for (int i = 0; i < totalFFTStages; i++)
+ {
+ names.Add($"FFT_Stage_{i:D2}");
+ }
+ }
+
+ // Inverse FFT stages
+ if (doBothFFTAndInverse || isInverse)
+ {
+ for (int i = 0; i < totalFFTStages; i++)
+ {
+ names.Add($"IFFT_Stage_{i:D2}");
+ }
+ }
+
+ // Post-FFT stages
+ for (int i = 0; i < postFFTStages; i++)
+ {
+ names.Add($"Post_Stage_{i:D2}");
+ }
+
+ return names;
+ }
+
+ private void CreateStage(Transform parent, string stageName, string basePath, int index,
+ ref Material[] materials, ref RenderTexture[] textures)
+ {
+ // Create stage GameObject as a quad
+ GameObject stageGO = GameObject.CreatePrimitive(PrimitiveType.Quad);
+ stageGO.name = stageName;
+ stageGO.transform.SetParent(parent);
+ stageGO.transform.localPosition = new Vector3(index * 1.0f, 0, 0); // Space 1 meter apart on X axis
+ stageGO.transform.localRotation = Quaternion.identity;
+ stageGO.transform.localScale = Vector3.one;
+
+ DestroyImmediate(stageGO.GetComponent<MeshCollider>());
+
+ // Create or update material
+ string materialPath = $"{basePath}/{stageName}{MATERIAL_SUFFIX}.mat";
+ Material material = AssetDatabase.LoadAssetAtPath<Material>(materialPath);
+
+ if (material == null)
+ {
+ material = new Material(shader);
+ AssetDatabase.CreateAsset(material, materialPath);
+ }
+ else
+ {
+ material.shader = shader;
+ EditorUtility.SetDirty(material);
+ }
+
+ // Set shader properties based on stage type
+ ConfigureMaterialProperties(material, stageName);
+
+ // Create or update render texture
+ string texturePath = $"{basePath}/{stageName}{TEXTURE_SUFFIX}.renderTexture";
+ RenderTexture texture = AssetDatabase.LoadAssetAtPath<RenderTexture>(texturePath);
+
+ if (texture == null)
+ {
+ texture = new RenderTexture(fftResolution, fftResolution, 0, RenderTextureFormat.ARGBFloat)
+ {
+ filterMode = FilterMode.Point,
+ wrapMode = TextureWrapMode.Clamp
+ };
+ AssetDatabase.CreateAsset(texture, texturePath);
+ }
+ else
+ {
+ texture.width = fftResolution;
+ texture.height = fftResolution;
+ EditorUtility.SetDirty(texture);
+ }
+
+ // Assign material to renderer
+ MeshRenderer renderer = stageGO.GetComponent<MeshRenderer>();
+ renderer.sharedMaterial = material;
+
+ // Store in arrays
+ materials[index] = material;
+ textures[index] = texture;
+ }
+
+ private void ConfigureMaterialProperties(Material material, string stageName)
+ {
+ // Set common properties
+ material.SetInt("_N", fftResolution);
+ material.SetInt("_Radix", radix);
+
+ // Reset all flags
+ material.SetFloat("_Passthrough", 0f);
+ material.SetFloat("_LDS", 0f);
+ material.SetFloat("_Luminance", 0f);
+ material.SetFloat("_Inverse", 0f);
+ material.SetFloat("_BitReversal", 0f);
+
+ // Configure based on stage type
+ if (stageName.StartsWith("Pre_Stage_"))
+ {
+ // Pre-processing stages - set as passthrough
+ material.SetFloat("_Passthrough", 1f);
+ material.SetInt("_Stage", 0);
+ }
+ else if (stageName.StartsWith("FFT_Stage_"))
+ {
+ // Extract stage number
+ string stageNumStr = stageName.Replace("FFT_Stage_", "");
+ if (int.TryParse(stageNumStr, out int stageNum))
+ {
+ material.SetInt("_Stage", stageNum);
+
+ // Last stage is bit reversal
+ int totalStages = CalculateFFTStages(fftResolution, radix);
+ if (stageNum == totalStages - 1)
+ {
+ material.SetFloat("_BitReversal", 1f);
+ }
+ }
+ material.SetFloat("_Inverse", 0f);
+ }
+ else if (stageName.StartsWith("IFFT_Stage_"))
+ {
+ // Extract stage number
+ string stageNumStr = stageName.Replace("IFFT_Stage_", "");
+ if (int.TryParse(stageNumStr, out int stageNum))
+ {
+ material.SetInt("_Stage", stageNum);
+
+ // Last stage is bit reversal
+ int totalStages = CalculateFFTStages(fftResolution, radix);
+ if (stageNum == totalStages - 1)
+ {
+ material.SetFloat("_BitReversal", 1f);
+ }
+ }
+ material.SetFloat("_Inverse", 1f);
+ }
+ else if (stageName.StartsWith("Post_Stage_"))
+ {
+ // Post-processing stages - set as passthrough
+ material.SetFloat("_Passthrough", 1f);
+ material.SetInt("_Stage", 0);
+ }
+
+ EditorUtility.SetDirty(material);
+ }
+
+ private void AssignTexturesToMaterials(Material[] materials, RenderTexture[] textures, Texture initialState)
+ {
+ for (int i = 0; i < materials.Length; i++)
+ {
+ Texture inputTexture = (i == 0) ? initialState : textures[i - 1];
+
+ if (inputTexture != null)
+ {
+ materials[i].SetTexture("_MainTex", inputTexture);
+ }
+
+ EditorUtility.SetDirty(materials[i]);
+ }
+ }
+
+ private void ClearChildren(Transform parent)
+ {
+ while (parent.childCount > 0)
+ {
+ DestroyImmediate(parent.GetChild(0).gameObject);
+ }
+ }
+
+ private void CreateFolderRecursive(string path)
+ {
+ string[] folders = path.Split('/');
+ string currentPath = folders[0];
+
+ for (int i = 1; i < folders.Length; i++)
+ {
+ string nextPath = Path.Combine(currentPath, folders[i]);
+ if (!AssetDatabase.IsValidFolder(nextPath))
+ {
+ AssetDatabase.CreateFolder(currentPath, folders[i]);
+ }
+ currentPath = nextPath;
+ }
+ }
+}
+
+#endif
diff --git a/Scripts/Editor/PipelineExecutorEditor.cs b/Scripts/Editor/PipelineExecutorEditor.cs
new file mode 100644
index 0000000..857fd84
--- /dev/null
+++ b/Scripts/Editor/PipelineExecutorEditor.cs
@@ -0,0 +1,70 @@
+#if UNITY_EDITOR
+
+using UnityEngine;
+using UnityEditor;
+using System.Linq;
+
+[CustomEditor(typeof(PipelineExecutor))]
+public class PipelineExecutorEditor : Editor
+{
+ public override void OnInspectorGUI()
+ {
+ DrawDefaultInspector();
+
+ PipelineExecutor executor = (PipelineExecutor)target;
+
+ EditorGUILayout.Space();
+
+ if (GUILayout.Button("Auto-Add All Pipelines"))
+ {
+ AutoAddPipelines(executor);
+ }
+ }
+
+ private void AutoAddPipelines(PipelineExecutor executor)
+ {
+ // Find all LinearPipeline components in the current scene
+ LinearPipeline[] allPipelines = Object.FindObjectsOfType<LinearPipeline>();
+
+ // Sort by hierarchy order
+ System.Array.Sort(allPipelines, (a, b) =>
+ {
+ // Get hierarchy paths and compare
+ string pathA = GetHierarchyPath(a.transform);
+ string pathB = GetHierarchyPath(b.transform);
+ return pathA.CompareTo(pathB);
+ });
+
+ LinearPipeline[] existingPipelines = executor.pipelines ?? new LinearPipeline[0];
+ LinearPipeline[] newPipelines = allPipelines.Where(p => p != null && !existingPipelines.Contains(p)).ToArray();
+
+ if (newPipelines.Length > 0)
+ {
+ Undo.RecordObject(executor, "Auto-Add Pipelines");
+ executor.pipelines = existingPipelines.Concat(newPipelines).ToArray();
+ EditorUtility.SetDirty(executor);
+ Debug.Log($"[PipelineExecutor] Added {newPipelines.Length} new pipelines. Total: {executor.pipelines.Length}");
+ }
+ else
+ {
+ Debug.Log("[PipelineExecutor] No new pipelines to add.");
+ }
+ }
+
+ private string GetHierarchyPath(Transform transform)
+ {
+ System.Collections.Generic.List<int> indices = new System.Collections.Generic.List<int>();
+ Transform current = transform;
+
+ while (current != null)
+ {
+ indices.Add(current.GetSiblingIndex());
+ current = current.parent;
+ }
+
+ indices.Reverse();
+ return string.Join(".", indices.Select(i => i.ToString("D4")));
+ }
+}
+
+#endif
diff --git a/Scripts/LinearPipeline.asset b/Scripts/LinearPipeline.asset
index c266faa..ae58826 100644
--- a/Scripts/LinearPipeline.asset
+++ b/Scripts/LinearPipeline.asset
@@ -50,19 +50,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
- Data: sourceInput
+ Data: pipelineGeneratedPath
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
- Data: sourceInput
+ Data: pipelineGeneratedPath
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
- Data: UnityEngine.Texture, UnityEngine.CoreModule
+ Data: System.String, mscorlib
- Name:
Entry: 8
Data:
@@ -86,7 +86,7 @@ MonoBehaviour:
Data: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
- Data: 2
+ Data: 1
- Name:
Entry: 7
Data: 5|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
@@ -97,15 +97,6 @@ MonoBehaviour:
Entry: 8
Data:
- Name:
- Entry: 7
- Data: 6|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- - Name: tooltip
- Entry: 1
- Data: The initial texture to start the pipeline with.
- - Name:
- Entry: 8
- Data:
- - Name:
Entry: 13
Data:
- Name:
@@ -122,25 +113,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
- Data: effectMaterials
+ Data: initialState
- Name: $v
Entry: 7
- Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
+ Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
- Data: effectMaterials
+ Data: initialState
- Name: <UserType>k__BackingField
Entry: 7
- Data: 8|System.RuntimeType, mscorlib
+ Data: 7|System.RuntimeType, mscorlib
- Name:
Entry: 1
- Data: UnityEngine.Material[], UnityEngine.CoreModule
+ Data: UnityEngine.Texture, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
- Data: 8
+ Data: 7
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -155,19 +146,10 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
- Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
+ Data: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
- Data: 1
- - Name:
- Entry: 7
- Data: 10|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- - Name: tooltip
- Entry: 1
- Data: The materials to apply in sequence. The order matters.
- - Name:
- Entry: 8
- Data:
+ Data: 0
- Name:
Entry: 13
Data:
@@ -185,25 +167,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
- Data: pipelineOutputs
+ Data: materials
- Name: $v
Entry: 7
- Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
+ Data: 9|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
- Data: pipelineOutputs
+ Data: materials
- Name: <UserType>k__BackingField
Entry: 7
- Data: 12|System.RuntimeType, mscorlib
+ Data: 10|System.RuntimeType, mscorlib
- Name:
Entry: 1
- Data: UnityEngine.RenderTexture[], UnityEngine.CoreModule
+ Data: UnityEngine.Material[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
- Data: 12
+ Data: 10
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -218,20 +200,10 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
- Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
+ Data: 11|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
- Data: 1
- - Name:
- Entry: 7
- Data: 14|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- - Name: tooltip
- Entry: 1
- Data: The RenderTextures to store the output of each step. MUST be the same
- size as the materials array.
- - Name:
- Entry: 8
- Data:
+ Data: 0
- Name:
Entry: 13
Data:
@@ -249,25 +221,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
- Data: runOnStart
+ Data: renderTextures
- Name: $v
Entry: 7
- Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
+ Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
- Data: runOnStart
+ Data: renderTextures
- Name: <UserType>k__BackingField
Entry: 7
- Data: 16|System.RuntimeType, mscorlib
+ Data: 13|System.RuntimeType, mscorlib
- Name:
Entry: 1
- Data: System.Boolean, mscorlib
+ Data: UnityEngine.RenderTexture[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
- Data: 16
+ Data: 13
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -282,28 +254,10 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
- Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
+ Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
- Data: 2
- - Name:
- Entry: 7
- Data: 18|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- - Name: header
- Entry: 1
- Data: Execution Mode
- - Name:
- Entry: 8
- Data:
- - Name:
- Entry: 7
- Data: 19|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- - Name: tooltip
- Entry: 1
- Data: If true, the pipeline will run once when the world loads.
- - Name:
- Entry: 8
- Data:
+ Data: 0
- Name:
Entry: 13
Data:
@@ -321,16 +275,22 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
- Data: runContinuously
+ Data: isValid
- Name: $v
Entry: 7
- Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
+ Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
- Data: runContinuously
+ Data: isValid
- Name: <UserType>k__BackingField
- Entry: 9
- Data: 16
+ Entry: 7
+ Data: 16|System.RuntimeType, mscorlib
+ - Name:
+ Entry: 1
+ Data: System.Boolean, mscorlib
+ - Name:
+ Entry: 8
+ Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 16
@@ -345,23 +305,13 @@ MonoBehaviour:
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
- Data: true
+ Data: false
- Name: _fieldAttributes
Entry: 7
- Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
+ Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
- Data: 1
- - Name:
- Entry: 7
- Data: 22|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- - Name: tooltip
- Entry: 1
- Data: If true, the pipeline will run every frame. Use with caution, can be
- performance-intensive.
- - Name:
- Entry: 8
- Data:
+ Data: 0
- Name:
Entry: 13
Data:
diff --git a/Scripts/LinearPipeline.cs b/Scripts/LinearPipeline.cs
index ae1c65d..6087702 100644
--- a/Scripts/LinearPipeline.cs
+++ b/Scripts/LinearPipeline.cs
@@ -1,21 +1,3 @@
-/*
- Udon# Linear Pipeline Controller
-
- This script manages a linear chain of image effects. It takes a source texture
- and processes it through a sequence of materials, storing the result of each
- step in a corresponding RenderTexture.
-
- Setup:
- 1. Create an empty GameObject in your scene.
- 2. Add an UdonBehaviour component to it.
- 3. Create this Udon# script in your project and assign it to the UdonBehaviour.
- 4. Create all the Materials and RenderTextures you need for your pipeline.
- 5. In the Inspector, assign the Source Input, Materials, and Output RenderTextures.
- - The size of the Effect Materials and Pipeline Outputs arrays MUST be the same.
- - The order of materials and textures in the arrays determines the pipeline order.
- 6. Choose your desired execution mode (Run On Start, Run Continuously).
-*/
-
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
@@ -23,88 +5,41 @@ using VRC.SDKBase;
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class LinearPipeline : UdonSharpBehaviour
{
- [Header("Pipeline Assets")]
- [Tooltip("The initial texture to start the pipeline with.")]
- public Texture sourceInput;
-
- [Tooltip("The materials to apply in sequence. The order matters.")]
- public Material[] effectMaterials;
-
- [Tooltip("The RenderTextures to store the output of each step. MUST be the same size as the materials array.")]
- public RenderTexture[] pipelineOutputs;
-
- [Header("Execution Mode")]
- [Tooltip("If true, the pipeline will run once when the world loads.")]
- public bool runOnStart = true;
-
- [Tooltip("If true, the pipeline will run every frame. Use with caution, can be performance-intensive.")]
- public bool runContinuously = false;
-
- void Start()
+ [Header("Pipeline Assets")]
+ public string pipelineGeneratedPath = "Assets/yum_food/gpu_fft/Pipeline_Generated";
+ public Texture initialState;
+ public Material[] materials;
+ public RenderTexture[] renderTextures;
+
+ private bool isValid;
+
+ void Start()
+ {
+ ValidatePipeline();
+ }
+
+ private void ValidatePipeline()
+ {
+ isValid = materials != null &&
+ renderTextures != null &&
+ materials.Length > 0 &&
+ materials.Length == renderTextures.Length;
+
+ if (!isValid)
{
- if (runOnStart)
- {
- _RunPipeline();
- }
+ Debug.LogError($"[LinearPipeline] Invalid configuration on {gameObject.name}");
}
+ }
- void Update()
- {
- if (runContinuously)
- {
- _RunPipeline();
- }
- }
+ public void RunPipeline()
+ {
+ if (!isValid || initialState == null) return;
- /// <summary>
- /// This public method can be called by other Udon scripts or UI events to run the pipeline.
- /// </summary>
- public void _RunPipeline()
- {
- // --- Pre-flight Checks ---
- if (sourceInput == null)
- {
- Debug.LogError("[LinearPipeline] Source Input is not assigned!", this);
- return;
- }
+ VRCGraphics.Blit(initialState, renderTextures[0], materials[0], -1);
- if (effectMaterials == null || effectMaterials.Length == 0)
- {
- Debug.LogError("[LinearPipeline] No Effect Materials have been assigned!", this);
- return;
- }
-
- if (pipelineOutputs == null || pipelineOutputs.Length == 0)
- {
- Debug.LogError("[LinearPipeline] No Pipeline Outputs have been assigned!", this);
- return;
- }
-
- if (effectMaterials.Length != pipelineOutputs.Length)
- {
- Debug.LogError("[LinearPipeline] The number of materials does not match the number of output textures!", this);
- return;
- }
-
- // --- Run Pipeline ---
-
- // 1. First Blit: From the main source to the first texture in our chain.
- VRCGraphics.Blit(sourceInput, pipelineOutputs[0], effectMaterials[0], -1);
-
- // 2. Loop through the rest of the chain.
- for (int i = 1; i < effectMaterials.Length; i++)
- {
- // The source for this step is the output from the previous step.
- Texture sourceForThisStep = pipelineOutputs[i - 1];
-
- // The destination is the current output texture.
- RenderTexture destForThisStep = pipelineOutputs[i];
-
- // The material for this step.
- Material materialForThisStep = effectMaterials[i];
-
- VRCGraphics.Blit(sourceForThisStep, destForThisStep, materialForThisStep, -1);
- }
+ for (int i = 1; i < materials.Length; i++)
+ {
+ VRCGraphics.Blit(renderTextures[i-1], renderTextures[i], materials[i], -1);
}
+ }
}
-
diff --git a/Scripts/PipelineExecutor.asset b/Scripts/PipelineExecutor.asset
new file mode 100644
index 0000000..0f25570
--- /dev/null
+++ b/Scripts/PipelineExecutor.asset
@@ -0,0 +1,113 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
+ m_Name: PipelineExecutor
+ m_EditorClassIdentifier:
+ serializedUdonProgramAsset: {fileID: 11400000, guid: 1ef1a3aa7f178454d85bdad94d61f29f,
+ type: 2}
+ udonAssembly:
+ assemblyError:
+ sourceCsScript: {fileID: 11500000, guid: c5f7cea5b0013a94b9cd19ffe00f66dc, type: 3}
+ scriptVersion: 2
+ compiledVersion: 2
+ behaviourSyncMode: 0
+ hasInteractEvent: 0
+ scriptID: -1918004122012525739
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: fieldDefinitions
+ Entry: 7
+ Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
+ UdonSharp.Editor]], mscorlib
+ - Name: comparer
+ Entry: 7
+ Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
+ mscorlib]], mscorlib
+ - Name:
+ Entry: 8
+ Data:
+ - Name:
+ Entry: 12
+ Data: 1
+ - Name:
+ Entry: 7
+ Data:
+ - Name: $k
+ Entry: 1
+ Data: pipelines
+ - Name: $v
+ Entry: 7
+ Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
+ - Name: <Name>k__BackingField
+ Entry: 1
+ Data: pipelines
+ - Name: <UserType>k__BackingField
+ Entry: 7
+ Data: 3|System.RuntimeType, mscorlib
+ - Name:
+ Entry: 1
+ Data: LinearPipeline[], Assembly-CSharp
+ - Name:
+ Entry: 8
+ Data:
+ - Name: <SystemType>k__BackingField
+ Entry: 7
+ Data: 4|System.RuntimeType, mscorlib
+ - Name:
+ Entry: 1
+ Data: UnityEngine.Component[], UnityEngine.CoreModule
+ - Name:
+ Entry: 8
+ Data:
+ - Name: <SyncMode>k__BackingField
+ Entry: 7
+ Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
+ - Name:
+ Entry: 6
+ Data:
+ - Name:
+ Entry: 8
+ Data:
+ - Name: <IsSerialized>k__BackingField
+ Entry: 5
+ Data: true
+ - Name: _fieldAttributes
+ Entry: 7
+ Data: 5|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
+ - Name:
+ Entry: 12
+ Data: 0
+ - Name:
+ Entry: 13
+ Data:
+ - Name:
+ Entry: 8
+ Data:
+ - Name:
+ Entry: 8
+ Data:
+ - Name:
+ Entry: 8
+ Data:
+ - Name:
+ Entry: 13
+ Data:
+ - Name:
+ Entry: 8
+ Data:
diff --git a/Scripts/PipelineExecutor.cs b/Scripts/PipelineExecutor.cs
new file mode 100644
index 0000000..bf40bc6
--- /dev/null
+++ b/Scripts/PipelineExecutor.cs
@@ -0,0 +1,23 @@
+using UdonSharp;
+using UnityEngine;
+using VRC.SDKBase;
+using VRC.Udon;
+
+public class PipelineExecutor : UdonSharpBehaviour
+{
+ public LinearPipeline[] pipelines;
+
+ void Update()
+ {
+ if (pipelines == null) return;
+
+ for (int i = 0; i < pipelines.Length; i++)
+ {
+ if (pipelines[i] != null)
+ {
+ pipelines[i].RunPipeline();
+ }
+ }
+ }
+}
+
diff --git a/Scripts/PipelineExecutor.cs.meta b/Scripts/PipelineExecutor.cs.meta
new file mode 100644
index 0000000..8ed362f
--- /dev/null
+++ b/Scripts/PipelineExecutor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c5f7cea5b0013a94b9cd19ffe00f66dc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/fft.shader b/fft.shader
index 548f0b3..967ea81 100644
--- a/fft.shader
+++ b/fft.shader
@@ -24,6 +24,8 @@ Shader "yum_food/fft"
#pragma fragment frag
#include "UnityCG.cginc"
+ #define RADIX 16
+ #define N 256
#define GPU_FFT_RADIX16
#define GPU_FFT_RADIX16_N256
#include "fft_twiddle_tables.cginc"
@@ -106,6 +108,13 @@ Shader "yum_food/fft"
return dot(color, float3(0.2126, 0.7152, 0.0722));
}
+ float4 cmul_2x(float4 a, float2 b) {
+ float4 r;
+ r.xz = a.xz * b.x - a.yw * b.y;
+ r.yw = a.xz * b.y + a.yw * b.x;
+ return r;
+ }
+
fixed4 frag (v2f i) : SV_Target
{
// Extract coordinates
@@ -150,80 +159,56 @@ Shader "yum_food/fft"
const int idx_in_wing = idx_in_group % i.span;
// Main DFT loop
- float sum_real = 0.0;
- float sum_imag = 0.0;
- for (int j = 0; j < _Radix; j++)
+ float4 sum = float4(0.0, 0.0, 0.0, 0.0);
+ for (int j = 0; j < RADIX; j++)
{
// Calculate input position
const int input_pos = group * i.butterfly_size + j * i.span + idx_in_wing;
// Read input value
- float in_real, in_imag;
+ float4 input_tex;
if (is_row_stage)
{
- const float2 input_uv = float2((input_pos + 0.5) / (float)_N, i.uv.y);
- const float4 input_tex = _MainTex.SampleLevel(point_clamp_s, input_uv, 0);
- if (_Stage == 0 && _Inverse < 0.5) {
- // Assume that input is grayscale and real-valued.
- in_real = input_tex.x;
- in_imag = 0;
- } else {
- in_real = input_tex.x;
- in_imag = input_tex.y;
- }
+ const float2 input_uv = float2((input_pos + 0.5) / (float)N, i.uv.y);
+ input_tex = _MainTex.SampleLevel(point_clamp_s, input_uv, 0);
}
else
{
- float2 input_uv = float2(i.uv.x, (input_pos + 0.5) / (float)_N);
- float4 input_tex = _MainTex.SampleLevel(point_clamp_s, input_uv, 0);
- in_real = input_tex.x;
- in_imag = input_tex.y;
+ const float2 input_uv = float2(i.uv.x, (input_pos + 0.5) / (float)N);
+ input_tex = _MainTex.SampleLevel(point_clamp_s, input_uv, 0);
}
// Read DFT coefficient
- const float2 coeff = _Inverse > 0.5 ? IDFT_MATRIX[wing][j] : DFT_MATRIX[wing][j];
- const float coeff_real = coeff.x;
- const float coeff_imag = coeff.y;
+ const float2 coeff = _Inverse ? IDFT_MATRIX[wing][j] : DFT_MATRIX[wing][j];
// Complex multiply-accumulate
- sum_real += coeff_real * in_real - coeff_imag * in_imag;
- sum_imag += coeff_real * in_imag + coeff_imag * in_real;
+ sum += cmul_2x(input_tex, coeff);
}
// Apply stage twiddle if needed
- float out_real, out_imag;
+ float4 out_val;
if (wing > 0 && idx_in_wing > 0)
{
const int twiddle_idx = wing * idx_in_wing;
float2 tw;
if (_Stage % 2 == 0) {
- tw = _Inverse > 0.5 ? STAGE0_TWIDDLES_INV[twiddle_idx] : STAGE0_TWIDDLES[twiddle_idx];
+ tw = _Inverse ? STAGE0_TWIDDLES_INV[twiddle_idx] : STAGE0_TWIDDLES[twiddle_idx];
} else {
- tw = _Inverse > 0.5 ? STAGE1_TWIDDLES_INV[twiddle_idx] : STAGE1_TWIDDLES[twiddle_idx];
+ tw = _Inverse ? STAGE1_TWIDDLES_INV[twiddle_idx] : STAGE1_TWIDDLES[twiddle_idx];
}
- float tw_real = tw.x;
- float tw_imag = tw.y;
-
// Output = twiddle * sum
- out_real = tw_real * sum_real - tw_imag * sum_imag;
- out_imag = tw_real * sum_imag + tw_imag * sum_real;
+ out_val = cmul_2x(sum, tw);
}
else
{
- out_real = sum_real;
- out_imag = sum_imag;
+ out_val = sum;
}
-
- // Handle final stage of inverse FFT
- if (_Inverse > 0.5 && _Stage == i.num_stages_per_dim * 2 - 1) {
- float normalized = out_real / (_N * _N);
- return float4(normalized, normalized, normalized, 1);
+ if (_Inverse && _Stage == 3) {
+ out_val /= (_N * _N);
}
-
- // Pack complex result into RGBA
- return float4(out_real, out_imag, 0, 1);
+ return out_val;
}
ENDCG
}