Found 55 posts.
Search results Show results as topic list.
Solaris and Karma » Husk - what does exr metadata renderMemory, renderTime...
- YasinH
- 55 posts
- Offline
Technical Discussion » How to query USD prim World Bounding Box
- YasinH
- 55 posts
- Offline
A very simple question which seems to be tricky to figure out! All geom prims have a World Bounding Box shown in Solaris Scene Graph Details. How does one access that via Python and Vex?! I've tried the following, but I get inconsistent results that are not the same as what's shown in Scene Graph Details!
from pxr import Usd, UsdGeom
node = hou.pwd()
stage = node.editableStage()
prim = stage.GetPrimAtPath('/scene/geo/cube')
bbox_cache = UsdGeom.BBoxCache(0, ['default'])
bbox = bbox_cache.ComputeWorldBound(prim).box
print bbox
Technical Discussion » Remove primitives by attribute via VEX
- YasinH
- 55 posts
- Offline
I have an alembic named
light_geo
that has path
attribute in it which are the geos it contains. I'd like to use specific geos(path) from this as a mesh light which would get plugged into "Geometry Object" parameter on the light. However, this parameter reads the whole object (e.g. ../light_geo
). Is there any way to exclude parts of it in the same parameter via an expression? I can of course use a blast node and remove path primitives but I'd rather do it all in the Geometry Object parameter.
Edited by YasinH - 2021年8月18日 17:53:52
Houdini Lounge » Automatic Per light AOVs creation by Category
- YasinH
- 55 posts
- Offline
Houdini Lounge » Automatic Per light AOVs creation by Category
- YasinH
- 55 posts
- Offline
Is there any way to have per light AOVs automatically getting generated based on lights category in Mantra? Currently, we have to make a separate AOV for each category which is quite cumbersome to do. For example, Arnold can handle it all automatically.
Technical Discussion » How to do water attraction to floating object
- YasinH
- 55 posts
- Offline
LibrarianFantastic! This totally does the trick! Much appreciated for the help.
Group boundaries.Maybe ?
Technical Discussion » How to do water attraction to floating object
- YasinH
- 55 posts
- Offline
LibrarianThanks a lot for sharing these. They are super helpful.
Play and have Fun
Although it's close to what I needed, I'm wondering if there is a way to do it without introducing extra wave in the surface. For example, I only want the boundaries where objects intersect to have that curved shape. I've attached my test scene.
Edited by YasinH - 2021年1月14日 04:01:03
Technical Discussion » How to do water attraction to floating object
- YasinH
- 55 posts
- Offline
I'm trying to mimic water attraction to a floating object like the image below. Not sure if I'm using the correct term for it but it's the curved water around the leaf that's getting attracted to it. It's similar to metaballs attraction to each other.
I've tried doing it with VDB combine set to subtract but the curve goes inward instead of outward (see attachment).
Any thoughts how to do it without simulation?
I've tried doing it with VDB combine set to subtract but the curve goes inward instead of outward (see attachment).
Any thoughts how to do it without simulation?
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
jsmackOh I didn't know Mantra actually respects light scale when using IES lights! Sometimes renderers hard-code the scale to the profile. This made the approach more sensible now. Now I need to figure out how to make custom IES profiles that matches with directionality…
what do you mean by ‘light scaling’? An ies profile maps the light's intensity to the angle from its local z axis. Same as using a function to do the same in a light shader. The profile just has it ‘baked’.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
jsmackThat's a good idea but how would you deal with light scaling when using IES profiles? You can't really shape the light with them.YasinHjsmackHow would you change the angle on IES profiles though? Did you make different profiles for different angles, or do you mean to simply plug a ramp to environment?YasinH
Yeah, that seems to be the case. Is there any way to somehow fake the power with this approach? Otherwise, it doesn't seem like there is any other way to implement the directionality…
I've created custom IES profiles to simulate directionality recently when I had to match VRAY renders which were making heavy use of directionality.
An IES profile is just a 1D image, so any ramp can be used to make one.
I made a profile for each directionality value I needed.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
jsmackHow would you change the angle on IES profiles though? Did you make different profiles for different angles, or do you mean to simply plug a ramp to environment?YasinH
Yeah, that seems to be the case. Is there any way to somehow fake the power with this approach? Otherwise, it doesn't seem like there is any other way to implement the directionality…
I've created custom IES profiles to simulate directionality recently when I had to match VRAY renders which were making heavy use of directionality.
An IES profile is just a 1D image, so any ramp can be used to make one.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Yeah, that seems to be the case. Is there any way to somehow fake the power with this approach? Otherwise, it doesn't seem like there is any other way to implement the directionality…
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Here are some test renders showing the issues at almost fully directional angle.
No smoothing, pure
With smoothing. The intensity decreases a lot but increasing back up afterwards, poses a lot of noise issues! Would be good to know if there is a way to address this too.
No smoothing, pure
__illuminateangle
. It has a strange cone shape to it instead of being rectangular. Any idea why? With smoothing. The intensity decreases a lot but increasing back up afterwards, poses a lot of noise issues! Would be good to know if there is a way to address this too.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
I just found a parameter that made things way easier! Use
__illuminateangle
! It takes an angle and focuses the light(but not its rays)! The only thing is, it give you a sharp cutoff so you may need to smooth Cl edges. I've kinda done it with smooth function but it doesn't look right if you make it fully directional, it loses the energy. If we can find a way to focus those rays in this direction, I bet it should be all needed
Edited by YasinH - 2020年8月19日 15:07:44
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Ah, no wonder why I couldn't get it to work! I'm wondering if we can change the light cosine distribution power somehow. I believe that's how it works in Arnold and Renderman.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Another question! (Sorry for the spam…)
I'm now trying to use the ggx bsdf for simplicity sake, but still not having much luck. That makes me wonder if I'm using the eval_bsdf output correctly. By altering the pdf in eval_bsdf coming from ggx, shouldn't it have some effect after multiplying to L? All I'm getting are mainly changes in light intensity, not its focus…
I'm now trying to use the ggx bsdf for simplicity sake, but still not having much luck. That makes me wonder if I'm using the eval_bsdf output correctly. By altering the pdf in eval_bsdf coming from ggx, shouldn't it have some effect after multiplying to L? All I'm getting are mainly changes in light intensity, not its focus…
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Also, if the idea is to make a custom cvex shader and then modify it in eval_bsdf, wouldn't it be easier to make it like so in the shader itself from the beginning unless there are easier ways to build that custom cvex shader?
Edited by YasinH - 2020年8月18日 03:27:45
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
jsmackInteresting. Here's part of what I have so far. But not getting anything meaningful out of it… I'm sure I'm missing couple things hereYasinHjsmackThis is super helpful! Thank you. Something I'm trying to figure out eval_bsdf requires a bsdf as its first argument, while a light shader doesn't inherently have a bsdf, does it? Or should I build a custom bsdf in the light shader?YasinH
The built-in function you are referring to issample_hemisphere
andcreate_pdf
?
I think everything I needed was from the evalbsdf function. Sample functions are only needed for discreet samples (ray tracing). Since light shaders are continuous function, we only care about power scale in a given direction which is what the ‘eval’ argument of the evalbsdf function is. It may to be scaled by the pdf though, which is another argument of the same function.YasinH
Also, would you recommend using VEX code(similar to Asad light) or just VOP nodes for the light material?
This is down to preference.
Yeah, light shaders don't have their own bsdf normally. I'm abusing the ‘bsdf’ a generic function to get the mapping from angle to power. If you're using 18+ the ggx function can be used to create a ggx bsdf. Otherwise in pre-18 you'll have to use a cvex bsdf function.
vector b; bsdf f = cvex_bsdf("diffuse_eval", "diffuse_sample", "label", "diffuse", "N", N); b = eval_bsdf(f, -I, normalize(L), pow(cos(radians(90)), 3), bouncemask("all")); L = normalize(b);
I'm just using “diffuse_eval” and “diffuse_sample” from here [www.sidefx.com].
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
jsmackThis is super helpful! Thank you. Something I'm trying to figure out eval_bsdf requires a bsdf as its first argument, while a light shader doesn't inherently have a bsdf, does it? Or should I build a custom bsdf in the light shader?YasinH
The built-in function you are referring to issample_hemisphere
andcreate_pdf
?
I think everything I needed was from the evalbsdf function. Sample functions are only needed for discreet samples (ray tracing). Since light shaders are continuous function, we only care about power scale in a given direction which is what the ‘eval’ argument of the evalbsdf function is. It may to be scaled by the pdf though, which is another argument of the same function.YasinH
Also, would you recommend using VEX code(similar to Asad light) or just VOP nodes for the light material?
This is down to preference.
Technical Discussion » Mantra Light Shaders
- YasinH
- 55 posts
- Offline
Also, would you recommend using VEX code(similar to Asad light) or just VOP nodes for the light material?
-
- Quick Links