[x3d-public] [x3d] Spec Comment by on 19775-1: X3D Architecture - V4.0; Appearance alpha channel treatment

Don Brutzman brutzman at nps.edu
Mon Jan 18 10:08:57 PST 2021


Shifting to public review, sharing with permission.  Due diligence is appropriate to confirm that this feature is needed or necessary.

Key references:

* Don McCurdy PhysicalMaterial spec suggestion at bottom of this message
* https://castle-engine.io/x3d_implementation_shape_extensions.php#section_ext_alpha_channel

All feedback welcome, we will discuss this Friday

On 1/16/2021 2:15 PM, Don Brutzman wrote:
> Thanks for great dialog and insights.  Also thanks Don for giving permission to share publicly, that gives us best scrutiny and understanding.
> 
> Web3D board discusses next week.  At that point, as editors Dick Puk and I will consider all potential editorial revisions from the comment period, plus board feedback, subject to X3D working group review.  This will be expeditious but there is no strict deadline, so we can afford to "do the right thing" here.
> 
> Michalis, just checking: can you please confirm that your response can be public as well.
> 
> If so then we'll shift these comments to x3d-public mailing list.
> 
> 
> On 1/15/2021 12:04 PM, Michalis Kamburelis wrote:
>>
>> ( I'm answering a spec feedback comment, adding also submitter (Don
>> McCurdy) to recipients. I don't know if you're a member of x3d-public
>> mailing list, but It happens that I know your email :) ).
>>
>> The explicit information about whether to use blending or alpha
>> testing is indeed not present anywhere in the X3D nodes. The browsers
>> have to detect it themselves, this was the case in X3D 3 and remains
>> in X3D 4 for now.
>>
>> I fully agree with the submitter that it is an important feature
>> missing. Indeed automatic detection of it (blending vs alpha testing)
>> is "tricky" in non-trivial setups. Castle Game Engine does it, all X3D
>> browsers do it, but in some cases it is an "uncertain heuristic"
>> and/or requires analyzing the texture contents (thus, not efficient).
>>
>> I do have a solution, implemented as X3D extension in Castle Game
>> Engine now: "Appearance.alphaChannel" field. It allows to explicitly
>> request treatment as opaque, blending, or alpha test. See the CGE
>> documentation for details:
>> https://castle-engine.io/x3d_implementation_shape_extensions.php#section_ext_alpha_channel
>> .
>>
>> And see my "glTF -> X3D" page where I document this:
>> https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D
>> .
>>
>> I didn't push it for including it in X3D 4.0, as we already have a lot
>> of stuff in X3D 4. I hoped to talk about it for X3D 4.1. That being
>> said, if the consensus is that we should amend the existing X3D 4.0
>> and add it -- I am more than happy to make it :) As said, the prose
>> and the implementation in CGE is already working and tested. If Don
>> Brutzman agrees, I am ready to work on it, it is a relatively
>> straightforward addition to the spec (assuming that my extension on
>> https://castle-engine.io/x3d_implementation_shape_extensions.php#section_ext_alpha_channel
>> looks reasonable to you all).
>>
>> Regards,
>> Michalis
>>
>> pt., 15 sty 2021 o 20:14 Spec Feedback <spec-comment at web3d.org> napisał(a):
>>>
>>> -- Submitter indicates that this comment may be public: *Yes* --
>>>
>>> Comment on 19775-1: X3D Architecture - V4.0
>>> 12.4.6 PhysicalMaterial
>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/ballot/Part01/components/shape.html#PhysicalMaterial
>>>
>>> -----------------
>>> Physical Materials include a "transparency" field, which combines with alpha
>>> from the baseColorTexture to create a per-fragment alpha color, "used for
>>> blending or alpha-testing". I was not able to see where or if the material
>>> specifies its alpha mode. In glTF the possible alpha modes are "OPAQUE",
>>> "BLEND", or "MASK" (alpha test). I'm assuming I've just missed it elsewhere
>>> in the spec, but if not, that is critical information for the renderer in
>>> many cases, and I do believe it should be included. Without this information
>>> a renderer may need to check the texture for transparent pixels, or may run
>>> into tricky sorting issues trying to do blending on materials that would have
>>> been better served by alpha test. Thanks!
>>> -----------------
>>>
>>> Submitted on Friday, 2021,  January 15 - 11:14am
>>> by  (Don McCurdy )
>>> IP: 73.70.160.63
>>>
>>> See: https://www.web3d.org/node/1694/submission/4448


all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list