Houdini Development Toolkit - Version 9.0

Side Effects Software Inc. 2007

Compositing Operators

Guidelines for coding COPs


Here are some guidelines you should follow when creating a new COP.
  1. Do not evaluate parameters in cookMyTile(). It is a threaded method, and parameter evaluation is not threadsafe.
  2. Do not use static data in cookMyTile(), as more than one thread may be executing there.
  3. Never call inputTile() or inputRegion() from anything other than a cookMyTile()/doCookMyTile() method (or a method called by these methods).
  4. Always release the tiles and regions returned by inputTile() or inputRegion() with releaseTile() or releaseRegion() (even if an error occurs during the cook). Failure to do this will result in that memory staying allocated until the end of the cook.
  5. Never delete TIL_Regions or TIL_Tiles returned from inputRegion() or inputTile(); use the release...() methods.
  6. If a method returns a pointer to you, always check it against NULL before proceeding. Many COP methods can return NULL as a valid result.
  7. Do not delete COP2_ContextData objects. They are automatically cleaned up by the cook engine.


Hints



Table of Contents
Operators | Surface Operations | Particle Operations | Composite Operators | Channel Operators
Material & Texture | Objects | Command and Expression | Render Output |
Mantra Shaders | Utility Classes | Geometry Library | Image Library | Clip Library
Customizing UI | Questions & Answers

Copyright © 2007 Side Effects Software Inc.
477 Richmond Street West, Toronto, Ontario, Canada M5V 3E7