FrequentlyAskedQuestions
From Odwiki
Running Houdini
Q: I am getting bad drawing or slow user interface problems. What should I do?
- If you've just installed Houdini and you have a low-end consumer video card - which really is almost anything less than a Quadro - you might find that Houdini might be slow or have display issues due to the oftentimes incomplete support of the full OpenGL spec. So, in order, the approach is to:
- Install the latest drivers for your video card.
- If you shaded mode is just slow, perhaps go to the viewport DisplayOptions and turn off Projected Textures and Transparency
- If your wireframe mode is slow, in your Preferences or Display Options, turn off Smooth Lines for geometry
- If you're having show-stopping problems, try setting the OpenGL support to software rendering by setting the EnvironmentVariable called HOUDINI_OGL_SOFTWARE to 1 and restart Houdini. This is obviously not ideal and so keep trying later builds of Houdini and also keep checking the card manufacturer's website for updates to their drivers.
- Also, if you've been upgrading Houdini a lot (say during Beta testing), you might that there might've been a small change to the configuration files in $HOME/houdiniX.X and your icons disappear or your desktop layouts get corrupted. In this case you can either go into that directory and delete the appropriate sounding file(s), or just move the entire houdiniX.X directory name to some other name, or just delete it if you're sure you don't have any OTLs or anything else under that directory you need to keep.
Q: Houdini/Mantra seems to be running extremely slow compared to how I've seen it run on other machines.
- Try disabling firewalls running on your machine.
- Try disabling virus protection temporarily.
Modeling
Q: I need to do basic UV texturing where I should start with are there any tutorials for it? eg. I want to Unwrap a model and texture it in photoshop.
There are variety of tools for laying out UVs within Houdini - UVEditSOP, UVBrushSOP, UVUnwrapSOP, UVProjectSOP, UVTextureSOP, UVPeltSOP (See UVPelting) and a few 3rd party plugins too (LSCMMapping, UnWarp). Once you've laid out your UV's, you can RMB on the SOP node you wish to paint texture for and "Save Texture UV To Image..." and you can save out a guide for you to import into your paint package of your choice. This can act as a Layer in Photoshop, for instance.
Q: How do I cut a polygon curve into multiple segment primitives?
Append a Carve SOP. Enable First U and set it to 0. Enable Second U and set it to 1. Now switch to Breakpoints and enable Cut At All Internal U Breakpoints.
Rendering
Q: How do I render the color (Cd) attribute?
Note that since Houdini 9, there are many materials on the palette which have an option for using Cd built into them. The materials contain a parameter vop named Cd which will read the attributes and then factor them into the rest of the vop network.
If you are using materials from another source you could use an Attribute SOP to rename Cd to the corresponding shader parameter. For many shaders, this is diff.
In case you are using the Mantra: Sprite Procedural node you also have to specify which point attributes should get copied to the sprite. This is done by adding the point attribute name (without the Dollar sign, separated by Whitespace) to the Mantra: Sprite Procedural's Attributes field.
Q: How do I bake textures?
For how to bake textures using mantra, please read this page on ShaderUnwrapping.
Q: How can I speed up or improve quality in my mantra renders?
Please see MantraOptimizations for some tips.
Q: How would I defeat graininess in my Mantra renders? And what is mantras highest AntiAliasing level?
If you are experiencing grainy MotionBlurred images, or images simulating DepthOfField, please be aware that you can increase Mantra's SuperSampling to 64x64. Most the the time once the images are in motion, it looks absolutely fine, so don't be tricked by a still image. Also, in the case of Depth Of Field, it's worth the effort to investigate the DepthOfFieldCOP in the compositing context, COPs. For many cases this works adequately but may not suffice if you have objects in the foreground out of focus - or when objects are motion blurring because the DepthMap you need to generate cannot represent motion blur correctly for your typical scene. Note: Mantra clamps the DeepRaster pixel samples internally to 32x32, so 64x64 is clamped to 32x32 internally. If you're trying to defeat graininess in PBR renders, you can find yourself setting your Min Ray Samples to very high values - like 100 or more. However, with PBR, you may want to look into accelerating rendering using PhotonMapping.
General
Q: How do I find out what version of Houdini a .hip file was saved in?
Run this in a UNIX shell
strings the_file.hip | grep SAVEVERSION
This will spit out a variable "SAVEVERSION" which tells you what houdini version was used when saving the file.
Or, open the hip file in a text editor such as WordPad, and on approximately the 17th line, you will read a line that says something like: "set -g _HIP_SAVEVERSION = '9.0.606'"
Q: How can I access an image generated by COPs in a shader? How can I access the output of a SOP in a VEX operator?
In the filename field of a shader, you can simply state the full path to a node if you prepend "op:" to the beginning of the string.
eg.
In a shader or VEX operator: op:/img/img1/blur1 In a VEX operator: op:/obj/geo1/grid1
You may want to use some COP's image or some SOP's geometry in a POP/SOP/CHOP/COP VEX operator. The filename field for Geometry Function VEX calls like intersect() or getbounds() or metaweight() can be specified using the above syntax. This may also be of particular use in the VexPointCloud functions where you need to read in external point clouds.
It's also possible to reference a COP's image in a mantra shader using the same syntax. However, this image will not be filtered as well as a .rat file (which is the preferred method of using textures in mantra). Referencing a COP will force Houdini to send the image to the mantra process as part of the .ifd (which means that there's extra time/resources spent writing the .ifd).
Q: How does Houdini use multiple CPUs or cores? Does it multithread?
This information is valid as of Houdini 10
Houdini itself uses a single thread. Some areas of Houdini allow MultiThreading though.
- All VEX operators will multi-thread (SOPs, COPs, etc). There is an option in the parameter box of all VEXops to perform MultiThreading. CVEX operations are also multithreaded, as of 10.0 (this includes nodes like Volume VOP SOP, the Fur SOP and all the other user CVEX operations)
- The compositor (COPs) is also threaded where possible, outside of VEX. See below for GPU information.
- Certain operators in Houdini which benefit most from multithreading are threaded on a case-by-case basis; for example, the DeformMuscleSOP.
- Many of the DOPs nodes are multithreaded too, in particular, some of the the Gas FluidSimulation microsolver nodes, which make all Liquid, Smoke and Fire simulations partially multithreaded.
- The grid-based and the particle fluids as well as the GasUpResSolverDOP are all also able to be Distributed. This allows these operation to be divided up amongst multiple render hosts, and/or many individual processes on the same machine (MultiiProcessing). This distributed mode works out to be more efficient than multithreading when doing non-interactive/offline simulation rendering, especially if you have adequate RAM (as each process needs it's own RAM allocation).
- The renderer Mantra uses both MultiProcessing as well as MultiThreading. If you launch mantra with -n 2 or -H localhost,localhost you can render one frame with two processes. If you use -j 2, it'll use two threads, and so on. You can make this number as large as you like or is practical. The Mantra ROP will, by default, multithread with one thread per processor ('Max Processors') - which is the same as using the -j 0 commandline switch.
- If you have a farm you can render on multiple hosts (Distributed rendering). Please see MantraRemoteRendering for more information.
- Apprentice Note: Mantra's MultiProcessing is disabled in the Apprentice version of Houdini. MultiThreading will work in Apprentice, however. HQueue also requires a commercial license.
Q: Does Houdini use GPUs?
This information is valid as of Houdini 10.
- Compositing The compositor can use OpenGL acceleration for some operations, where OpenGL provided a reasonable performance improvement. You can enable this in Edit->Preferences->Compositing, Cooking tab, "Use GPU to Assist Compositing". You should only enable this if you have a decent graphics card (mid to high-end), otherwise a slowdown may result. The toggle will be greyed out if the hardware or drivers do not provide adequate support. Some operations are not supported on pre-DX10 hardware (Nvidia 7x00 and lower, ATI X8x0 series and lower). Operations that are greatly accelerated are marked with a *.
- 2D transforms, including motion blur* - Fog (noisy fog*) - Z-composite - Lighting (all, volumetric*) - Environment map - all basic color corrections (bright, gamma, color curve, HSV, hue curve*, color correct, etc) - Expand* - Convolve* - Deform* - Corner Pin & Unpin - Noise (perlin, imp. perlin, sparse*, alligator*; no random)
Q: What Stereo / 3D support does Houdini have?
Houdini has a stereo camera rig which allows stereo viewing in the Viewport and in MPlay, and stereo rendering in Mantra and PrMan. Please look at the "Stereo Camera Rig" Object.
As of Houdini 10, the Viewport and MPlay supports:
- anaglyph (red/cyan)
- horizontal line interlace display format (for LCD monitors such as Hyundai W220S or W240S)



