https://github.com/honzasp/dort
A physically based renderer
https://github.com/honzasp/dort
c-plus-plus lua minecraft photon-mapping raytracing rendering vcm
Last synced: about 1 year ago
JSON representation
A physically based renderer
- Host: GitHub
- URL: https://github.com/honzasp/dort
- Owner: honzasp
- Created: 2016-01-25T09:27:43.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-06-29T10:07:58.000Z (almost 9 years ago)
- Last Synced: 2025-01-25T20:28:43.182Z (about 1 year ago)
- Topics: c-plus-plus, lua, minecraft, photon-mapping, raytracing, rendering, vcm
- Language: C++
- Homepage:
- Size: 58.5 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dort
`dort` is a physically based renderer. It is still under heavy development, so
do not expect it to be usable in general (and correct in particular).
## Building
`dort` carries most of its dependencies in the repository (in `extern/`), the
only library that is necessary by default is **`libz`**.
To build `dort`, one also needs a C++ compiler (**clang** and **gcc** should
work), **objcopy** (part of GNU binutils), and **tup**. `tup` can be downloaded
from , either as a build-it-yourself repository or as a
Ubuntu package.
The build can be configured using file `tup.config` (see the template
`tup.config.default`). By default, only the development version of the program
is built; other versions can be enabled using `CONFIG_FAST=y` (fast, optimized
build) or `CONFIG_SLOW=y` (slow, debug build). The different versions of the
binary will be built in different directories:
- development version -- `build/d/dort`
- fast version -- `build/f/dort`
- debug version -- `build/g/dort`
To build all enabled versions, run `tup`. Use `tup build/{d,f,g}/dort` to
compile only a single version.
If enabled, `dort` can also link to Gtk to support a simplistic GUI, but this is
somewhat deprecated and will probably be removed in the future. Otherwise, the
only runtime dependency is to the default `libc`, other libraries should be
linked in statically.
## Usage
The produced `dort` binary is a Lua interpreter that exposes the rendering API
in Lua. To run a Lua program, invoke `dort `.
To obtain the documentation of the Lua API, install
[ldoc](https://github.com/stevedonovan/LDoc) and run `ldoc .` in the repository.
The generated documentation will be stored in `.ldoc/`. We do not publish the
documentation on a public website because `dort` is not quite ready for this
yet.
## Samples
Example Lua scripts that render images are stored in the `samples/` directory.
Do not be deceived into opening `examples/`! It contains various files that have
been used during development and that were convenient to store in git.
Some historical images documenting the progress of development can be found in
`images/`.