From 5bbd036fc5bb4c6bc3482afeda946c9af4fa9e90 Mon Sep 17 00:00:00 2001 From: Godzil Date: Wed, 4 Mar 2020 13:23:22 +0000 Subject: [PATCH] Add spherical mapping render to the README. --- README.md | 5 +++++ output/uvmap_checkeredsphere.png | Bin 0 -> 24809 bytes 2 files changed, 5 insertions(+) create mode 100644 output/uvmap_checkeredsphere.png diff --git a/README.md b/README.md index c755db7..758ec2c 100644 --- a/README.md +++ b/README.md @@ -80,3 +80,8 @@ Without jitter: With jitter: ![Area light witht jitter](output/arealight_test.png) + +**Bonus chapter - Texture mapping** + +Spherical mapping: +![Spherical mapping](output/uvmap_checkeredsphere.png) \ No newline at end of file diff --git a/output/uvmap_checkeredsphere.png b/output/uvmap_checkeredsphere.png new file mode 100644 index 0000000000000000000000000000000000000000..494b3025dea9007d73af1c7c9680088197194c31 GIT binary patch literal 24809 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 literal 0 HcmV?d00001