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.

3.1 FRep API<br />

• ID_TYPE is an attribute of the entity class and used to identify an entity’s type such as<br />

FREP_SPHERE_ID or FREP_BOX_ID.<br />

• ENTITY_NODE_T can be created from an ENTITY_T and c<strong>on</strong>ta<str<strong>on</strong>g>in</str<strong>on</strong>g> additi<strong>on</strong>al <str<strong>on</strong>g>in</str<strong>on</strong>g>formati<strong>on</strong><br />

like parent and child nodes. This is used for FRep tree and traversal.<br />

• ENTITY_FACTORY_T is a factory class generat<str<strong>on</strong>g>in</str<strong>on</strong>g>g entities.<br />

Figure 3.2: The FRep entity UML-diagram (Kravtsov 2011)<br />

3.1.3 The FRep tree<br />

The next step is to create the nodes and entities shown <str<strong>on</strong>g>in</str<strong>on</strong>g> Secti<strong>on</strong> 3.1.2 and establish relati<strong>on</strong>ships<br />

between them. Nodes can represent both primitives and operati<strong>on</strong>s and comb<str<strong>on</strong>g>in</str<strong>on</strong>g><str<strong>on</strong>g>in</str<strong>on</strong>g>g<br />

them to form an FRep tree can help us build<str<strong>on</strong>g>in</str<strong>on</strong>g>g complex models.<br />

Figure 3.3 shows an example of such a tree as represented with<str<strong>on</strong>g>in</str<strong>on</strong>g> Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i. To expla<str<strong>on</strong>g>in</str<strong>on</strong>g> the<br />

details of the tree evaluati<strong>on</strong> with<str<strong>on</strong>g>in</str<strong>on</strong>g> the API would go bey<strong>on</strong>d the scope of this project. It<br />

is however important to understand that FRep nodes relate to <strong>on</strong>e another and that child<br />

nodes can be added to any node. The <str<strong>on</strong>g>in</str<strong>on</strong>g>termediate layer has its own tree traversal algorithm<br />

to gather the required data as expla<str<strong>on</strong>g>in</str<strong>on</strong>g>ed <str<strong>on</strong>g>in</str<strong>on</strong>g> Secti<strong>on</strong> 4.4.2.<br />

7

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

Saved successfully!

Ooh no, something went wrong!