VolumeData: Get RayObject from Light object



  • On 26/02/2013 at 07:29, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:    
    Platform:      
    Language(s) :

    ---------
    Hi!

    I'm probably just blind, the documentation is a little unclear in the VolumeData section. I'm searching
    for a way to obtain the RayLight* from a BaseObject* that has been defined in my shader plugin
    via link-field, something like this:

    BaseObject* light = bc->GetLink(MYSHADER_LIGHTSOURCE, doc);
    LONG index = **vd- >GetLightObjectIndex(light); // This is what I search for**
    RayLight* ray = vd->GetLight(index);
    

    Is it possible and I just couldn't find it in the docs?

    Thank you!
    -Niklas

    EDIT: Corrected RayObject to RayLight.



  • On 26/02/2013 at 09:46, xxxxxxxx wrote:

    Ah, I see there's the GetObj() method. Do I have to iterator over all available RayObject's to find the
    RayObject associated with the light in the scene?

    EDIT: Ok, I think RayObject's are not the light objects..



  • On 26/02/2013 at 23:11, xxxxxxxx wrote:

    Hi Niklas,

    Originally posted by xxxxxxxx

    Ah, I see there's the GetObj() method. Do I have to iterator over all available RayObject's to find the
    RayObject associated with the light in the scene?

    You can get each light with GetLight() then check BaseObject* RayLight::link against the light link pointer in your shader.



  • On 27/02/2013 at 07:07, xxxxxxxx wrote:

    Thank you, Yannick. This works fine.


Log in to reply