Point instance procedural

   59061   69   12
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
After trying various combinations of settings based off how I use the delayed procedural I cannot get this working at all. Has anyone had success with it

rob
Gone fishing
User Avatar
Member
1631 posts
Joined: July 2005
Offline
Nope. I'm having the same issue as you where I try to set it up like the Delayed Load Procedural.

12.0.614

Cheers!
steven
User Avatar
Member
693 posts
Joined: March 2009
Offline
yeah, I get an error saying mantra can't find the point object:


mantra: ptinstance couldn't find object ‘/obj/grid_object1’
mantra: Error initializing procedural ‘ptinstance’ on object /obj/geo1


Now, out of curiosity, why do it via shader rather than instance rendering parameters?

Cheers

Attachments:
point_instance_shader.hipnc (317.7 KB)

Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
1390 posts
Joined: July 2005
Offline
Perhaps the simplest way is to apply a procedural on “Procedural Shader” parm (Render/Geometry Tab of Geometry Object). It is important to leave “Point Object” parm on a procedural shader blank. It will peak up the geometry from its parent object then.


@rafaels Using shader instead of Instance Object lets you apply cvex shaders to instances, control size of bounding box or apply multiply shaders to single object.


Note also, that fast instances seems to be currently partially broken with IPR rendering (bug 46800), as they don't get updated properly after changes.
User Avatar
Member
693 posts
Joined: March 2009
Offline
SYmek
@rafaels Using shader instead of Instance Object lets you apply cvex shaders to instances, control size of bounding box or apply multiply shaders to single object.

I see, I've used CVEX shader with volumes, but I wasn't aware it worked with geometry now… I mean, I haven't figured out the workflow yet or why is it different than with volumes :?

Would you care to share some tips on how to use it in the case of delayed load or point instance? The documentation isn't really helping

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
599 posts
Joined: May 2011
Offline
Here's a neopolitan set of examples on how to use the point instancing procedural with or without CVEX.

“ptinst_vanilla” is just plain point instancing. The procedural is on the point grid. For this to work, don't refer to a point object on the procedural. It'll simply pick up the points from the object it's applied to.

“ptinst_strawberry” uses a simple CVEX to set a random scale on each instance at render time.

“ptinst_chocolate” demonstrates how to do camera-facing instances at render time, through CVEX.

Try using a fairly recent build of 12.0 for these examples to work.

Hope this helps. Please feel free to post any followup questions, bugs etc.

Attachments:
ptinst_vanilla.hip (77.6 KB)
ptinst_strawberry.hip (129.9 KB)
ptinst_chocolate.hip (759.7 KB)

Halfdan Ingvarsson
Senior Developer
Side Effects Software Inc
User Avatar
Member
693 posts
Joined: March 2009
Offline
Awesome! Thanks a lot, Halfdan, will give it a try tonight

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
691 posts
Joined: June 2006
Offline
Thank you very much!!!
Feel The Knowledge, Kiss The Goat!!!
http://www.linkedin.com/in/alejandroecheverry [linkedin.com]
http://vimeo.com/lordpazuzu/videos [vimeo.com]
User Avatar
Member
330 posts
Joined: July 2007
Offline
couldnt resist so i downloaded the files too ..
except the things that cannot be seen , nothing is like it seems .
User Avatar
Member
7024 posts
Joined: July 2005
Offline
Hi Halfdan,

Very helpful! I'd recommend some examples showing how to override materials etc.

I notice that adding an attribute of the correct type to the point does _not_ override the shader on the instance, is that expect? I seem to have to actually use the Material SOP's “Local Overrides” parms which isn't super procedural… but perhaps is just my mindset which needs adjusting

Cheers,

Peter B
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Here's a few whipped up and one from Silvina from sidefx > ( cvex fast pointinstancing) I have found using attributes to control everything is just way more simpler ! . When I get time I will jam up some details and more instance files on my site. Also the relative paths it would seem are broken. Bug submitted.

Hey Peter , per point yes using the material sop is the way to go > set to fast point instancing and local overrides. For the geometry from disk example you will need to bring your own bunny


Rob

Attachments:
rse_instanceBunny.hip (3.2 MB)

Gone fishing
User Avatar
Member
7024 posts
Joined: July 2005
Offline
OK thanks Rob, I need to do some speed tests, I've found that using the local overrides on the Material SOP can slow IFD gen down, but that was in H11 so maybe it's better now.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi Peter,
This is for you “plague of bunnies” I figure to really see what the go is with speed. Ive written a bunny out to mantra archive and then delay loaded it into a geometry container which I have full point instanced with a N and Pscale thrown in for good measure. Grab a bunny from above as Ive not included it.
To be honest its rendering at a slow pace even on my duel 12 core xeon when the scene is pretty basic and the bunny geometry archive is 1.3 mg. Anyway its a starting point

Rob

Attachments:
rse_instancedelayedBunnies.hip (180.3 KB)

Gone fishing
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Some point instancing of lights using instancepoint(), must say Ive point instanced geometry lights before and used a custom shader to get some nice effects using material overides. It would be nice though to override the default lights with more control as I take it a default light uses a light shader which seems to be inaccessible to create overrides per point in sops.

Rob

Attachments:
instanced_lights.hip (221.0 KB)
instancelight.jpeg (65.0 KB)

Gone fishing
User Avatar
Member
693 posts
Joined: March 2009
Offline
I remember using the volume procedural, as well as a CVEX shader VOPs inside a material shader builder SHOP and it worked fine. Is there a rationale behind the choosing one method of building over another?
Why is there a SHOP point instance procedural and why is there a VOP-SHOP one?

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
691 posts
Joined: June 2006
Offline
Hi!!!

Very nice topic!!!

I want to share a setup for a very basic crowd of spiders.
The animation is defined in CHOP's.
Finally all the spider rig is controlled with the instancepoint() function for each agent.

I'll upload the rendered animation in vimeo soon.

Attachments:
spiders_Full-instance.hip (3.4 MB)

Feel The Knowledge, Kiss The Goat!!!
http://www.linkedin.com/in/alejandroecheverry [linkedin.com]
http://vimeo.com/lordpazuzu/videos [vimeo.com]
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Last one for good measure. Now all we need to top this thread off is a simple point instanced geometry with offset animation in chops …….
For this example you will need to make your own random point colours , delete the otl in the scene and replace with a colour sop set to random. Check out the custom light shader aswell

Rob

Attachments:
instanced_lights.hip (221.0 KB)
geometryinstancedlights.jpeg (145.8 KB)

Gone fishing
User Avatar
Member
7024 posts
Joined: July 2005
Offline
Hi Rob,

Since you're much more in touch with the Instancing voodoo, please help with this real-world case (but using the bunny):

-materials are applied to geometry groups. Unfortunately, I have rarely found that a single object-level material is realistic.
-I then want to override parameters on a per-instance basis on a specific material.

I can't get this to work Not using Fast Point Instancing isn't an option as the real world case for this is models of millions of polygons per model. Other than the Materials override problem, this works brilliantly in Fast Point Instancing, I can do “billions” of (instanced) polygons with great results.

In the .hip file, I have a simplified example. The bunny has its ears in a group and body is everything else. Base materials applied.

Then I try to use the Material overrides, but it doesn't work

Cheers,

Peter B

Attachments:
material_instance_overrides_fail.hip (3.5 MB)

User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi Peter,
I will take a look tonight when I get in from work. As Im in Maya hell right now

Rob
Gone fishing
User Avatar
Member
7024 posts
Joined: July 2005
Offline
Thanks Rob, not urgent though!!
  • Quick Links