Skip to content
mattloper edited this page Sep 15, 2014 · 17 revisions
OpenDR logo

The OpenDR, or Open Differentiable Renderer, can be used for rendering and optimisation to image evidence:

  • Rendering is achieved by constructing and initialising one of the renderers available in OpenDR.
  • Optimization is achieved by minimising an objective that includes one or more renderers.

OpenDR is designed to be concise: it should not take many lines of code to construct a scene and optimize it towards image evidence. The technical details of its operation were published in the European Conference on Computer Vision in 2014.

If you experience technical difficulties, feel free to add an issue to the issue tracker (requires free signup to github), or to contact the first author of our paper. Because of time constraints, we cannot guarantee a timely response to every question.

Installation

OpenDR is currently unit-tested on OS X and Ubuntu. Instructions specific to those platforms are as follows:

Demonstration scripts

OpenDR includes sample scripts, which can be seen by typing the following:

import opendr
opendr.demo() # prints out a list of possible demos

Rendering with OpenDR

The following prints and executes the code for illuminating of a sphere mesh with one point light source. For a step-by-step explanation of the code used in this demo, click here.

import opendr
opendr.demo('point_light')

Point light demo

Optimization with OpenDR

The following prints and executes the code for optimizing a texture-mapped mesh of earth to image evidence. For a step-by-step explanation of the code used in this demo, click here.

import opendr
opendr.demo('optimization')

Optimization demo