artzor Posted January 16, 2009 Share Posted January 16, 2009 hi all light instancing... how? say i scatter points from a surface and want to place a light at each point... Quote Link to comment Share on other sites More sharing options...
Owl Posted January 16, 2009 Share Posted January 16, 2009 hi alllight instancing... how? say i scatter points from a surface and want to place a light at each point... in obj level you have to open parameter interface/rendering/mantra and add instance parameters Quote Link to comment Share on other sites More sharing options...
artzor Posted January 16, 2009 Author Share Posted January 16, 2009 would there be a way to instance onto points at a certain level in a sop? like say i want a irregular area light, i use the mesh for instance points but also want it to render with a constant. or should i just have 2 seperate objects? Quote Link to comment Share on other sites More sharing options...
aracid Posted January 16, 2009 Share Posted January 16, 2009 hey man so are u talking about an area light ? of a irregular shape or lights copied onto points (to fake some sort of area light with a wierd shape) instance.hipnc also take a look at this asset on the exchange http://www.sidefx.com/index.php?option=com...&Itemid=146 Quote Link to comment Share on other sites More sharing options...
artzor Posted January 16, 2009 Author Share Posted January 16, 2009 hi aracid, i'm thinking about faking an object emmiting light. so if i have a teapot, i scatter points and want to reference those points, but still want the geometry renderable (with a constant shader)... possible? are there any tutorials on this stuff? i'm trying to learn about light point instancing in general... like how to apply random/specific colours to the instances or maybe intensity changes etc... thanks Quote Link to comment Share on other sites More sharing options...
artzor Posted January 20, 2009 Author Share Posted January 20, 2009 one more question... so i've got my custom mesh with scatter points on it, instancing some point lights. duplicating that object and using light linking i can get the geometry to render with a constant as well, but is there a way for one node to read geometry within another? so i don't have to adjust both objects every single time... and another quick question, i found a VERY old tutorial which doesn't work anymore, but how would you make point instances follow normals? thanks Quote Link to comment Share on other sites More sharing options...
aracid Posted January 20, 2009 Share Posted January 20, 2009 Hey man sorry i missed this duplicating that object and using light linking i can get the geometry to render with a constant as well, but is there a way for one node to read geometry within another? so i don't have to adjust both objects every single time... u can use an object merge SOP, which allows u to fetch data from another object, i think that might be what u looking for then the instance should face down the z-axis, so the way ur normals are facing, should influence ur lights. thats if u have normals, so either add a facet sop and post compute normals, or a point SOP and add normals, just the default settings should be fine. if u look at the example i submitted, theres a point sop, change the random expressionon the TX to 2 , and u'll see how the lights shift. then take a look at this file instanceColor.hipnc on the light, i used a point expression to fetch the point data off the geo2/point1 SOP, therefor allowing me access to the points colors in my lights. hope this gives u an idea of how this can be done. Quote Link to comment Share on other sites More sharing options...
denya Posted January 24, 2009 Share Posted January 24, 2009 Hi 2aracid Does it possible to directly visualize instanced lights? I mean the light spot itself, to add some lensflare or glow effects at compose. I didn’t found any possibilities to render light directly in Houdini with Mantra. Thanks! Quote Link to comment Share on other sites More sharing options...
aracid Posted January 26, 2009 Share Posted January 26, 2009 Hey man if u mean visulize the lights in the viewport... as far as i know, there is no button to visualize the instanced light's, but its really easy to use the copy sop to represent what u're instancing and it scales quiet well. so u could just copy some proxy object onto the points ur instancing and that should give u some guidence. im not too sure what u mean by adding lense flares and glow effects Quote Link to comment Share on other sites More sharing options...
denya Posted January 26, 2009 Share Posted January 26, 2009 2aracid Thank for your answer! I mean situation when camera spotted directly to light source. Fore example in Max you can make the light renderable and add some “real” photography light effects (light streaks, stars an so on ) I now about CopySOP but it’s extra geometry\memory…. OK, what about standard point light without instancing? Can I render it ? Any light shaders? Quote Link to comment Share on other sites More sharing options...
artzor Posted January 27, 2009 Author Share Posted January 27, 2009 thanks aracid, got it all working now, your expertise is much appreciated! Quote Link to comment Share on other sites More sharing options...
Darric Posted January 27, 2009 Share Posted January 27, 2009 I don't mean to hijack the thread, but I figured it made a lot more sense to ask here than to create a new one: How do I specify a Geometry object's light mask to only use point instanced lights? Neither setting the light mask to the light itself, nor the instance points objects, works. I assume because the internal name for each instance of the light is only created at render time? Quote Link to comment Share on other sites More sharing options...
Mario Marengo Posted January 27, 2009 Share Posted January 27, 2009 I don't mean to hijack the thread, but I figured it made a lot more sense to ask here than to create a new one:How do I specify a Geometry object's light mask to only use point instanced lights? Neither setting the light mask to the light itself, nor the instance points objects, works. I assume because the internal name for each instance of the light is only created at render time? Huh... I've been using categories for so long now that I hadn't noticed this, but there seems to have been a change at some point in the way light masks are evaluated and the way instances are named. Say you have a geo object named "/obj/geo1", a light object named "hlight1", and an instance object named "instance1" which instances "hlight1" onto some points. The IFD naming pattern for these instanced lights will be: /obj/hlight1:/obj/instance1:n (where n is the instance number), whereas before it would have been /obj/hlight1[n] and you could set your light mask to "/obj/hlight1[*]", if I recall correctly. But now, there doesn't seem to be anything you can put in the light mask for /obj/geo1 that will resolve to the list of light objects instanced by /obj/instance1. And bundles won't help you since /obj/instance1 is not recognized as an array of light objects. I think the only simple solution is to use categories (which are much more powerful than masks IMHO). So, you can start by trying the following: 1. Add a "Light Selection" property to /obj/geo1 and set it to "instlight". This ensures that geo1 will only be illuminated by lights belonging to the category "instlight". 2. Now set hlight1's "Categories" parameter to "instlight". This means that only hlight1 (and all instances of it) will illuminate geo1. It works, but there's still a problem: The above setup will indeed restrict illumination to all the instanced hlight1 objects, but it will also include the hlight1 object itself (the instancing source, which will usually be parked at {0,0,0} and not meant as an illumination source). To avoid this, you can use the "Override Properties" field of the instancing object (/obj/instance1) like this: 1. Set the "Categories" field of hlight1 back to empty "" (default). 2. Create a "Properties" SHOP somewhere. Let's say "/shop/properties1". 3. Open (via gear menu) the "Edit Rendering Parameters" menu on /shop/properties1 and add a "Categories" property. Set this property to "instlight". 4. Finally, set /obj/instance1's "Override Properties" parameter to /shop/properties1. Now only the instanced lights will belong to the category "instlight" and affect /obj/geo1. All other light sources (including the instancing source itself) will not illuminate geo1 because their categories are blank. Categories are your friends Here's a quick hip file which uses this in case the above makes no sense. instlight.hip Quote Link to comment Share on other sites More sharing options...
Darric Posted January 28, 2009 Share Posted January 28, 2009 (edited) Thanks, Mario, I'll try it as soon as possible. It seemed odd that variations on "*hlight1*" (to reuse your example) didn't work, as I assumed that the name of the light itself had to be part of the instance name. I wonder if this is a bug? Edited January 28, 2009 by Darric Quote Link to comment Share on other sites More sharing options...
Darric Posted January 28, 2009 Share Posted January 28, 2009 Categories work like a charm, thanks. Is there a reason I should be using the SHOP/properties approach rather than merely adding a Categories parameter to my instance object? Quote Link to comment Share on other sites More sharing options...
Mario Marengo Posted January 28, 2009 Share Posted January 28, 2009 It seemed odd that variations on "*hlight1*" (to reuse your example) didn't work, as I assumed that the name of the light itself had to be part of the instance name. I wonder if this is a bug? Yes, it is odd, and possibly a bug. That's why I suspect that the mask evaluation must have changed from previous versions, as I don't recall a wildcard string like that not matching -- if memory serves, it did work back in H8.X and possibly H9.1 (I stopped using masks as soon as categories were introduced). I'll submit a bug report. Categories work like a charm, thanks. Is there a reason I should be using the SHOP/properties approach rather than merely adding a Categories parameter to my instance object? Well... I confess I hadn't tried it, so I just did I thought it wouldn't apply it to the instances but it seems to, so yeah, that's a simpler way to go fersure. Cheers! Quote Link to comment Share on other sites More sharing options...
Darric Posted January 29, 2009 Share Posted January 29, 2009 Ok, just thought I'd make sure. Thanks again, Mario. I'll probably end up using only categories myself in future. Quote Link to comment Share on other sites More sharing options...
Overload Posted September 20, 2010 Share Posted September 20, 2010 Old thread but this arises a question. How can you take the instance lights and combine their output into one single framebuffer/imageplane? So say you are using the pyro shader, and the Cillum channel as an extra image plane. Currently it will export a separate channel for every single point instance of that light. So if there are hundreds or thousands of these, the list is way to long. Maybe this can be done with categories, but I'm kind of lost on this. Here's a sample file of what I mean. Thanks in advance. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.