create3000 / x_ite

X_ITE X3D Browser, view and manipulate X3D and VRML scenes in HTML.
https://create3000.github.io/x_ite/
Other
66 stars 13 forks source link

Zoom out when rendered the 3D image in extension .wrl #136

Closed schotten closed 1 year ago

schotten commented 1 year ago

I use the version x_ite-8.6.20, but, in all version of the framework, when the 3D imagem is rendered by extension .wrl, the framework rendered correct, but with the bigger zoom out. Because this, i need the execute many zoom in to use the area intended for rendering, impairing the user experience.

Have any configuration to rendered the image with use the 100% of intended area?

The movie of explanation problem:

https://github.com/create3000/x_ite/assets/57331623/e3cae69e-95c6-44ba-994b-7621715d3b67

Examplo of file to render: 3D.zip

npolys commented 1 year ago

You may check your Viewpoint fieldOfView values, which provides the camera perspective angle in radians... a small value will look like you are zoomed and a large value will make it look far away in a fish-eye.

Also if no Viewpoint is defined, the VRML and X3D spec put it at +10 z so likely you can add Viewpoints for your points and locations of interest

see also https://edutechwiki.unige.ch/en/X3D_navigation_and_viewing

On Tue, May 9, 2023 at 10:00 AM schotten @.***> wrote:

I use the version x_ite-8.6.20, but, in all version of the framework, when the 3D imagem is rendered by extension .wrl, the framework rendered correct, but with the bigger zoom out. Because this, i need the execute many zoom in to use the area intended for rendering, impairing the user experience.

Have any configuration to rendered the image with use the 100% of intended area?

The movie of explanation problem:

https://github.com/create3000/x_ite/assets/57331623/e3cae69e-95c6-44ba-994b-7621715d3b67

Examplo of file to render: 3D.zip https://github.com/create3000/x_ite/files/11431918/3D.zip

— Reply to this email directly, view it on GitHub https://github.com/create3000/x_ite/issues/136, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2TSM4LAOIWEVTEP6HGA5TXFJEXZANCNFSM6AAAAAAX3K3MQ4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Nicholas F. Polys, Ph.D.

Director of Visual Computing Virginia Tech Research Computing

Affiliate Professor Virginia Tech Department of Computer Science https://people.cs.vt.edu/~npolys/ https://people.cs.vt.edu/~npolys/

splace commented 1 year ago

FYI 3d models can 'break' with wide fields of view, this is because of the inherent simplification of using straight lines between vertices, in the real world they are curved and much more so at wide fields of view (fish eye)

its actually possible for edges to swap which side they are on, of another edge, when zoomed in, completely ruining further approximations in the rendering engine and causing big problems. notice this doesn't apply to raytracing.

zoom in by getting closer not by increasing fiels of view, mostly.

npolys commented 1 year ago

Agreed

On Tue, May 9, 2023 at 11:21 AM simon place @.***> wrote:

FYI 3d models can 'break' with wide fields of view, this is because of the inherent simplification of using straight lines between vertices, in the real world they are curved and much more so at wide fields of view (fish eye)

its actually possible for edges to swap which side they are on, of another edge, when zoomed in, completely ruining further approximations in the rendering engine and causing big problems. notice this doesn't apply to raytracing.

zoom in by getting closer not by increasing fiels of view, mostly.

— Reply to this email directly, view it on GitHub https://github.com/create3000/x_ite/issues/136#issuecomment-1540371472, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2TSMZC6VNNFFYNIQEVDYDXFJOGBANCNFSM6AAAAAAX3K3MQ4 . You are receiving this because you commented.Message ID: @.***>

-- Nicholas F. Polys, Ph.D.

Director of Visual Computing Virginia Tech Research Computing

Affiliate Professor Virginia Tech Department of Computer Science https://people.cs.vt.edu/~npolys/ https://people.cs.vt.edu/~npolys/

create3000 commented 1 year ago

Since X3D V4.0 there is a viewAll field in Viewpoint, which can be set to 'TRUE'.

Viewpoint is automatically adjusted to view all visible geometry. Typically centerOfRotation is shifted to center of current bounding box and view is zoomed in or out until all visible objects are viewed.

Another solution would be to call Browser.viewAll() after the scene is loaded, which will do the same as Viewpoint.viewAll.

schotten commented 1 year ago

gentlemen, I tested the theory and so far I have not been able to solve the problem. I tried several ways, however, no Viewpoint configuration was accepted.

I changed the code to debug locally 3dPreview.zip

Can you help me? Whats wrong?

create3000 commented 1 year ago

Modified your page and added a onload hander which will call Browser.viewAll.

3dPreview.html.zip

Using both src and inline code will not work, it will load two scenes one after the other.

splace commented 1 year ago

@create3000 saw that, have previously had issues in js/xml/xhtml with the distinction between an empty (or zero) attribute and a non-existent attribute. maybe consider treating an empty attribute the same as a non-existent one?

create3000 commented 1 year ago

@splace good point. Remember we had the same issue with Inline nodes, where it is already fixed.

schotten commented 1 year ago

uauuu.... it's work for me! @create3000 Tanks a lot for your help...

create3000 commented 11 months ago

Browser.viewAll has now an option transitionTime, which is the time of the zoom animation, if set to 0 the view is instantaneously changed. Example:

Browser .viewAll (0);

Reference: https://create3000.github.io/x_ite/reference/browser-services#void-viewall-sfnode-layernode-number-transitiontime--1-non-standard