Search the Community
Showing results for tags 'GU_SDF'.
-
Hello everyone, Came across a couple (probably) very simple questions regarding the use of GU_SDF and GU_SDFParms today that I'd be grateful if anyone could shine a light on. The first issue I had was in thinking that the SDFParms::setOffset() method would behave similarly to the corresponding parameter on the IsoOffset SOP. In my attempts to use it, however, it doesn't seem to alter my volume. In the most basic situation of creating a single SDF from geometry, my assumption is that I would just need to set the desired properties (including the offset) using the GU_SDFParms class, and they would be respected during the GU_SDF::build and/or getFunction() calls. For example: gdp->getBBox(&bbox); GU_SDF sdfVol; GU_SDFParms sdfParms; sdfParms.setMode( GU_SDFParms::RAY_INTERSECT ); sdfParms.setDivisions( 60, 60, 60 ); sdfParms.setBBox( bbox ); sdfParms.setLaserScan( true ); sdfParms.setFixSigns( true ); sdfParms.setOffset( -0.25f ); // This line doesn't seem to matter, but I wish it would! sdfParms.setSweepCount( 3 ); sdfParms.setSweepThreshold( 2.0f ); sdfVol.build( gdp, sdfParms ); gdp->clearAndDestroy(); GU_PrimVolume *volumePtr = (GU_PrimVolume *)GU_PrimVolume::build( gdp ); volumePtr->setVoxels( sdfVol.getFunction() ); This works as I expected with many of the parameters, but regardless of what I drop in the setOffset method my iso contour is still displayed at 0 in Houdini. Any idea why this would be the case? On the subject of setOffset(), I'd be curious to know the difference (if any) between GU_SDF::setOffset() vs GU_SDFParm::setOffset(). Is it just as a convenience to allow for sharing GU_SDFParm objects but overriding particular GU_SDFs? And a bonus question! There are three modes for converting volumes to SDFs. GU_SDFParms::VOLUMESAMPLE and GU_SDFParms::VOLUMESAMPLEANDREBUILD are outlined on the IsoOffset help card, but does anyone know what GU_SDFParms::VOLUME mode is expected to do? Thanks in advance, and sorry if it's something obvious... stumbling through bit by bit!