diff options
| -rw-r--r-- | README.md | 27 | ||||
| -rw-r--r-- | examples/input-1920x1080.png (renamed from examples/input-1920x1080.jpg) | bin | 294494 -> 294494 bytes | |||
| -rw-r--r-- | examples/input-735x554.png | bin | 0 -> 92463 bytes | |||
| -rw-r--r-- | examples/input-736x736.png | bin | 0 -> 159870 bytes | |||
| -rw-r--r-- | examples/output-1920-1080.png (renamed from examples/output-1920-1080.jpg) | bin | 438790 -> 438790 bytes | |||
| -rw-r--r-- | examples/output-735x554.png | bin | 0 -> 685666 bytes | |||
| -rw-r--r-- | examples/output-736x736.png | bin | 0 -> 1404255 bytes |
7 files changed, 20 insertions, 7 deletions
@@ -1,12 +1,25 @@ +# GPU Pixel Sort + +Inspired by <a href="https://www.youtube.com/watch?v=HMmmBDRy-jE&pp=ygUSYWNlcm9sYSBwaXhlbCBzb3J0">this video</a> + + +## Run ```bash swift build -c release -./.build/release/pixel-sort input.png output2.png --lower 0.2 --upper 0.8 --key brightness +./.build/release/pixel-sort input_img.png output_img.png [options] ``` -Performance target: 2ms max for 1080p +<div align="center"> + <img src="examples/input-626x417.png" width="49%"> + <img src="examples/output-626x417.png" width="49%"> +</div> + +<div align="center"> + <img src="examples/input-735x554.png" width="49%"> + <img src="examples/output-735x554.png" width="49%"> +</div> -Shader optimization bottlenecks: -- VRAM -- Shader code itself - - Texture sampling (memory bandwidth): precalculate sorting value (SortKey) - - +<div align="center"> + <img src="examples/input-736x736.png" width="49%"> + <img src="examples/output-736x736.png" width="49%"> +</div> diff --git a/examples/input-1920x1080.jpg b/examples/input-1920x1080.png Binary files differindex 98091b0..98091b0 100644 --- a/examples/input-1920x1080.jpg +++ b/examples/input-1920x1080.png diff --git a/examples/input-735x554.png b/examples/input-735x554.png Binary files differnew file mode 100644 index 0000000..2398384 --- /dev/null +++ b/examples/input-735x554.png diff --git a/examples/input-736x736.png b/examples/input-736x736.png Binary files differnew file mode 100644 index 0000000..1a43128 --- /dev/null +++ b/examples/input-736x736.png diff --git a/examples/output-1920-1080.jpg b/examples/output-1920-1080.png Binary files differindex c0b4f07..c0b4f07 100644 --- a/examples/output-1920-1080.jpg +++ b/examples/output-1920-1080.png diff --git a/examples/output-735x554.png b/examples/output-735x554.png Binary files differnew file mode 100644 index 0000000..90cea92 --- /dev/null +++ b/examples/output-735x554.png diff --git a/examples/output-736x736.png b/examples/output-736x736.png Binary files differnew file mode 100644 index 0000000..e2043a7 --- /dev/null +++ b/examples/output-736x736.png |