Compare commits

...

2 Commits

Author SHA1 Message Date
d94aac009c fix checksum of IEND chunk 2024-08-06 00:43:34 +02:00
e18b2ba7e5 add README.md 2024-08-06 00:17:03 +02:00
4 changed files with 30 additions and 1 deletions

28
README.md Normal file
View File

@ -0,0 +1,28 @@
# raytracing
Based on the series <a href="https://raytracing.github.io"><cite>Ray Tracing in One Weekend</cite></a>.
## Scenes
### squares
![](./docs/squares.png)
```
java -jar raytracing.jar --samples 500 --height 1200 SQUARES
```
### cornell box
![](./docs/cornell_smoke.png)
```
java -jar raytracing.jar --samples 50000 --height 1200 CORNELL
```
### cornell box with smoke
![](./docs/cornell_smoke.png)
```
java -jar raytracing.jar --samples 50000 --height 600 CORNELL_SMOKE
```

BIN
docs/cornell_smoke.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

BIN
docs/squares.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 KiB

View File

@ -41,6 +41,7 @@ public enum ImageFormat {
private static final int IHDR_TYPE = 0x49484452;
private static final int IDAT_TYPE = 0x49444154;
private static final int IEND_TYPE = 0x49454E44;
private static final int IEND_CRC = -1371381630;
@Override
public void write(@NotNull Canvas image, @NotNull OutputStream out) throws IOException {
@ -101,7 +102,7 @@ public enum ImageFormat {
private void writeIEND(@NotNull Canvas image, @NotNull DataOutputStream data) throws IOException {
data.writeInt(0);
data.writeInt(IEND_TYPE);
data.writeInt(0);
data.writeInt(IEND_CRC);
}
private static class NoCloseDataOutputStream extends DataOutputStream {