@AD_Kar there are a couple of issues accessing these features out of Maya. Since Maya’s main focus is on ray tracing, there is no notion for an F0 factor. F0 will contribute to the metallic reflectance color rendered on an object, but F0 is determined by IoR, so there won’t be a specific F0 control in any of their ray tracing shaders.
Stingray materials were added to Maya to support Autodesk’s Stingray real-time engine. Unfortunately, the Stingray engine was discontinued and support for Stingray materials in Maya is being depreciated. So there won’t be any additions to Stingray materials going forward.
What we did was to translate what was set up in either Stingray or Arnold materials into what is required from the glTF 2.0 spec. There are some tradeoffs like packing an AO map into an ORM that is wired for roughness and metallic. This is our way of adding in an AO map when Arnold shaders don’t use an AO texture.
You can see the glTF 2.0 spec below. There is no concept of F0 currently in glTF 2.0 but it is a part of PBR Next for glTF so we are out in front of that by implementing it in engine. However, there is no way to save either an F0 factor or a Metallic Reflectance Color texture into a glTF file.
One thing you can do is to open the scene up in the sandbox, set your F0 level and then save to a .babylon file from the inspector’s tools tab. This will save your settings, but if you are looking for portability between viewers, a .babylon file won’t help you. Using glTF will give you the most portability between different viewers, but those controls are not in the glTF 2.0 spec so no other viewer needs to support them yet.
Are you trying to share your models with someone else or do you have full control over the viewing experience? If you have full control, setting up a playground scene that loads your model and assigns any PBR next features you want would be best. If you can describe more about how you are publishing your models or how your viewers will consume them, I may be able to offer more suggestions.
Does this mean that attaching a texture to the Metallic Reflectance Color Texture input will pass values correctly to F0? The math for converting between IOR and F0 is easy enough, and there are GLTF extensions which could be used for the purpose, but I would like to use a F0 map (as it is being provided) and pass it through the correct channel.
@rdurnin, I’m not sure if I am following the entire context of your question because it appears you are talking about two different lighting models. If you are using a PBR Metallic-Roughness model, F0 for dielectric materials will be hard coded in the shader at 0.04 linear which is 4% reflectance. But you mention an F0 map, which suggests you have PBR Specular-Glossiness textures. With the spec-gloss model, the reflectance at F0 is directly controlled by the specular texture for dielectric materials. This means that the F0 reflectance is determined by the values in the specular texture and are fully in your control. This also means that you need to handle energy conservation yourself as you can combine values in your albedo texture and specular texture that reflects more light than hits the surface.
I don’t know if your question is in context of exporting from Maya or if this is just a generic glTF in Babylon question. But if it is a generic glTF question, there are a couple of things that you can do. If you want to use the Metallic-Roughness workflow and still have some control over the F0 values of your materials, you can use the KHR_materials_specular extension to control over the specular factor and color of the dieletric BRDF. Or if you just want to use PBR Specular-Glossiness directly, you can use the KHR_materials_pbrSpecularGlossiness extension directly.
Not sure if this answers your question or not so please feel free to ping back if you need more help.
Hey, and thanks for answering. Said more simply, I would like to control the F0 with a map, which slot would I use to control it? I am using the Metallic Roughness model (PBRMaterial), which has scalar inputs for both IOR and F0 (regardless of the reflectance model), but would like to use maps.