- From: Nexii Malthus <nexiim@gmail.com>
- Date: Mon, 19 Sep 2016 11:58:24 +0000
- To: Rik Cabanier <cabanier@gmail.com>, Matt Woodrow <mwoodrow@mozilla.com>
- Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, "/#!/JoePea" <trusktr@gmail.com>, Chris Harrelson <chrishtr@google.com>, Simon Fraser <simon.fraser@apple.com>, "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CALbUtNYNRYTmvz_j3GsYiANiB6Xc4WGHpKL1an-MaS0BXB2EQg@mail.gmail.com>
It's been a while since I have done 3d graphics programming, but isn't this solvable as a 'render to texture' - a simple technique that dates back to very early 3d game graphics? This should preserve-3d on the car frame for the internal 3d perspective, no? You could even use a simple pixel shader of you fancied having depth still working. On Mon, 19 Sep 2016 9:41 am Rik Cabanier, <cabanier@gmail.com> wrote: > On Mon, Sep 19, 2016 at 8:22 AM, Matt Woodrow <mwoodrow@mozilla.com> > wrote: > >> On 19/09/16 6:27 PM, Tab Atkins Jr. wrote: >> >>> No, as I explained in more detail in the GitHub thread I linked >>> <https://github.com/w3c/svgwg/issues/264#issuecomment-246750601>, this >>> is a logical consequence of 'opacity' and other filter-type effects >>> being "group effects". If you want the effect to only apply to the >>> leaves, you can do that yourself by specifying it on the leaves, but >>> it has a visibly different effect than doing it "as a group". >>> >> Sorry, I'm not quite sure I follow. The idea I proposed explicitly >> *doesn't* break the group nature of opacity, which is why I think it's >> worth discussing. >> >> The example I gave had opacity applied to an intermediate element, and >> showed the internal representation needed to apply it as a group while >> maintaining preserve-3d. >> > > What you're proposing will also change how content is rendered. :-\ > > >> Are there more complex examples you can think of where this breaks down? >> >> Obviously this would prevent depth sorting occurring between elements >>>> inside >>>> and outside of 'b', and we need to figure out how to depth sort 'b' >>>> itself >>>> (given that it is an atomic entry for sorting, but isn't a 2d plane), >>>> but >>>> those seem solvable. >>>> >>> That's actually the core problem preventing this from working; it's >>> not a detail we can just paper over later. >>> >> Which part of this? The first piece is the exact same situation we have >> when we flatten for opacity, so I don't see how that's a problem. The >> latter is somewhat difficult from an implementation standpoint, but it's >> not obvious that it's a showstopper. > > > Why is that not a showstopper? Your proposal seems very difficult to > implement since it pushes matrix manipulation all the way down to the > individual elements. > It also introduces more rendering surfaces. > You're also relying on how firefox is representing the render tree which > might be completely different from other UA's > > Browsers already have a hard time giving a consistent experience with the > simple model and this will make it even more complicated. >
Received on Tuesday, 20 September 2016 07:18:05 UTC