Getting Started:
Scene reference
- File Format
- PExpr
- Externals
- Shapes
- Entities
- BSDFs
- Smooth diffuse (diffuse)
- Rough diffuse (roughdiffuse)
- Smooth dielectric (dielectric)
- Rough dielectric (roughdielectric)
- Perfect smooth mirror (mirror)
- Smooth conductor (conductor)
- Rough conductor (roughconductor)
- Smooth plastic (plastic)
- Rough plastic (roughplastic)
- Phong (phong)
- Disney Principled (principled)
- Blend (blend)
- Mask (mask)
- Cutoff (cutoff)
- Passthrough (passthrough)
- Normal mapping (normalmap)
- Bump mapping (bumpmap)
- Klems (klems)
- TensorTree (tensortree)
- Media
- Lights
- Textures
- Cameras
- Techniques
Python API
Compiling¶
The active development is done on a linux operating system (Ubuntu in particular). The raytracer is platform independent to a large extend and should work for Windows operating systems. However, this was never tested. Currently, the Ignis project targets Linux only, but Windows and hopefully Mac OS support should follow in the future.
Linux¶
A quick and dirty tutorial to show how to setup AnyDSL and Ignis on a typical Linux OS.
The following will need ccmake, but works also with cmake-gui or with plain cmake as well.
Clone AnyDSL from https://github.com/AnyDSL/anydsl
Copy the
config.sh.templatetoconfig.sh.Change
: ${BUILD_TYPE:=Debug}to: ${BUILD_TYPE:=Release}insideconfig.shOptional: Use
ninjainstead ofmakeas it is superior in all regards.Run
./setup.shinside a terminal at the root directory and get a coffee.
Clone Ignis from https://github.com/PearCoding/Ignis
Make sure all the dependencies listed in official top README.md are installed.
Run
mkdir build && cd build && cmake ..Run
ccmake .inside thebuild/directory.Change
AnyDSL_runtime_DIRtoANYDSL_ROOT/runtime/build/share/anydsl/cmake, withANYDSL_ROOTbeing the path to the root of the AnyDSL framework.Select the drivers you want to compile. All interesting options regarding Ignis start with
IG_Run
cmake --build .inside thebuild/directory and get your second coffee.
Run
./bin/igview ../scenes/diamond_scene.jsoninside thebuild/directory to see if your setup works.