Jump to content

Hazoc

Members
  • Posts

    162
  • Joined

  • Last visited

  • Days Won

    4

Hazoc last won the day on April 22 2021

Hazoc had the most liked content!

Personal Information

  • Name
    I
  • Location
    Helsinki, Finland

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Hazoc's Achievements

Newbie

Newbie (1/14)

24

Reputation

  1. All of the light presets have the "uber" ASAD Lights shader bind to them by default. You can find ASAD Light in the SHOP context. If you right-click the ASAD node and select "Type Properties" and open the Code tab you'll find the lights shader code for all the standard lights in one shader. You can override this shader by attaching the "shop_lightpath" rendering property to a standard light object and set it to point to your own light shader. You can create light shaders with Light Shader builder in SHOP for example. Remember that light and shadow shaders are two separate things and sometimes you need to create the both. In this case you'd also attach the "shop_shadowpath" rendering property and set you shadow shader as well.
  2. Have you opened the shadow map .rat file and checked what's stored in various channels? Is it just black or is there some strange looking data? You can also use viewport mode "look through light" in order to verify that the object is in the light's field of view. BTW in order to get Mantra to use shadow map in the IPR renderer you need to attach "vm_iprraytraceshadows" rendering property to the mantra node and disable it. Otherwise only ray traced shadows are used for the IPR.
  3. I think he means it's usually the director of photography/compositor/director who defines camera details and this is done in post to ensure consistent look between different shots. But I agree with you having them available would be nice.
  4. Me neither. Just wondering when this "another day" would be. I really could use some GPU power for my volume renderings:) Of course now thanks to Optix integration I don't need to kill all noise in the rendering stage and thus should enjoy more speedy working.
  5. I think particles would be the way to go for me with that one.
  6. It's impossible to exactly tell what you were after for here just by looking at an unfinished shader that doesn't even try to return any value. Maybe if you can draw a concept picture what the effect is exactly supposed to look like people could propose techniques to achieve the desired effect.
  7. Hey You could create a lens shader (http://mattebb.com/blog/weblog/houdini-fisheye-camera/) or then model your custom lens as an object. Here's a scene showing a sphere with a refracting material and soft edges acting as a mysterious ray bender. distortion_field.hip
  8. Here's a simple but costly setup. Density is used to modulate the phase function so that it's highly forward scattering (values over 0.9) where the cloud volume is thin and slightly more diffuse (values closer to 0.7) where the cloud is more dense. Scattering lobe changing it's shape as the ray travels inside the cloud was one of the main observations done by Bouthors. My solution is a very simple mimic of the phenomenon but it already does a lot. It has 64 orders of multiple scattering which might be more than enough. It also uses photon map to accelerate the light scattering. No Mie scattering LUT is used. Render time 3.5 hours. It's not identical to the Hyperion image but certainly has some nice features emerging. Some parts look even better IMO. I've also tone mapped the image with an ACES LUT and tweaked the exposure a bit to preserve the whites. EDIT: Oh by the way I haven't check how it looks when the sun is behind the cloud. There could be some extreme translucency that needs to be handled. Cheers! mantra_cloud_material.hip
  9. Hi! I'm trying to find a way to define my own photon map geometry. My first idea was to assign a point object as a photon target for the GI light and then turn off the "Create Image From Viewing Camera" setting from Mantra to allow photons to exist in the shadow side of the sphere as well. Turns out it's not that straight forward. If you have any tips before I start modifying the photon_tracer shader, please share. I attached a simple .hip file to work with. I think a GI light supporting arbitrary photon maps would be a good feature and probably not even a difficult one to add. So when ever the photon target is a set of points a similar set would be generated with lighting information of the scene in those locations. photons.hip
  10. Allright! Got a reply from SESI and here's how you can get it working. I guess this could be an obvious way but couple of confusing things simultaneously made it all appear a bit messy. Python still the same: node = hou.pwd() geo = node.geometry() #A bunch of 4 strings d = ("S", "F", "E", "C") #Set as detail attribute "Strings" geo.addAttrib(hou.attribType.Global, "Strings", d, False) geo.setGlobalAttribValue("Strings", d) Vex now: string A[] = detail(0, 'Strings'); for(int i=0; i<len(A);i++) { printf("A = " + "%c\n", A[i]); } And here's the explanation:
  11. Not yet. First I needed to exclude the "stupid user" error I'll send a ticket.
  12. I need to combine this with XML parsing. If nothing works then I just pack everything into one single long string attribute in Python and convert it into an array in VEX. So dirty. print geo.stringListAttribValue("Strings")[0] returns correct values (S, F, E or C) for given indexes 0-3 so it has to be some sort of an array? I really hope the developers can clear this out.
  13. Hmm I see, that works in VEX. But still I'm unable to read an existing string array. I checked the extended operator info and found something interesting. Your array gets typed as a "stringarray" but the one coming from Python operator is just a string. I'm getting confused.
  14. Nice, thanks! I truly am now able to set string arrays in Python. But reading those attributes in VEX is still a mystery. I attached the .hip file. (requires 15.0.305) Python now: node = hou.pwd() geo = node.geometry() #A bunch of 4 strings d = ("S", "F", "E", "C") #Set as detail attribute "Strings" geo.addAttrib(hou.attribType.Global, "Strings", d, False) geo.setGlobalAttribValue("Strings", d) #Works! print "Array list set through Hou: " + str(geo.stringListAttribValue("Strings")) Vex now: //Maybe the cause of all bad string array[] = array(s@Strings); //Prints nothing for any other than [0] element of the array printf("Value in VEX: " + "%c\n", array[0]); //Prints the size of 1 instead of 4 int length = len(array); printf("Length: " + "%g\n", length); //Prints the type "none" string type = detailattribtypeinfo(0, "Strings"); printf("Type: " + "%c\n", type); detailStringListArray.hip
×
×
  • Create New...