summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-07-28 02:16:09 -0700
committeryum <yum.food.vr@gmail.com>2025-07-28 02:16:09 -0700
commit341ea861c8189cefe8689bd41d8adbe2cd2d87b2 (patch)
tree0da0e92cd230a3b371d630eb83bfded99777d733 /README.md
parent807199c10385eb7b905ae22e41880d671d6f9639 (diff)
add gallery
Diffstat (limited to 'README.md')
-rw-r--r--README.md25
1 files changed, 21 insertions, 4 deletions
diff --git a/README.md b/README.md
index 0443a2f..cdb369d 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,6 @@
This is an optimized GPU-based 2D FFT for VRChat. Since it uses RenderTextures,
it is only suitable for use in worlds.
-Please take note that the FFT is generated in bit-reversed order. You'll have
-to bit-reverse your indices when accessing it. See `apply_2d_bit_reversal` in
-`gpu_fft.cc` for an example of how to do that.
-
### Quick start
Clone the repo into your unity project. Open the scene.
@@ -35,3 +31,24 @@ compute FFTs with a shorter CRT chain.
`DFT_MATRIX` corresponds to `ShaderUniforms.twiddle_factors` in the simulator
and `STAGE_TWIDDLES` corresponds to `ShaderUniforms.stage_twiddles`.
+### Gallery
+
+Each of these images shows the following, from left to right:
+
+1. Original image.
+1. FFT stage 0.
+2. FFT stage 1.
+3. FFT stage 2.
+4. FFT stage 3.
+5. FFT bit reversal. Numpy reference image is shown above.
+6. IFFT stage 0.
+7. IFFT stage 1.
+8. IFFT stage 2.
+9. IFFT stage 3.
+10. IFFT bit reversal. The original signal is recovered.
+
+!["Mandrill."](./Images/fft_mandrill.png)
+
+!["Blue noise"](./Images/fft_blue_noise.png)
+
+!["Delta impulse."](./Images/fft_delta.png)