Mixing 2D and 3D
chien.yang at oracle.com
Fri Jul 26 10:53:12 PDT 2013
Yes, that is still the approach. The challenge isn't just strictly on
rendering. Let's take picking a "shared" node as an example. Imagine
this node is in a scenegraph viewed by more than 1 camera. The question
is where do we hang the set picked information. There is some level of
"cloning" needed within JavaFX if we want to free application developer
from doing it.
On 7/25/2013 7:31 PM, Richard Bair wrote:
> I thought the approach was not to have multiple parents, but to render into an image.
> On Jul 25, 2013, at 5:26 PM, Chien Yang<chien.yang at oracle.com> wrote:
>> We don't support sharable Node. Some one will have to do the cloning of the scenegraph, either the application or JavaFX. Now I may have opened a can of worms. ;-)
>> - Chien
>> On 7/25/2013 5:20 PM, Richard Bair wrote:
>>> Having to clone the nodes hardly seems like simultaneous viewing from different points of view?
>>> On Jul 25, 2013, at 5:17 PM, Chien Yang<chien.yang at oracle.com> wrote:
>>>> Hi August,
>>>> We did talk through some use cases such as PIP and rear view mirror. You can do simultaneous viewing from different points of view into a single 3D scene via the use of SubScenes. The key point, as you have clearly stated, is the need to clone the scene graph nodes per SubScene.
>>>> - Chien
>>>> On 7/25/2013 10:37 AM, Richard Bair wrote:
>>>>> Hi August,
>>>>>>> "I think we already do multiple active cameras?"
>>>>>>> More precisely: simultaneous viewing from different points of view into a single 3D scene graph was meant, i.e. several cameras are attached to one scene graph.
>>>>>>> A SubScene has exactly one camera attached which renders the associated scene graph into the corresponding SubScene's rectangle. Implementing simultaneous viewing requires a cloned 3D scene graph for the second, third, and so on SubScene/Camera. Material, Mesh, and Image objects can be re-used because they are shareable. Animations of Nodes' Transforms seem to be shareable as well. But Transitions (Rotate, Scale, Translate) have to be cloned because they operate on a Node's methods directly. So, simultaneous viewing seems practicable.
>>>>> Jasper or Kevin will have to comment, but I know this scenario was talked about extensively in the design for the renderToImage and cameras, and I thought this was possible today.
More information about the openjfx-dev