Synthetic Light Field

3D Graphics Systems: Course Project

Prof. Luiz Velho | impa | march-june, 2016

J. Ezequiel Soto S.

[ CODE @ GitHub ]

Project idea

The objective of the project is to build a fully functional 3D Graphics System with the ability to generate a synthetic light field of the 3D scenes using arbitrary user-defined camera arrays. The objective is to get to learn and implement the main features of light fields, including the depth of field and light diffusion phenomena simulation.

Since the course assignments are progressive steps towards the 3D Graphics System, this page will relate the main developments in the system trough their solution, as well as the advances with the main project. This will mantain the project well documented and open to discussion and assesment by the professor.



  • Synthetic scenes were generated using the S3D software and its tools developed along the course assignments.
  • An interactive viewer allowing free camera movement in the scene was programmed. In the viewer, the desired view of the image can be transformed in a light field automatically. [ code ]
  • The program generates JPG images and an xml file formated and arranged to work with the flash light field viewer developed by Andrew Adams at Stanford University for The (New) Stanford Light Field Archive.
  • The results can be viewed in a local copy of the viewer with my own scenes in the following links.


Presentation of the results in class [ pdf ].

Angular camera array (no depth field).
[ Web application ]

Parallax camera array (no depth field).
[ Web application ]

Angular camera array (no depth field).
[ Web application ]

Parallax camera array (no depth field).
[ Web application ]

Angular camera array (no depth field).
[ Web application ]

Future work

  • Study the sampling and reconstruction aspects of the light field: 4D filters and anti-aliasing.
  • Develop the depth field computation for improving the focus distances in both synthetic and captured images.
  • Combine the code generated with high quality 3D image renderers to obtain realistic results.

Assignment 7 + 8

Hierarchies and Animation / Viewing Transformations

Assignment 6

Modeling Techniques

TABLE.- Volumes of CSG objects estimated using regular 3D grids and point classification
Step sizeSphere \ CylinderSphere & SphereSphere \ Cylinder(Sphere & Cone) | Cylinder
1 u3037.0000003623.0000002776.0000001540.000000
1/2 u3025.5000003604.8750002729.0000001465.750000
1/4 u3024.1718753593.5468752724.5625001426.078125
1/8 u3023.3925783586.2597662721.6796881404.019531
1/16 u3023.0903323581.5563962722.5468751393.501709
1/32 u3023.3536683579.0630802721.4619141388.193878


Assignment 5

Primtives and Meshes

Part 1

Part 2

The code for testing the previous functions was integrated with a command line parser for primitives, inspired in the calculator parser. [ code ]