  Efficient authoring of vast virtual environments hinges on algorithms that
are able to automatically generate content while also being controllable. We
propose a method to automatically generate furniture layouts for indoor
environments. Our method is simple, efficient, human-interpretable and amenable
to a wide variety of constraints. We model the composition of rooms into
classes of objects and learn joint (co-occurrence) statistics from a database
of training layouts. We generate new layouts by performing a sequence of
conditional sampling steps, exploiting the statistics learned from the
database. The generated layouts are specified as 3D object models, along with
their positions and orientations. We show they are of equivalent perceived
quality to the training layouts, and compare favorably to a state-of-the-art
method. We incorporate constraints using a general mechanism -- rejection
sampling -- which provides great flexibility at the cost of extra computation.
We demonstrate the versatility of our method by applying a wide variety of
constraints relevant to real-world applications.
