mirror of
https://github.com/ssloy/tinyraytracer.git
synced 2025-08-23 22:32:50 +02:00
12
.gitpod.yml
Normal file
12
.gitpod.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
image:
|
||||||
|
file: Dockerfile
|
||||||
|
tasks:
|
||||||
|
- command: >
|
||||||
|
mkdir --parents build &&
|
||||||
|
cd build &&
|
||||||
|
cmake .. &&
|
||||||
|
make &&
|
||||||
|
./tinyraytracer &&
|
||||||
|
pnmtopng out.ppm > out.png &&
|
||||||
|
open out.png &&
|
||||||
|
cd ..
|
6
Dockerfile
Normal file
6
Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
FROM gitpod/workspace-full
|
||||||
|
|
||||||
|
USER root
|
||||||
|
# add your tools here
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
netpbm
|
22
Readme.md
22
Readme.md
@@ -3,20 +3,28 @@
|
|||||||
This repository is a support code for my computer graphics lectures. It is not meant to be the ultimate rendering code or even physically realistic. It is meant to be **simple**. This project is distributed under the [DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE](https://en.wikipedia.org/wiki/WTFPL).
|
This repository is a support code for my computer graphics lectures. It is not meant to be the ultimate rendering code or even physically realistic. It is meant to be **simple**. This project is distributed under the [DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE](https://en.wikipedia.org/wiki/WTFPL).
|
||||||
|
|
||||||
Check [the article](https://github.com/ssloy/tinyraytracer/wiki) that accompanies the source code.
|
Check [the article](https://github.com/ssloy/tinyraytracer/wiki) that accompanies the source code.
|
||||||
If you are looking for a software rasterizer, check the [other part of the lectures](https://github.com/ssloy/tinyrenderer/wiki).
|
If you are looking for a software rasterizer, check the [other part of the lectures](https://github.com/ssloy/tinyrenderer/wiki).
|
||||||
|
|
||||||
In my lectures I tend to avoid third party libraries as long as it is reasonable, because it forces to understand what is happening under the hood. So, the raytracing 256 lines of plain C++ give us this result:
|
In my lectures I tend to avoid third party libraries as long as it is reasonable, because it forces to understand what is happening under the hood. So, the raytracing 256 lines of plain C++ give us this result:
|
||||||

|

|
||||||
|
|
||||||
## compilation
|
## compilation
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/ssloy/tinyraytracer.git
|
git clone https://github.com/ssloy/tinyraytracer.git
|
||||||
cd tinyraytracer
|
cd tinyraytracer
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake ..
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can open the project in Gitpod, a free online dev evironment for GitHub:
|
||||||
|
|
||||||
|
[](https://gitpod.io/#https://github.com/ssloy/tinyraytracer)
|
||||||
|
|
||||||
|
On open, the editor will compile & run the program as well as open the resulting image in the editor's preview.
|
||||||
|
Just change the code in the editor and rerun the script (use the terminal's history) to see updated images.
|
||||||
|
|
||||||
# Homework assignment
|
# Homework assignment
|
||||||
[homework_assignment branch](https://github.com/ssloy/tinyraytracer/tree/homework_assignment) contains all necessary stuff to easily add environment maps:
|
[homework_assignment branch](https://github.com/ssloy/tinyraytracer/tree/homework_assignment) contains all necessary stuff to easily add environment maps:
|
||||||

|

|
||||||
|
Reference in New Issue
Block a user