Update Readme to better reflect current developments.
This commit is contained in:
parent
764bdbeb06
commit
5488fde20e
61
README.md
61
README.md
|
@ -1,31 +1,26 @@
|
||||||
# Overview
|
# Overview
|
||||||
|
|
||||||
Psychopath is a path tracer, aimed at rendering animations and VFX for
|
Psychopath is a path tracing 3d renderer. You can read about its development
|
||||||
film. It is currently still in an early prototyping stage of development.
|
at [psychopath.io](http://psychopath.io).
|
||||||
|
|
||||||
This project is mostly for fun, but I do hope it eventually becomes useful.
|
This project is mostly just for me to have fun, learn, and play with ideas in
|
||||||
That "for-fun" disclaimer aside, the long-term goals of Psychopath are to
|
3d rendering. I do have vague hopes that it will eventually be useful for real
|
||||||
support efficient global illumination rendering of scenes that are
|
things, but that's not a hard goal.
|
||||||
significantly larger than available RAM and/or that contain procedural elements
|
|
||||||
that need to be generated on-the-fly during rendering.
|
|
||||||
|
|
||||||
The approach that Psychopath takes to enable this is to try to access the scene
|
Unlike many for-fun 3d rendering projects, Psychopath is being designed with
|
||||||
data in as coherent a fashion as possible via breadth-first ray tracing,
|
production rendering in mind. I think that architecting a renderer to
|
||||||
allowing the cost of HDD access, expensive procedurals, etc. to be amortized
|
efficiently handle very large data sets, complex shading, motion blur, color
|
||||||
over large batches of rays.
|
management, etc. presents a much richer and more challenging problem space to
|
||||||
|
explore than just writing a basic path tracer.
|
||||||
Psychopath used to be written in C++ but is now written in [Rust](https://www.rust-lang.org).
|
|
||||||
The curious can take a look at the old C++ code-base [here](https://github.com/cessen/psychopath_cpp).
|
|
||||||
|
|
||||||
I occasionally blog about Psychopath's development at [psychopath.io](http://psychopath.io).
|
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
Building Psychopath is mostly straightforward except for its OpenEXR dependency.
|
Psychopath is written in [Rust](https://www.rust-lang.org), and is pretty
|
||||||
|
straightforward to build except for its OpenEXR dependency.
|
||||||
|
|
||||||
If you have OpenEXR 2.2 installed on your system such that pkg-config can find
|
If you have OpenEXR 2.2 installed on your system such that pkg-config can find
|
||||||
it, then as long as you have Rust (including Cargo) and a C++ compiler
|
it, then as long as you have Rust (including Cargo) and a C++ compiler
|
||||||
installed, you should be able to build with this command at the repository
|
installed, you should be able to build Psychopath with this command at the
|
||||||
root:
|
repository root:
|
||||||
|
|
||||||
```
|
```
|
||||||
cargo build --release
|
cargo build --release
|
||||||
|
@ -42,36 +37,18 @@ the same simple cargo command above.
|
||||||
If you have any difficulties, please feel free to file an issue and I'll try to
|
If you have any difficulties, please feel free to file an issue and I'll try to
|
||||||
help out as I have time!
|
help out as I have time!
|
||||||
|
|
||||||
## Current Features
|
|
||||||
- Geometry:
|
|
||||||
- Triangle meshes (both flat and smooth shading)
|
|
||||||
- Lights:
|
|
||||||
- Spherical light sources
|
|
||||||
- Rectangular light sources
|
|
||||||
- Distant disc light sources (a.k.a. sun lights)
|
|
||||||
- Motion blur:
|
|
||||||
- Camera motion blur
|
|
||||||
- Deformation motion blur
|
|
||||||
- Transform motion blur
|
|
||||||
- Focal blur / DoF
|
|
||||||
- Spectral rendering (via monte carlo sampling)
|
|
||||||
- Full hierarchical instancing
|
|
||||||
- Light Tree sampling for efficient handling of large numbers of lights. (See [this thread](http://ompf2.com/viewtopic.php?f=3&t=1938) for an overview of the technique.)
|
|
||||||
- Shading:
|
|
||||||
- A simple material system that supports single-color Lambert and GTR BRDFs assigned per-instance.
|
|
||||||
|
|
||||||
# PsychoBlend
|
# PsychoBlend
|
||||||
|
|
||||||
Included in the repository is an addon for [Blender](http://www.blender.org)
|
Included in the repository is an add-on for [Blender](http://www.blender.org)
|
||||||
called "PsychoBlend" that lets you use Psychopath for rendering in Blender.
|
called "PsychoBlend" that lets you use Psychopath for rendering in Blender.
|
||||||
However, most Blender features are not yet supported because Psychopath itself
|
However, most Blender features are not yet supported because Psychopath itself
|
||||||
doesn't support them yet.
|
doesn't support them yet.
|
||||||
|
|
||||||
If you have any trouble getting the addon working, please feel free to file an
|
If you have any trouble getting the add-on working, please feel free to file an
|
||||||
issue and I'll try to troubleshoot/fix it as I have time!
|
issue and I'll try to troubleshoot/fix it as I have time!
|
||||||
|
|
||||||
## Features Supported
|
## Features Supported
|
||||||
- Meshes (rendered as flat-shaded triangle meshes)
|
- Polygon meshes.
|
||||||
- Point, area, and sun lamps (exported as sphere, rectangle, and distant disc lights, respectively)
|
- Point, area, and sun lamps (exported as sphere, rectangle, and distant disc lights, respectively)
|
||||||
- Simple materials assigned per-object.
|
- Simple materials assigned per-object.
|
||||||
- Focal blur / DoF
|
- Focal blur / DoF
|
||||||
|
@ -82,9 +59,7 @@ issue and I'll try to troubleshoot/fix it as I have time!
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
I'm not looking for contributions right now, and I'm likely to reject pull
|
I'm not looking for contributions right now, and I'm likely to reject pull
|
||||||
requests. This is currently a solo project and I like it that way. Eventually
|
requests. This is currently a solo project and I like it that way.
|
||||||
when things become less playful/experimental I will likely want to start
|
|
||||||
collaborating, but that's quite a ways off.
|
|
||||||
|
|
||||||
However, I _do_ want people to be able to play with Psychopath, so if you have
|
However, I _do_ want people to be able to play with Psychopath, so if you have
|
||||||
trouble getting it to build/run please file an issue! And if you want to fork
|
trouble getting it to build/run please file an issue! And if you want to fork
|
||||||
|
|
Loading…
Reference in New Issue
Block a user