Wish: expose support for assignment of materials to lights

It is possible and useful to assign materials to lights, but currently:

  1. Rhino gives no indication (i.e. no material panel in light object properties, no highlighting of the assigned material in the material list, when a light is selected) that a material has been assigned.
  2. The ChangeQueue does not update upon assignment of material to lights, nor upon changes being made to materials assigned to lights (i.e. you must force an update some other way, by moving something, etc).

The former could be helped a bit by a plugin adding custom gui to light object properties, but since support for assignment already exists, I think it would be better for Rhino to just expose that, so the UX can be uniform across render engines.

As for why I think it should be done, I have now written plugins for two different engines, where the ability to use materials on lights would be useful and expected by users, and while the capability may have been an oddity 15 years ago, I’d be surprised to find that any render engine does not internally support it now.

(this topic did not seem to fit cleanly in any given category, so please move it as you see fit – I figured it is mostly Rhino devs who would know what I’m talking about)

1 Like

Hi @jdhill,

We have filed two issues for this:

https://mcneel.myjetbrains.com/youtrack/issue/RH-63785
https://mcneel.myjetbrains.com/youtrack/issue/RH-63786

Regards,

John

2 Likes

Thanks!

Bump.
I am reviving this thread due to it’s importance. Since Rhino development resources are thin and takes years for features to be added in less important areas (like rendering), it makes sense to allow third party engines to assign their own emissive material to Rhino’s native lights to fill in the functionality gaps.

EDIT:
After checking the YouTrack case it says it’s fixed, but when I try it, nothing happens ? This using Rhino’s own emissive material.

yes, to update, here is what I am seeing here currently (on 8.3.24009.15001)

  1. materials are indeed allowed to be assigned to lights now
  2. the material list “in use” icon correctly lights up when selecting lights w/ material assigned
  3. purge correctly refrains from deleting materials assigned only to lights
  4. the object properties → materials page is shown for lights **
  5. cycles ignores the material assigned to a light
  6. bella renders the assigned material (if supported, i.e on area lights)
  7. change queue does not update when materials are assigned to lights
  8. change queue does not update when materials assigned to lights are edited

** not in the current bella version though, as I was not previously aware of the RenderFeature.LightMaterials enum value