Joined: Sep 24, 2013
Post Count: 9
Status:
Offline
3D window rendering
What interface is used for rendering the 3d window? Is it an OpenGL or a DirectX surface? I took only a cursory glance trough the code at the momend and hoped to find the rendering part easily, but it seems I have to deleve a bit deeper.
Reason I'm asking is, because I have NVidia 3D Stereo glasses and I thought it would be cool if the 3D rendering could be switched to full screen and then the driver would automatically take advantage of it if it is DirectX, so I could look at my designed home in full 3D.
I just started to take a closer look at Sweet Home and it seems perfect, so I'm considering implementing such a part myself if need be.
France
Joined: Nov 7, 2005
Post Count: 9426
Status:
Offline
Re: 3D window rendering
The 3D view is rendered generally with OpenGL, and more rarely with DirectX, through Java 3D library. The DirectX switch is done with the properties set in this file. I don't know if Java 3D will support easily stereo viewing, but if you want to try with Sweet Home 3D code, you should start by Component3DManager class where all Canvas3D instances are created. The layout of the 3D view is done in the HomePane class.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
I can see SH3D in 3D on my 3D monitor with just some glitches.
---------------------------------------- If a long walk every day were healthy, mailmen would be immortal.
Joined: Sep 24, 2013
Post Count: 9
Status:
Offline
Re: 3D window rendering
The 3D view is rendered generally with OpenGL, and more rarely with DirectX, through Java 3D library. The DirectX switch is done with the properties set in this file.
Thanks!
I don't know if Java 3D will support easily stereo viewing, but if you want to try with Sweet Home 3D code,
The NVidia stereo driver automatically takes over when a full screen DirectX scene is displayed. This makes it possible that any DirectX game can be viewed in full stereo 3D, without special support from the game engine itself (with some possible optimizations for 2D overlays, which shouldn't apply here anyway). However, NVidia only implemented this for DirectX for commercial reasons. So the only requirement would be that the window can be switched to full screen and the rest should happen automatically. Since Sweet Home 3D can separate the 3D view already in a detached window, it shouldn't be to hard to switch this window to full screen mode. I have to look how this is done, as I havent much experience with DirectX programming so far, but I don't think that this should be a big issue.
you should start by Component3DManager class where all Canvas3D instances are created. The layout of the 3D view is done in the HomePane class.
Thanks for that info. :) That gives me a good starting point.