Found 137 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Clipping a height field by height
- andrewc
- 1002 posts
- Offline
Yeah I tried that - it changes the min height in the height field but doesn't actually clip the surface below that height.
Houdini Indie and Apprentice » Clipping a height field by height
- andrewc
- 1002 posts
- Offline
I'm looking at rendering a height field along with a water plane and would like to clip the height field to remove parts that are underwater. Would anyone know if there is a way to do this without converting to polygons first?
Technical Discussion » Caustic light waring
- andrewc
- 1002 posts
- Offline
This warning existed in some earlier builds of H13 but it should be fixed in the latest build. Could you verify? If it's still broken, post your .hip file and I'll take a look.
Andrew
Andrew
Houdini Lounge » Embree - Photo-Realistic Ray Tracing Kernels
- andrewc
- 1002 posts
- Offline
Mantra 12.5's BVH uses a similar 4-way SIMD intersection algorithm to Embree's SSE incoherent ray intersector - when it was added to mantra, comparing it to embree showed it was pretty close performance-wise. I know Embree was somewhat limited at the time (only triangle intersections, and no motion blur) but it seems they may have removed some of these limitations in the recent release. We'll definitely be watching this project to see if there are more techniques that can help mantra rendering.
Andrew
Andrew
Technical Discussion » Shader calls for built-in otl *.vex file
- andrewc
- 1002 posts
- Offline
H12.5 was recently updated to allow “import” to also find shaders that exist in the opdef path - so if you have the otl loaded, “import” should find it. This currently doesn't work with cvex_bsdf, though this may be supported in a future build.
Andrew
Andrew
Technical Discussion » OpenVDB Volume Procedural?
- andrewc
- 1002 posts
- Offline
There's no way to create an openVDB volume or houdini geometry volume at render time aside from writing your own VRAY_Procedural in the HDK. The VEX volume procedural doesn't allow the creation of a VDB volume (or a houdini volume for that matter) - it's a way to specify a volume as a cvex shader that is point sampled by mantra's volumetric ray marcher. No intermediate voxel storage is created by the VEX volume procedural.
You could use the delayed load procedural for VDB and for houdini volumes if you have a .bgeo on disk storing the volume and wish to load it at render time.
Andrew
You could use the delayed load procedural for VDB and for houdini volumes if you have a .bgeo on disk storing the volume and wish to load it at render time.
Andrew
Technical Discussion » hbatch/ip render - different times?
- andrewc
- 1002 posts
- Offline
The IPR will only switch micropolygon renders to ray tracing if “preview” is on. Preview is impossible with micropolygon renders which is why this change is applied automatically. You can see the rendering engine used to produce the render in the top left corner of the render view or in mplay (eg. “/out/mantra1(raytracing)”) to make sure it matches what you expect. If preview is off the render should be the same as the ROP render, as long as the same camera is selected.
This doesn't explain the different render times you were seeing between the render view (with preview off) and the ROP, though.
Andrew
This doesn't explain the different render times you were seeing between the render view (with preview off) and the ROP, though.
Andrew
Technical Discussion » hbatch/ip render - different times?
- andrewc
- 1002 posts
- Offline
Try comparing the render view render with a render from the mantra ROP in houdini. Also check if your camera is the same as the one used in the render view (I'm assuming the ROP is the same).
Technical Discussion » Subsurface Vex Function
- andrewc
- 1002 posts
- Offline
There is no subsurface() function in VEX. To see how to call SSS code from VEX your best bet would be to look at the implementation of the “Physical SSS” VOP - of if you can use VOPs, this node would be used directly or through the surface model VOP. To see the VEX code, look in the “Type Properties” code tab.
Technical Discussion » (render time) Creating Displaced geometry cache?
- andrewc
- 1002 posts
- Offline
It isn't possible to cache displaced geometry from frame to frame. Even if the camera moves, it's possible that mantra might dice the geometry differently between frames since the dicing is view-dependent. For example, a moving camera could uncover some geometry that was previously hidden, causing it to displace on the new frame.
Andrew
Andrew
Houdini Lounge » Export bsdf output as image plane?
- andrewc
- 1002 posts
- Offline
The bsdf is a function (not a float or vector) that describes how the surface reflects light from different pairs of lighting and viewing angles. It's not a single value, so it can't be exported to an image plane. However you can extract its albedo (reflectivity) using the albedo node for export in a vector image plane. The surface model has the “direct_reflectivity” plane which does that.
Andrew
Andrew
Technical Discussion » double displacement and dicing
- andrewc
- 1002 posts
- Offline
There's no way in mantra to run displacements in sequence as you describe - you'd need to build up the displacement layers in a single shader. Redicing just measures the size of the displaced geometry and makes a decision on how finely to dice the final mesh based on this trial evaluation, but it's running the same displacement in both cases (to produce the measured and final displaced points).
Andrew
Andrew
Technical Discussion » Houdini 12.5 geometry light point clouds
- andrewc
- 1002 posts
- Offline
I'm not sure why it would not emit light without the point cloud, perhaps submit a question to support with your file and we can have a look.
Technical Discussion » Houdini 12.5 geometry light point clouds
- andrewc
- 1002 posts
- Offline
The weight channel is created as a product of the volume and Cd for volumes or volume and A for surfaces. It's used in the pcopenlod() method to determine how much each point contributes to the result. You might want to look at the shaders that are involved in this process to get a better idea of how the channels are created and used:
pcwriter.vfl (fog shader) - used for writing out the auto-generated points
sampler_pclight.vfl (light shader) - used for sampling the point cloud
tracer_pclight.vfl (light shader) - used to trace the geometry for the geometry light
These should now be in the shipped baseline in $HH/vex
Andrew
pcwriter.vfl (fog shader) - used for writing out the auto-generated points
sampler_pclight.vfl (light shader) - used for sampling the point cloud
tracer_pclight.vfl (light shader) - used to trace the geometry for the geometry light
These should now be in the shipped baseline in $HH/vex
Andrew
Technical Discussion » Houdini 12.5 geometry light point clouds
- andrewc
- 1002 posts
- Offline
I'm a little confused about exactly how you're trying to set this up, but it's one of the following:
1) You want to use auto-generation to create the points, exactly the way it's done with built-in shaders. In this case, you just need to set up a Ce export parameter (vector type) on your custom shader and assign something to this for the emission. The simplest possible case is to plug in a constant multiplied by dPdz for a volume, or just a constant for a surface. You can look at other built-in shaders to see how this is done, since it's handled exactly the same way as it is when not using point clouds.
2) You're trying to roll your own point cloud creation, bypassing the auto-generation. In this case you can put whatever you want directly into Cd when you make the point cloud. Don't scale it by the step size since the built-in auto-generation divides out the step size before saving Cd. Refer back to a point cloud generated from (1) to make sure you're filling in the correct data.
I'm assuming that you have already tried using the volume light shelf tool and geometry light directly with the pyro shader, since this should work correctly out of the box. Geometry lights with point clouds should also work with non-volume geometry including curves in the latest daily builds of 12.5.
Andrew
1) You want to use auto-generation to create the points, exactly the way it's done with built-in shaders. In this case, you just need to set up a Ce export parameter (vector type) on your custom shader and assign something to this for the emission. The simplest possible case is to plug in a constant multiplied by dPdz for a volume, or just a constant for a surface. You can look at other built-in shaders to see how this is done, since it's handled exactly the same way as it is when not using point clouds.
2) You're trying to roll your own point cloud creation, bypassing the auto-generation. In this case you can put whatever you want directly into Cd when you make the point cloud. Don't scale it by the step size since the built-in auto-generation divides out the step size before saving Cd. Refer back to a point cloud generated from (1) to make sure you're filling in the correct data.
I'm assuming that you have already tried using the volume light shelf tool and geometry light directly with the pyro shader, since this should work correctly out of the box. Geometry lights with point clouds should also work with non-volume geometry including curves in the latest daily builds of 12.5.
Andrew
Technical Discussion » Houdini 12.5 geometry light point clouds
- andrewc
- 1002 posts
- Offline
For your first question, the point cloud mode on the geometry light is currently built to work using both the geometry and points via multiple importance sampling. This is what is used with PBR and in the surface model VOP, and helps to produce a low noise level regardless of whether you're shading points that are close to or far from the emitting geometry. With multiple importance sampling, it will tend to prefer using the geometry when shading close to the emitting object and will use the points when farther away. This would explain the darkening effect that you're seeing. If you instead use an illuminance loop (which doesn't use multiple importance sampling), it won't use any geometry samples and you won't see this effect.
For your second question, I think you missed the “Cd” attribute that is also stored in the point cloud. This is what controls the brightness of the point, in combination with the “volume” or “A” channel (depending on whether the points were generated from a volume or a surface). Density doesn't really have any effect on the generated points unless you used it to compute the “Ce” export (which is what ends up in the “Cd” in the point cloud).
Andrew
For your second question, I think you missed the “Cd” attribute that is also stored in the point cloud. This is what controls the brightness of the point, in combination with the “volume” or “A” channel (depending on whether the points were generated from a volume or a surface). Density doesn't really have any effect on the generated points unless you used it to compute the “Ce” export (which is what ends up in the “Cd” in the point cloud).
Andrew
Technical Discussion » Vex compile errors on H12.5
- andrewc
- 1002 posts
- Offline
You probably have old VOPs embedded in the .hip files that are overriding the ones used by H12.5. Look in the operator type manager under Embedded and see if you have a “Surface Model” or “Physical SSS” and other related shading VOPs and remove them, then try rendering again.
Andrew
Andrew
Technical Discussion » Problems with metaballs + envlight
- andrewc
- 1002 posts
- Offline
This looks like a bug in mantra's level of detail support for ray tracing. The primary rays are likely using a lower level of detail than the shadow rays, so there's a slight offset between the surface seen by each - leading to bias artifacts. You could work around it in 2 ways:
- Increase the ray tracing bias
- Turn off ray tracing level of detail (add the vm_bboxenablelod property and disable it on the ROP)
Andrew
- Increase the ray tracing bias
- Turn off ray tracing level of detail (add the vm_bboxenablelod property and disable it on the ROP)
Andrew
Technical Discussion » Absorption on PBR trouble
- andrewc
- 1002 posts
- Offline
This is a limitation of PBR itself - secondary rays need to select a single sample from the ray march for shading, and in doing so they use the average of the opacity rgb channels. The same thing would occur with colored opacity for surfaces.
I can't say for sure when we'll have a solution to this, but you're right that it's unexpected.
Andrew
I can't say for sure when we'll have a solution to this, but you're right that it's unexpected.
Andrew
Technical Discussion » pbr rendering fur artifact
- andrewc
- 1002 posts
- Offline
The nans were caused by the old wirediffuse() bsdf that was being used in the shader in this scene. It should be fixed in the next build of 12.0.
Andrew
Andrew
-
- Quick Links