-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ccc2059
commit 6ca46fc
Showing
1 changed file
with
22 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,9 @@ | |
<p align="center"><img width="600" alt="Render1" src="https://github.com/cypraeno/caitlyn/assets/25397938/9f93e7a7-37d0-43e4-bea1-e81859f75f00"></p> | ||
|
||
|
||
Caitlyn is an in-development Monte Carlo ray tracer built in C++ by a team of students from the University of Waterloo and Wilfrid Laurier University. Caitlyn is actively working towards being a beautiful tool for bridging the accuracy and lighting of raytracing and the breathtaking visuals of pixel art (see our [portfolio](#our-portfolio) and Odd Tales' "The Last Night"!) | ||
Caitlyn is an reverse path tracer built for implementing raytracing lighting to 'pixellax' 3D visuals. It is built in C++ by a team of students from the University of Waterloo and Wilfrid Laurier University. | ||
|
||
'Pixellax' is an art style with a focus on using 2D pixel art in 3D environments with an emphasis on beautiful, colourful lighting. (see our [portfolio](#our-portfolio) and Odd Tales' "The Last Night"!) | ||
|
||
_Interested in getting involved? Contact [Connor Loi]([email protected]) or [Samuel Bai]([email protected])._ | ||
|
||
|
@@ -20,24 +22,24 @@ Caitlyn MCRT is built on Debian 12. It may work on other distros, but we recomme | |
### Setup | ||
Before continuing: | ||
- Install `Docker Desktop`. | ||
- Pull the latest `docker pull connortbot/caitlyn-mcrt:base-vX.X.X` | ||
- Pull the latest `docker pull connortbot/caitlyn-mcrt:base-v0.2.1` | ||
|
||
### Build | ||
You may pull the repository from within the container or mount a volume. Either works! | ||
Run `cmake -B build/ -S .` to create files in the `build` folder. `cd build`, and `make`. Don't forget to initialize the submodules. | ||
Run `cmake -B build/ -S .` to create files in the `build` folder. `cd build`, and `make`. _Don't forget to initialize the submodules!_ | ||
|
||
### Basic Rendering | ||
Caitlyn renders scenes from our custom filetype `.csr`. By default, the `caitlyn` executable will read the scene from a `scene.csr` file, so you need to have one before running. In this guide, we'll just run the `example.csr`, which you can copy from [here](https://github.com/cypraeno/csr-schema/blob/main/examples/example.csr). | ||
Caitlyn renders scenes from our custom filetype `.csr`. By default, the `caitlyn` executable will read the scene from a `scene.csr` file, so you need to have one before running. In this guide, we'll just run the `0.1.5-showcase.csr`, which you can copy from the `tests` folder. | ||
|
||
To learn how to write CSR files, check out the [Basic Guide](https://github.com/cypraeno/csr-schema/blob/main/docs/basic-guide.md). | ||
|
||
Caitlyn has a user-friendly command line interface, allowing you to customize samples, depth, type of multithreading, and more. Once you have the executable, you can run `./caitlyn --help` to see all the options at your disposal. | ||
Caitlyn has a user-friendly command line interface, allowing you to customize samples, depth, use multithreading, and more. Once you have the executable, you can run `./caitlyn --help` to see all the options at your disposal. | ||
|
||
Let's render a PNG file of the example scene! Ensure that you have your CSR file in the same directory. | ||
``` | ||
./caitlyn -i example.csr -t png -r 600 600 | ||
./caitlyn -i 0.1.5-showcase.csr -o 0.1.5-showcase.png -t png -s 50 | ||
``` | ||
This will read the scene from `example.csr` and output as a `png`. | ||
This will read the scene from `0.1.5-showcase.csr` and output as a `png`. | ||
And now you have your first caitlyn-rendered scene! | ||
|
||
## Our Portfolio | ||
|
@@ -57,14 +59,10 @@ Flags like `--samples` and `--depth` control the amount of time spent on the ren | |
|
||
Sometimes, CSR files will have features not supported in your version of `caitlyn`. You can check this with the version indicator at the top of the CSR file and with `./caitlyn --version`. | ||
|
||
For users who have a better understanding of their computer's resources, the `--threads` and `--vectorization` flags control the use of more efficient architecture. While `threads` dictate the amount of CPU threads to split the workloads on, the `vectorization` flag will dictate the type of SIMD batching. `[NONE|SSE|AVX|AVX512]`. | ||
However, its important to note that this is increasingly untested with the new pathtracer. It is currently DEPRECATED. Use at own risk. | ||
|
||
|
||
## Contribute | ||
For contribution or general inquiries, please email one of us at [Connor Loi]([email protected]) or [Samuel Bai]([email protected]). | ||
|
||
The people the made it happen: | ||
Acknowledgements: | ||
|
||
<div align="center"> | ||
<a href="https://github.com/connortbot">Connor Loi</a>, | ||
|
@@ -74,5 +72,16 @@ The people the made it happen: | |
<a href="https://github.com/ASharpMarble">Jonathan Wang</a>, | ||
<a href="https://github.com/18gen">Gen Ichihashi</a>, | ||
<a href="https://github.com/maxtan84">Max Tan</a>, | ||
<a href="https://github.com/rickyhuangjh">Ricky Huang</a>, | ||
<a href="https://github.com/rickyhuangjh">Ricky Huang</a> | ||
</div> | ||
|
||
Citation: | ||
```bibtex | ||
@software{Caitlyn, | ||
title = {Caitlyn MCRT}, | ||
author = {Connor Loi and Samuel Bai}, | ||
note = {https://github.com/cypraeno/caitlyn}, | ||
version = {0.1.5}, | ||
year = 2024 | ||
} | ||
``` |