f3d-app / f3d

Fast and minimalist 3D viewer.
https://f3d.app
BSD 3-Clause "New" or "Revised" License
2.88k stars 207 forks source link

2.1.0 Release #864

Closed mwestphal closed 1 year ago

mwestphal commented 1 year ago

Release Candidates :

Release :

mwestphal commented 1 year ago

Release notes

v2.1.0

luxray_loss

🗣 Join our community:

F3D Community is welcoming to users and developers alike! Ask questions, gets involved and starts contributing in a beginner-friendly environment . Discord

❤️ Sponsor F3D:

F3D is looking for sponsors! We have some expanses mainly related to github and web hosting bills, any help to cover the cost would be highly appreciated. To thank you, we'll offer preferential support and vote on next feature and bugfix as soon as you start sponsoring. Sponsors Much love to our few sponsors @Ramalama2 @Ninroot :heart:

🏃 Animation Rework:

Many new feature for better animation in F3D! Animation is now real-time based and there are many new animation options:

output

🎥 Camera options:

Camera options have been improved greatly and now let you set a direction, great to generate screenshot for the same POV of different geometries. Default camera locations have been updated to get a better initial look at the data. New options are:

✨ MatCap:

It is now possible to use MatCap textures to color your model.

2023-06-07-230108_window

🌄 HDRI Improvements:

Setting the HDRI has never been easier, now with .exr support and better caching performance! Just drop a .hdr or .exr on the F3D window and the HDRI will be loaded!

📝 Complete changelog

For F3D users: - Reworked Animation support and added many animation related options (see above) - Added `--camera-direction` and `--camera-zoom-factor` and use it in default config file (see above ) - Added `--texture-matcap` option to load a MatCap texture (see above) - Added support for opening HDRI background with Drop (see above) - Added .exr support for HDRI and textures (see above) - Improved HDRI caching performance (see above) - Added a EGL headless binary release - Added typo suggestion when failing to use the right option name - Added `--invert-zoom` option (libf3d: `interactor.invert-zoom`) to invert zoom direction with right-click on mouse (thanks @DeveloperPaul123!) - Added support for keeping camera position when reloading a file with `UP` key - Added a `--grid-absolute` option (libf3d: `render.grid.absolute`) to position the grid instead of being below the model - Added a "Drop Zone" when starting F3D without loading a file - Added coloring support for STEP files in binary release - Fixed an issue on Windows where the error window would popup even with `--quiet` - Fixed an issue with 16 bit and 32 bit textures with assimp plugin - Fixed an issue on Windows where errors where not visible - Fixed an HDRI issue on reload - Fixed a crash when with the progress bar on reloading a file - Fixed an issue where certain options from config file would be ignored - Fixed a crash with many GLTF files when an array does not have a name - Fixed an issue where dropping a duplicate file would change the loaded file instead of not doing anything - Fixed an issue when loading an unsupported file - Fixed an issue with VRML files - Improved config file for .ply files - Improved config file regex so that they are case-insensitive - Improved `--up` option to support no sign and better validation - Improved F3D version reporting about itself and VTK (`--version`) - Improved documentation, testing, help - Excluded TIFF format from Windows Thumbnailer - Changed the automatic camera position to a version more close to the data - Reduced size of binary release by a factor of two For developers: - Added vcpkg support for dependency installation For F3D packagers: - Added a `F3D_PLUGIN_OCCT_COLORING_SUPPORT` CMake variable to control if this feature is compiled, default is ON - Added `SONAME` support (thanks @bkmgit!) - Added a `F3D_PLUGINS_INSTALL_DIR` CMake variable to control where to install plugins - Added a new module: `F3D_MODULE_EXR` that depends on openexr - Added support to use external `cxxopts` and external `nlohmann-json` (thanks @topazus!) - Fixed a link issue with VTK modules - Fixed a `@loader_path` issue on MacOS - Added support for `CMAKE_INSTALL_*DIR` variables on installation (thanks @topazus!) - Added support for building against a EGL enabled VTK - Fixed a compilation issue with VTK master

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest Thanks to all our contributors for this release: DeveloperPaul123 @topazus @bkmgit @snoyer @Meakk @mwestphal

Credits: Bristleback DOTA Fan-Art by Nikolay_Tsys. Future Parking HDRI by Sergej Majboroda. Luxray by Gianmarco. Bell Park Dawn HDRI by Greg Zaal.

mwestphal commented 1 year ago

@snoyer @Meakk let me know If I missed anything in the above release notes. Also see the list of "focus points" on top.

mwestphal commented 1 year ago

2.1.0-RC1 Testing:

Arch Linux: Thumbnailer not working Ubuntu: Ctrl+Drop + Thumbnailer not working

mwestphal commented 1 year ago

First pass done

Meakk commented 1 year ago

Added mandatory emoticons 😛

mwestphal commented 1 year ago

Promotion Title:

F3D 2.1.0 Released! Fast and minimalist open source 3D viewer now with better animation, camera option and HDRI support.

mwestphal commented 1 year ago

RC3 validated

mwestphal commented 1 year ago

https://github.com/f3d-app/f3d/assets/3129530/86a2bb57-c61e-49c0-a02c-bfb9b851223d

kevinsmia1939 commented 1 year ago

The F3D package on Flathub was updated in https://github.com/flathub/io.github.f3d_app.f3d/pull/34.

drtrigon commented 1 year ago

The progress bar during file loading is missing in this version. If I drop a slightliy more complicated STEP file the app now seems to freeze - no visible feedback at all for several seconds - and then eventually shows the model. Please re-add the progress bar.

mwestphal commented 1 year ago

@drtrigon : It works fine here, tested with a big VTU file. I dont have access to a big step file, could you share one that show the behavior ?

mwestphal commented 1 year ago

release is done.

drtrigon commented 1 year ago

@mwestphal : I did more testing.

If I open a STEP file usually the progress bar does not get showed. Sometimes it does but that’s rare. No idea of the cause.

What I found is, something is wrong with STL files. It does not report “not supported” but behave very similar as if opening a STEP file, but never displays anything.

(I seemingly mixed the two things up as I just was browsing directories by using the arrow keys – my bad.)

Hope that clarifies things. Thanks and greetings!

mwestphal commented 1 year ago

Could you share the problematic files ?

drtrigon commented 1 year ago

It was not a specific faile but essentially all, here a set of 3:

examples.zip

mwestphal commented 1 year ago

There is no progress issue, the file are just not opening correctly in F3D for some reasons.

If you show the verbose output you will see:


Scene bounding box: -3.3063e+38,3.35316e+38,-3.04052e+38,3.35316e+38,-3.29992e+38,3.1336e+38

Camera position: 2.34313e+36,-2.37185e+39,-8.31569e+36
Camera focal point: 2.34313e+36,1.56319e+37,-8.31569e+36
Camera view up: 0,0,1
Camera view angle: 22.1264

Using grid unit square size = 1e+38
Grid origin set to [2.34313e+36, 1.56319e+37, -3.29992e+38]

The file are very very far away from the origin, breaking F3D rendering.

Inspecting the files in ParaView we see that indeed, the point coordinates are basically non-sensical:

a

(top part of a plot of point magnitude, bottom part is an excerpt of some point taken at random from the high magnitude points)

There are two possible reasons for this:

  1. This is your actual data, what is on the file. no bug here.
  2. There is a bug in the vtkSTLReader with your files for some reasons.

How did you generate these files ?

BTW this discussion would fit much better on discord (https://discord.f3d.app)

drtrigon commented 1 year ago

The original file was in a (rather esoteric) CAD format using file extension .prt. As we got the files from a previous project I was not involved in I could never fully figure out what the original format was (just assumtions).

At some point I used CAD Exchanger 3.9.2 build 14270 (cadexchanger.com) in order to batch process and convert them to .stp, .stl and .png such that we are at least able to use them.

The thing to notice is, e.g. the windows stl viewer is able to render those files correctly.

Can they somehow be "sanitized" or repaired, e.g. by subtracting a common offset like the Grid origin [2.34313e+36, 1.56319e+37, -3.29992e+38] or would it be possible to downscale it using the grid unit square size of 1e+38 ?

(I can come to discord of course the thing is, I cannot make sure to be online the same time you are... I am in Europe, what about you?)

mwestphal commented 1 year ago

The thing to notice is, e.g. the windows stl viewer is able to render those files correctly.

I will check when I can

Can they somehow be "sanitized" or repaired, e.g. by subtracting a common offset like the Grid origin [2.34313e+36, 1.56319e+37, -3.29992e+38] or would it be possible to downscale it using the grid unit square size of 1e+38 ?

Probably, but no idea how to do that.

(I can come to discord of course the thing is, I cannot make sure to be online the same time you are... I am in Europe, what about you?)

@Meakk and myself are both in France, but there are users all over the world anyway :)

drtrigon commented 1 year ago

The thing to notice is, e.g. the windows stl viewer is able to render those files correctly.

I will check when I can

Can they somehow be "sanitized" or repaired, e.g. by subtracting a common offset like the Grid origin [2.34313e+36, 1.56319e+37, -3.29992e+38] or would it be possible to downscale it using the grid unit square size of 1e+38 ?

Probably, but no idea how to do that.

For reference:

(I can come to discord of course the thing is, I cannot make sure to be online the same time you are... I am in Europe, what about you?)

@Meakk and myself are both in France, but there are users all over the world anyway :)

As soon as I am back at work I can join the discord channel.

mwestphal commented 1 year ago

@drtrigon was this issue ever fixed ?

drtrigon commented 1 year ago

I don't know. Was a bugfix added, that I should test?

mwestphal commented 1 year ago

Did we discuss it on discord ? I should have taken notes, sorry about that.

drtrigon commented 1 year ago

Actually I don't think we discussed this... 🤔

What would be your questions? (such that I can prepare)

mwestphal commented 1 year ago

just to understand how was the dataset generated and what behavior do you have.

https://discord.f3d.app