[Opensim-dev] How does PBR material scale/rotation/offset reach the viewer?

John Nagle nagle at animats.com
Sun Jul 9 16:51:37 UTC 2023


> From: Dahlia Trimble<dahliatrimble at gmail.com>
> Subject: Re: [Opensim-dev] How does PBR material scale/rotation/offset
> 	reach the viewer?
> 
> It's been nearly a decade since I worked on the materials implementation
> for OpenSimulator, and it's possible that my memory may be inaccurate or
> things have changed since I left the project.
> 
> i seem to remember that materials will default to the same texture
> transform parameters for the prim or mesh face that they are applied to as
> the texture for that face, unless they are overridden by the materials
> editor in the viewer. Therefore if you don't see them in any materials
> LLSD, use the texture parameters. This should be true for materials such as
> specular and normal maps. I haven't seen PBR but I would assume a similar
> approach were used but knowing LL, this may not be the case.
> 
> I'm not aware of any glTF implementation in OpenSimulator; if there is one
> it must have been added after I left.

Yes, it's all new. Second Life added it to their system and Ubit is
putting it into Open Simulator. It works roughly as follows:

There's a new PBR Material asset, which is LSL wrapped around a glTF
material. The glTF material follows the glTF 2.0 spec. There are
BaseColor, Normal, RoughnessMetallic, and Emissive layers,
Where the glTF spec calls for a filename, there's a UUID.
The glTF material info does not have scale/rotation/translation
info. PBR Material assets are first class assets - you can
name them, put them in inventory, sell them, etc.

The PBR Material UUID is in a new "Extra Parameter" associated with
the ObjectUpdate UUID message. That just has an array of
(face number, UUID), with no scale/rotation/translation.

If an object has a PBR Material associated with it, all the old
color and texture info is overridden. It's not gone; if you remove
the PBR Material link from the object, the old color and texture
reappears.

Each PBR layer has its own scale/rotation/translation, which
appear to be totally separate from the ones used for the old content.

I can't find where those are sent to the viewer. That's the problem.

				John Nagle
				Animats


More information about the Opensim-dev mailing list