Procedural modeling with signed distance functions
[pdf download] [back to list] [ home]
Procedural modeling with signed distance functions (Lorenz Diener), Bachelors Thesis, February 2012
Bibtex Entry:
  title        = {Procedural modeling with signed distance functions},
  author       = {Diener, Lorenz},
  year         = 2012,
  month        = feb,
  school       = {Karlsruher Institut für Technologie},
  supervisor   = {Dachsbacher, Karsten and Reiner, Tim},
  abstract     = {Procedural modeling is the modeling of scenes using algorithms instead of explicit
    lists of geometry specified vertex by vertex. The implicit procedural approach to modeling has
    several advantages over describing scenes in an explicit fashion, such as the possibility to
    have levels of detail that would be impossible to store explicitly, as the memory requirements
    would be prohibitive – even an infinite level of detail is possible when the scene description
    can simply provide the detail as soon as it becomes necessary during the rendering process. It
    is obvious, then, that describing scenes or objects procedurally is desirable. However, while
    intuitively accessible modeling tools for the creation of explicit geometry abound, there are
    only very few and hardly any mature tools or frameworks for the procedural modeling of objects
    or scenes. This thesis will give an overview over the current state of procedural modeling
    frameworks. After explaining the theoretical concepts required for its understanding, it will go
    into detail about a specific type of procedural modeling – modeling with implicit surfaces, with
    rendering based on distance functions – and introduce a tool which can be used to accomplish
    this task. It will then introduce improvements made to this tool throughout the course of this
    thesis, including the development of a cache enabling the real-time use of previously
    prohibitively expensive noise functions, and finally discuss and summarize its now extended
  url          = {},