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
|
||||
|
||||
Psychopath is a path tracer, aimed at rendering animations and VFX for
|
||||
film. It is currently still in an early prototyping stage of development.
|
||||
Psychopath is a path tracing 3d renderer. You can read about its development
|
||||
at [psychopath.io](http://psychopath.io).
|
||||
|
||||
This project is mostly for fun, but I do hope it eventually becomes useful.
|
||||
That "for-fun" disclaimer aside, the long-term goals of Psychopath are to
|
||||
support efficient global illumination rendering of scenes that are
|
||||
significantly larger than available RAM and/or that contain procedural elements
|
||||
that need to be generated on-the-fly during rendering.
|
||||
This project is mostly just for me to have fun, learn, and play with ideas in
|
||||
3d rendering. I do have vague hopes that it will eventually be useful for real
|
||||
things, but that's not a hard goal.
|
||||
|
||||
The approach that Psychopath takes to enable this is to try to access the scene
|
||||
data in as coherent a fashion as possible via breadth-first ray tracing,
|
||||
allowing the cost of HDD access, expensive procedurals, etc. to be amortized
|
||||
over large batches of rays.
|
||||
|
||||
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).
|
||||
Unlike many for-fun 3d rendering projects, Psychopath is being designed with
|
||||
production rendering in mind. I think that architecting a renderer to
|
||||
efficiently handle very large data sets, complex shading, motion blur, color
|
||||
management, etc. presents a much richer and more challenging problem space to
|
||||
explore than just writing a basic path tracer.
|
||||
|
||||
## 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
|
||||
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
|
||||
root:
|
||||
installed, you should be able to build Psychopath with this command at the
|
||||
repository root:
|
||||
|
||||
```
|
||||
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
|
||||
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
|
||||
|
||||
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.
|
||||
However, most Blender features are not yet supported because Psychopath itself
|
||||
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!
|
||||
|
||||
## 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)
|
||||
- Simple materials assigned per-object.
|
||||
- Focal blur / DoF
|
||||
|
@ -82,9 +59,7 @@ issue and I'll try to troubleshoot/fix it as I have time!
|
|||
# Contributing
|
||||
|
||||
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
|
||||
when things become less playful/experimental I will likely want to start
|
||||
collaborating, but that's quite a ways off.
|
||||
requests. This is currently a solo project and I like it that way.
|
||||
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user