I have implemented a Path Tracer and a Bidirectional Path Tracer based on the brilliant SmallVCM code using Optix 3.0.1 (I'm going to update it with the fresh new Optix 3.5).
You can download the demos here (based on your compute capability):
Pathtracer SM2.0: https://drive.google.com/file/d/0B5XiKs ... x0cHlGVmM/
Pathtracer SM3.0: https://drive.google.com/file/d/0B5XiKs ... VYMTh1ekE/
Bidirectional SM2.0: https://drive.google.com/file/d/0B5XiKs ... ZPNFRDSWM/
Bidirectional SM3.0: https://drive.google.com/file/d/0B5XiKs ... BjZlh3MWc/
N.B.: the SM3.5 seems not work for some reason on which I'm investigating.
This is a work in progress. Actually the demo use a single sample per pixel. Some keys:
- o: change the object;
- n: change the object material;
- space: change light conditions;
- 0-9: change max path depth (0 = 10, default = 5);
- 'z' (Path Tracer only): toggle the stratified sampling (this make rays more coherents and produces about 30% of speedup. I'm aware of the strange effects when you activate the stratified sampling.);
The scene is completely made of triangles (loaded from .obj files).
Actually I have only tested the SM2.0 because my video card is quite old

- AGPX