extending houdini with hdk -...

20
Extending Houdini with HDK Björn Rydahl Technical Director Fido Stockholm

Upload: vannhu

Post on 20-Aug-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Extending Houdini with HDK

Björn RydahlTechnical DirectorFido Stockholm

Houdini Overview

• Sop (surface-operator)• Pop (particle-operator)• Dop (dynamics-operator)• Vop (VEX-operator)• Rop (Render-operator)• Python + HScript

Simple Terragen – Using Python

• Why use C++ when we can use python?• Simple python example• Rigid Multifractal – based on fBm noise

Simple Terragen – Using VEX

• Problems with the python approach?• Slow• Resolution

• Simple displacement shader • VEX – similar to RenderMan SL

Simple Terragen – Using C++

• Problems• Resolution – solved using VEX at rendertime• Slow – How can we solve that?

• Implement Sop using C++ and the HDK• More problems?

•Duplicate code•Transfer parameters

HDK – what/where is it?

• Development kit• $HFS/toolkit• Access to same functionality as sidefx programmers

HDK – Compile & Debug

• use hcustom or makefile (makefile preffered)• Debugging = difficult• Debugger• Houdini assertations• cout• start houdini from terminal -> enables output• Visual Studio

HDK – Houdini Operators

• Node structure• Unique path like ”/obj/myGeo/sphere1”• Nodes are very similar and should be arranged into collections• Inheritage!

HDK – Houdini Operators

• / root node is called the Director (OP_Director)• Objects in the director are called managers• /obj is a manager for objects• OP_OperatorTable defines possible children

HDK – Houdini Operators

Registration of a SOP

HDK – Houdini Operators

Parameters

HDK – Houdini Operators

Cook function

HDK – Houdini Geometry

HDK – Houdini Geometry

HDK – Extending VEX

HDK – Utility functions

• UT_Vector3• UT_Matrix4• VM_Math – uses SIMD (SSE)• UT_ThreadedAlgorithm• UT_Pnoise

HDK – Extending Mantra

• Procedural primitives• Similar to GPU geometry-shader• Mark Story – clusterThis

HDK – Ocean Toolkit

• Fido Ocean Toolkit• Sop – preview• Vex_Op - rendering• Use paint node to gain control

HDK – SPH

• Houdini particles as source• Velocity on particles• Houdini signed distance fileds for collision• Houdini force fields• Simulation data attached to output

HDK – Exercise