Update README

This commit is contained in:
2024-10-10 12:27:21 +02:00
parent 94b1fd1ca6
commit 0e0365992b
3 changed files with 25 additions and 6 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
*.exe
*.exr
./*.png
path_trace
ray_trace
+3 -3
View File
@@ -17,10 +17,10 @@ else
endif
endif
all: path_trace$(EXT)
all: ray_trace$(EXT)
path_trace$(EXT): Makefile $(wildcard src/*.c src/*.h)
ray_trace$(EXT): Makefile $(wildcard src/*.c src/*.h)
gcc -o $@ src/main.c src/utils.c src/camera.c src/mesh.c src/vector.c src/thread.c src/sync.c src/clock.c src/profile.c 3p/glad/src/glad.c -std=c11 $(CFLAGS) $(LDFLAGS)
clean:
rm path_trace path_trace.exe
rm ray_trace ray_trace.exe
+21 -2
View File
@@ -1,6 +1,25 @@
This is the implementation of the ray tracing algorithm. Here are some pics:
This is the implementation of the ray tracing algorithm on the CPU
![scene 0](assets/screenshot_0.png)
# Build
The supported platforms are Windows and Linux. On Linux you need to manually install GLFW 3. After that you can build the program doing
```
make
```
# Usage
You need to run the renderer from the command line providing it the proper arguments:
```
./ray_trace.exe --scene scene_0.txt --threads 16 --init-scale 2
```
This will open a window with the rendered scene. You can more around with WASD and change the camera direction with the mouse.
You should use a number of threads equal to the number of CPU cores. The `--init-scale` lowers the initial resolution of the scene when moving the camera and can be any power of two between 1 and 16 (1, 2, 4, 8, 16).
# Other Pics
![scene 0](assets/screenshot_1.png)
![scene 1](assets/screenshot_2.png)
![scene 2](assets/screenshot_3.png)
![scene 2](assets/screenshot_3.png)