HunterLarco / voxel.css

A lightweight 3D CSS voxel library.
http://voxelcss.com
MIT License
3.35k stars 128 forks source link

What should happen when applying opacity less than 1 to a node with descendants? #33

Open trusktr opened 7 years ago

trusktr commented 7 years ago

Hello Huner,

I'd like your opinion:

If we have a node (in a 3D scene), and it has many descendants (a sub tree), what should happen when we apply opacity with a value less than 1 to it?

  1. It, and all of it's children should become transparent, multiplying opacities down the scene graph.
  2. It's content should become transparent but not that of its descendants.
  3. Same as (1), but the whole object should be flattened into a plane.

The reason I want your opinion is because the new specs for CSS 3D (css-transforms) state here that the answer is (3).

To see what I mean, view these two examples in Chrome 53 or higher:

The second example has opacity applied to the node that contains all the sub-nodes which compose the car. The opacity, according to spec, flattens the car into a plane (turns it into paper!).

I'm asking various 3D engine authors for opinions of what the correct or most expected behavior should be.

All the best, ~ Joe