NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 653 - 3D Viewer creates surfaces "inside-out"
3D Viewer creates surfaces "inside-out"
Status: NEW
Product: Fiji
Classification: Unclassified
Component: 3D Viewer
unspecified
PC Windows
: P5 major
Assigned To: Benjamin Schmid
Depends on:
Blocks:
 
Reported: 2013-08-17 09:25 CDT by niewiap
Modified: 2013-08-17 09:25 CDT
0 users

See Also:


Attachments
Stack with a cylinder, rendered by 3D viewer, then inverted in MeshLab (169.53 KB, application/zip)
2013-08-17 09:25 CDT, niewiap

Description niewiap 2013-08-17 09:25:50 CDT
Created attachment 117
Stack with a cylinder, rendered by 3D viewer, then inverted in MeshLab

I've been having a persistent problem with 3D Viewer. When you create surfaces from a tiff stack, the surfaces are "inside-out", i.e. they have inverted normals. This seems to be a problem mostly when Direct3D is used as a rendering engine, since it seems like in the OpenGL mode double-sided lighting is the default mode, i.e. the surfaces are rendered on both sides. What results is that when you set maximum memory to over 1G then Java3D switches to Direct3D and suddenly all objects appear black from the outside. Setting maximum memory to 640MB reverts the rendering engine to OpenGL and objects look normal again. It's sort of a workaround, but I have also found issues with the OpenGL renderer using Java 1.7 (it won't start at all), so it would be great if the surfaces could be rendered with the correct normals to start with.
I am attaching a very simple stack with a white cylinder in it (cylinder.tif), and the results of 3D Viewer's rendering exported to STL (cylinder_default.stl) and after inverting normals in MeshLab (cylinder_inverted.stl).