An open API service indexing awesome lists of open source software.

https://github.com/lancelet/scalari

Scala RenderMan Bindings
https://github.com/lancelet/scalari

Last synced: 3 months ago
JSON representation

Scala RenderMan Bindings

Awesome Lists containing this project

README

        

= ScalaRi - RenderMan Bindings for Scala =

== Introduction ==

ScalaRi is a simple https://renderman.pixar.com/products/rispec/index.htm[RenderMan](TM) binding for the http://www.scala-lang.org/[Scala] language. RenderMan is a scene description language for computer graphics, developed by http://www.pixar.com/[Pixar]; it can be thought of as a kind of "Postscript(TM) for 3D", or maybe as an "OpenGL(TM) for Advanced Graphics". Scala is a hybrid object/functional language that runs on the Java Virtual Machine (JVM).

ScalaRi itself has no connection whatsoever with Pixar.

== Prerequisites ==

To create images with ScalaRi, you will need a RenderMan compatible renderer. We recommend one of the following Open Source renderers:

- http://www.aqsis.org/[Aqsis] is a good implementation of the majority of the RenderMan specification, using the REYES rendering algorithm (which is similar to the algorithm used in Pixar's original PRMAN renderer).
- http://www.renderpixie.com/[Pixie] implements less of the RenderMan specification (for example, it lacks Constructive Solid Geometry), but includes more advanced rendering methods than Aqsis, such as global illumination.

Depending upon the range of effects you wish to utilise, one or both of these renderers may be of use to you. They both have tradeoffs, so it is worth thoroughly investigating them. You can still create RIB files without a renderer, but the renderer is required to turn those text files into images.

You will also require http://www.scala-lang.org/[Scala 2.9.1] and the https://github.com/harrah/xsbt[Simple Build Tool] (version 0.11.2) for Scala.

== Installation ==

Check out the project from GitHub (this command uses the Git Read-Only repository):

--------------------------------------
$ git clone git://github.com/lancelet/scalari.git
--------------------------------------

This will create a new directory called `scalari`. Next, use https://github.com/harrah/xsbt[sbt] to compile the project:

--------------------------------------
$ cd scalari
$ sbt
--------------------------------------

https://github.com/harrah/xsbt[sbt] will launch, and collect everything it needs for the project. Within the https://github.com/harrah/xsbt[sbt] prompt system, you can then run:

--------------------------------------
> compile
> run
--------------------------------------

The last command assumes you have Aqsis installed. It will use Aqsis to render a CSG example.