14.11.2014 Views

Procedural modelling in Houdini based on Function Representation

Procedural modelling in Houdini based on Function Representation

Procedural modelling in Houdini based on Function Representation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 1<br />

Introducti<strong>on</strong><br />

In the visual effects and games <str<strong>on</strong>g>in</str<strong>on</strong>g>dustry, the predom<str<strong>on</strong>g>in</str<strong>on</strong>g>ant <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g> techniques are us<str<strong>on</strong>g>in</str<strong>on</strong>g>g<br />

polyg<strong>on</strong>al meshes. While these offer various benefits and are well <str<strong>on</strong>g>in</str<strong>on</strong>g>tegrated <str<strong>on</strong>g>in</str<strong>on</strong>g>to current<br />

pipel<str<strong>on</strong>g>in</str<strong>on</strong>g>es, they <strong>on</strong>ly represent surfaces and have a given amount of detail. As a c<strong>on</strong>sequence,<br />

<str<strong>on</strong>g>in</str<strong>on</strong>g>formati<strong>on</strong> about an object <str<strong>on</strong>g>in</str<strong>on</strong>g>ternal structure cannot be stored and <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g> of heterogeneous<br />

real-world objects is difficult. In other fields like CAD and 3D pr<str<strong>on</strong>g>in</str<strong>on</strong>g>t<str<strong>on</strong>g>in</str<strong>on</strong>g>g, the tradeoffs<br />

cannot be circumvented without effort and alternative representati<strong>on</strong>s are needed.<br />

One alternative is to use “Functi<strong>on</strong> representati<strong>on</strong> <str<strong>on</strong>g>in</str<strong>on</strong>g> geometric <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g>” as suggested by<br />

Pasko et al. (1995). The so-called FRep allows the def<str<strong>on</strong>g>in</str<strong>on</strong>g>iti<strong>on</strong> of objects, operati<strong>on</strong>s and<br />

relati<strong>on</strong>s as a mathematical functi<strong>on</strong> as opposed to po<str<strong>on</strong>g>in</str<strong>on</strong>g>t data and meshes. A lot of research<br />

<str<strong>on</strong>g>in</str<strong>on</strong>g> this field has been d<strong>on</strong>e at the NCCA. The FRep API (Kravtsov 2011) was taken as base<br />

for this project.<br />

This thesis documents the design and implementati<strong>on</strong> of a custom plug<str<strong>on</strong>g>in</str<strong>on</strong>g> for Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i that<br />

was written <str<strong>on</strong>g>in</str<strong>on</strong>g> C++ us<str<strong>on</strong>g>in</str<strong>on</strong>g>g the Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i Development Kit (HDK). Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i is a high-end 3D<br />

animati<strong>on</strong> package developed by Side Effects Software and used heavily <str<strong>on</strong>g>in</str<strong>on</strong>g> the VFX <str<strong>on</strong>g>in</str<strong>on</strong>g>dustry.<br />

Due to its node-<str<strong>on</strong>g>based</str<strong>on</strong>g> architecture, it is very suitable for procedural <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g>. Moreover,<br />

many of the c<strong>on</strong>cepts <str<strong>on</strong>g>in</str<strong>on</strong>g> the FRep API, like for example the tree and node structure, translate<br />

and <str<strong>on</strong>g>in</str<strong>on</strong>g>tegrate very well <str<strong>on</strong>g>in</str<strong>on</strong>g>to the software.<br />

Chapter 2 gives an overview of the topic and related research. In Chapter 3, the relevant<br />

c<strong>on</strong>cepts of the APIs used, namely the exist<str<strong>on</strong>g>in</str<strong>on</strong>g>g FRep API and the Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i Development Kit,<br />

are <str<strong>on</strong>g>in</str<strong>on</strong>g>troduced. Chapter 4 documents the c<strong>on</strong>ceptual design of the plug<str<strong>on</strong>g>in</str<strong>on</strong>g> and further details<br />

particular to the development envir<strong>on</strong>ment and workflow. Furthermore, the <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g> process<br />

and key algorithms are expla<str<strong>on</strong>g>in</str<strong>on</strong>g>ed. Chapter 5 presents results and gives an idea over potential<br />

applicati<strong>on</strong>s. The results are evaluated <str<strong>on</strong>g>in</str<strong>on</strong>g> Chapter 6 where future work and improvements<br />

are discussed.<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!