Giter Club home page Giter Club logo

dort's Introduction

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 http://gittup.org/tup/, 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 <program.lua>.

To obtain the documentation of the Lua API, install 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/.

dort's People

Contributors

honzasp avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.