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.

4.4 <str<strong>on</strong>g>Procedural</str<strong>on</strong>g> functi<strong>on</strong>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g> <str<strong>on</strong>g>in</str<strong>on</strong>g> Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i<br />

4.4.3 Polyg<strong>on</strong>isati<strong>on</strong><br />

As menti<strong>on</strong>ed <str<strong>on</strong>g>in</str<strong>on</strong>g> Secti<strong>on</strong> 4.4.1 about the FRep <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g> workflow, an frep_node is added<br />

to the end of the network. This node has two ma<str<strong>on</strong>g>in</str<strong>on</strong>g> tasks. The first is travers<str<strong>on</strong>g>in</str<strong>on</strong>g>g all nodes<br />

<str<strong>on</strong>g>in</str<strong>on</strong>g> order to gather all parameters and build the FRep tree as described <str<strong>on</strong>g>in</str<strong>on</strong>g> Secti<strong>on</strong> 4.4.2. The<br />

sec<strong>on</strong>d task of the node is to pass the tree to the polyg<strong>on</strong>iser of the FRep API and then<br />

assign the generated mesh data to Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i’s geometry structures.<br />

The polyg<strong>on</strong>iser has a number of attributes that can be manipulated via the user <str<strong>on</strong>g>in</str<strong>on</strong>g>terface.<br />

The bound<str<strong>on</strong>g>in</str<strong>on</strong>g>g box, grid resoluti<strong>on</strong> and surface generati<strong>on</strong> method can be def<str<strong>on</strong>g>in</str<strong>on</strong>g>ed. An example<br />

of the analytic method is shown <str<strong>on</strong>g>in</str<strong>on</strong>g> Figure 4.7.<br />

Figure 4.7: Polyg<strong>on</strong>isati<strong>on</strong> us<str<strong>on</strong>g>in</str<strong>on</strong>g>g analytic normals and a subdivisi<strong>on</strong> level of 3<br />

Assign<str<strong>on</strong>g>in</str<strong>on</strong>g>g the data received from the polyg<strong>on</strong>iser is fairly straight-forward, keep<str<strong>on</strong>g>in</str<strong>on</strong>g>g the <str<strong>on</strong>g>in</str<strong>on</strong>g>ternal<br />

structure of Houd<str<strong>on</strong>g>in</str<strong>on</strong>g>i’s geometry architecture (see Secti<strong>on</strong> 3.2.4) <str<strong>on</strong>g>in</str<strong>on</strong>g> m<str<strong>on</strong>g>in</str<strong>on</strong>g>d.<br />

4.4.4 FRep Operati<strong>on</strong>s<br />

Blend<str<strong>on</strong>g>in</str<strong>on</strong>g>g<br />

There is a variety of operati<strong>on</strong>s possible. For c<strong>on</strong>venti<strong>on</strong>al boolean <str<strong>on</strong>g>modell<str<strong>on</strong>g>in</str<strong>on</strong>g>g</str<strong>on</strong>g>, the CSG node<br />

can be used for uni<strong>on</strong>, <str<strong>on</strong>g>in</str<strong>on</strong>g>tersecti<strong>on</strong> and subtracti<strong>on</strong> operati<strong>on</strong>s (see Figure 4.8). The Blend<br />

node is similar to the CSG node but provides more user c<strong>on</strong>trol, offer<str<strong>on</strong>g>in</str<strong>on</strong>g>g three parameters to<br />

c<strong>on</strong>trol the blend<str<strong>on</strong>g>in</str<strong>on</strong>g>g and achieve various results as shown <str<strong>on</strong>g>in</str<strong>on</strong>g> Figure 4.9. This c<strong>on</strong>cept is taken<br />

even further us<str<strong>on</strong>g>in</str<strong>on</strong>g>g bounded blend nodes, allow<str<strong>on</strong>g>in</str<strong>on</strong>g>g local c<strong>on</strong>trol of blend<str<strong>on</strong>g>in</str<strong>on</strong>g>g (see Figure 4.10).<br />

23

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

Saved successfully!

Ooh no, something went wrong!