Forum

  • Index
  •  » Scripting
  •  » Get final light´s world position for render

#1 2020-04-09 03:04:18

Bruno
New member

Get final light´s world position for render

Lets say I created a light under an SceneGraph named 'MyLight' to sculpt my scene (scene RenderGraph)compose of several shots,
this light includes the usual settings, color, intensity and so on an so forth including a light shader (to simulate)
a tree casting shadow, then for one particular shot the shadow is not beneficial in the current position, so
I decided to move the light in this shot (shot RenderGraph) by using a path node connected to a LightAttributes node then
adding a setTransforms node to move the light.
Now the question, how can I get the Final position of the light under shot RenderGraph??,  is there a way like in Katana where after the
creation of a light you can cook/bake at any tree node position and find all the attributes at that point in the tree.

Is there a way to accomplish this by baking  cooking the RenderGraph and get the Final position the light?

Offline

 

#2 2020-04-10 12:14:36

Ben
Guerilla dev, the guy to hug

Re: Get final light´s world position for render

There sure is, in Python:

attrs = guerilla.SceneGraphNode.getrenderattributes ("Perspective", False)
print attrs['world']


Benjamin 'Ben' Legros
Guerilla developer
http://www.guerillarender.com

Offline

 

#3 2020-04-10 23:22:30

Bruno
New member

Re: Get final light´s world position for render

Hi Ben, thank you.

I tried as follow:

attrs = guerilla.SceneGraphNode.getrenderattributes ("MyLight", False)

which did not work even if a pass the complete path to my light, so I realize this only works on SceneGraphNodes, which my light is not.
then I tried to pass its parent SceneGraphNode which returned a dictionary like the following:

I can see a "grouping.membership" key which as a string as a value but in the string there is 'Lights', which I guess will gather all lights inside....

Now my question is how can I get the "MyLight" attributes?

{'attributes': {'animation.end': 1L,
                'animation.mode': 'normal',
                'animation.offset': 0L,
                'animation.start': 1L,
                'cull.clippingvolume': False,
                'curve.basis': 'catmull-rom',
                'curve.widthroot': 1L,
                'curve.widthshape': 1.5,
                'curve.widthtip': 1L,
                'displacementbound.coordinatesystem': 'object',
                'grouping.membership': 'visible:interactivevp,All,Diffuse,Reflection,Refraction,Lights,Shadows,visible:Layer',
                'identifier.assetid': '',
                'particle.blobbyresolution': 1L,
                'particle.blobbythreshold': 0.40000000596046448,
                'particle.mode': 0L,
                'particle.multi': 1L,
                'particle.multiradius': 0L,
                'particle.pointsize': 1L,
                'particle.sphereradius': 1L,
                'particle.spritescalex': 1L,
                'particle.spritescaley': 1L,
                'particle.spritetwist': 0L,
                'particle.streaklinewidth': 0.1666666716337204,
                'particle.streaktailfade': 0L,
                'particle.streaktailsize': 1L,
                'sample.range': [0L, 1L],
                'shade.clipgeometricnormal': False,
                'shade.exitcolor': [0L, 0L, 0L],
                'shade.exp-splitcomponents': False,
                'shade.internaldirectlighting': True,
                'shade.lpetag': '',
                'shade.multiscattering': False,
                'shade.multiscattering-maxhits': 15L,
                'shade.opacity': 1L,
                'shade.opacitybakeres': [256L, 256L],
                'shade.scale': 1L,
                'shade.textureapproximation': 'glossy',
                'shade.texturemaxsize': 0L,
                'shader.displacement': '',
                'shader.surface': 'Surface2',
                'shader.volume': '',
                'shape.cached': True,
                'shape.combineprocedural': False,
                'shape.compression': False,
                'shape.invertt': False,
                'shape.opposite': False,
                'shape.ptex': False,
                'shape.sides': 2L,
                'shape.tangent': False,
                'shutter.motionbluramount': 1L,
                'shutter.motionblurmode': 'enable',
                'shutter.resampletransform': 0L,
                'subdivision.boundary-rules': 0L,
                'subdivision.compute-normals': True,
                'subdivision.force-smooth-st': 1L,
                'subdivision.hard-edge-rules': 0L,
                'subdivision.keep-map-borders': True,
                'subdivision.subdivide': False,
                'trace.bias': 0.0010000000474974513,
                'trace.curveerror': 1L,
                'trace.displace': False,
                'trace.subdivlevel': 0L,
                'trace.terminator': 0L,
                'viewport.boxmode': False,
                'viewport.displaymode': 0L,
                'visibility.camera': 1L,
                'visibility.maxdepth': 127L,
                'visibility.primary': True,
                'visibility.pruned': False,
                'volumetric.indirectstepscale': 1L,
                'volumetric.maxsteps': 100L,
                'volumetric.shadowstepscale': 1L,
                'volumetric.stepsize': 1L,
                'volumetric.uniform': True},
'children': {},
'ids': [0L, 12L],
'origin': {'grouping.membership': {'All': 'RenderGraph|Trace',
                                    'Diffuse': 'RenderGraph|Trace',
                                    'Lights': 'RenderGraph|Lighting',
                                    'Reflection': 'RenderGraph|Trace',
                                    'Refraction': 'RenderGraph|Trace',
                                    'Shadows': 'RenderGraph|Lighting',
                                    'visible:Layer': 'RenderGraph|Layer'},
            'shader.surface': 'RenderGraph|Surface2'},
'rendergraphs': {'NewNode|RenderGraph': {'active': True,
                                          'attributes': {},
                                          'nodes': {'@root': {},
                                                    'NewNode|RenderGraph|All': {'Output': {}},
                                                    'NewNode|RenderGraph|LightAttributes': {},
                                                    'NewNode|RenderGraph|Output': {},
                                                    'NewNode|RenderGraph|PointLight': {},
                                                    'NewNode|RenderGraph|SetTransform': {},
                                                    'NewNode|RenderGraph|merge': {'Output': {}},
                                                    'NewNode|RenderGraph|merge2': {'Output': {}}},
                                          'origin': {}},
                  'RenderGraph': {'active': True,
                                  'attributes': {'grouping.membership': 'All,Diffuse,Reflection,Refraction,Lights,Shadows,visible:Layer',
                                                 'shader.surface': 'Surface2'},
                                  'nodes': {'@root': {},
                                            'RenderGraph|All': {'Output': {}},
                                            'RenderGraph|Layer': {'Output': {'grouping.membership': 'All,Diffuse,Reflection,Refraction,Lights,Shadows,visible:Layer',
                                                                             'shader.surface': 'Surface2'}},
                                            'RenderGraph|Lighting': {'Output': {'grouping.membership': 'All,Diffuse,Reflection,Refraction,Lights,Shadows',
                                                                                'shader.surface': 'Surface2'}},
                                            'RenderGraph|Output': {},
                                            'RenderGraph|PointLight': {},
                                            'RenderGraph|PointLight@Output': {},
                                            'RenderGraph|PointLight@SetChild': {},
                                            'RenderGraph|Surface2': {'Output': {'shader.surface': 'Surface2'}},
                                            'RenderGraph|Trace': {'Output': {'grouping.membership': 'All,Diffuse,Reflection,Refraction',
                                                                             'shader.surface': 'Surface2'}},
                                            'RenderGraph|merge': {'Output': {'grouping.membership': 'All,Diffuse,Reflection,Refraction,Lights,Shadows,visible:Layer',
                                                                             'shader.surface': 'Surface2'}}},
                                  'origin': {'grouping.membership': {'All': 'RenderGraph|Trace',
                                                                     'Diffuse': 'RenderGraph|Trace',
                                                                     'Lights': 'RenderGraph|Lighting',
                                                                     'Reflection': 'RenderGraph|Trace',
                                                                     'Refraction': 'RenderGraph|Trace',
                                                                     'Shadows': 'RenderGraph|Lighting',
                                                                     'visible:Layer': 'RenderGraph|Layer'},
                                             'shader.surface': 'RenderGraph|Surface2'}}},
'world': <guerilla.transform object at 0x000002C9225DE048>}

Offline

 

#4 2020-04-21 14:32:58

Ben
Guerilla dev, the guy to hug

Re: Get final light´s world position for render

Hi Bruno,

I'm in contact with Axel for that matter.
I'm adding more in the API to recover this information.
Please bear with us.

Best,
Ben


Benjamin 'Ben' Legros
Guerilla developer
http://www.guerillarender.com

Offline

 

#5 2020-04-22 01:08:48

Bruno
New member

Re: Get final light´s world position for render

Thank you Ben!

Yes, he told me there will be more in the API with the new version.

appreciate

Offline

 
  • Index
  •  » Scripting
  •  » Get final light´s world position for render

Board footer

Powered by PunBB
© Copyright 2002–2008 PunBB