cosmoscout / cosmoscout-vr

:milky_way: A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
Other
351 stars 27 forks source link

Separate atmosphere preprocessor #374

Closed Schneegans closed 2 months ago

Schneegans commented 3 months ago

This extracts the preprocessing code of the Bruneton atmosphere model into a separate binary. This allows us to precompute the scattering data offline and thus improve the startup time of CosmoScout VR significantly.

The precomputed data is stored in Tiff files and is available in this repository which is used as a submodule in CosmoScout VR.

JonasGilg commented 3 months ago

I get the following error, when I try to compile with Visual Studio 2019:

[...]/plugins/csp-atmospheres/src/models/bruneton/Model.cpp(65): error C2079: "file" verwendet undefiniertes class "std::basic_ifstream<char,std::char_traits<char>>"
[...]/plugins/csp-atmospheres/src/models/bruneton/Model.cpp(65): error C2440: "Initialisierung": "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" kann nicht in "int" konvertiert werden
Schneegans commented 3 months ago

I get the following error, when I try to compile with Visual Studio 2019:

[...]/plugins/csp-atmospheres/src/models/bruneton/Model.cpp(65): error C2079: "file" verwendet undefiniertes class "std::basic_ifstream<char,std::char_traits<char>>"
[...]/plugins/csp-atmospheres/src/models/bruneton/Model.cpp(65): error C2440: "Initialisierung": "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" kann nicht in "int" konvertiert werden

I fixed some other msvc-related issues. However, this error I do not get (also Visual Studio 2019) and the CI builds do not complain either. Do you have an idea what could be the reason?

JonasGilg commented 3 months ago

Okay, I got it to compile. If I start it now I get the following error, when the atmospheres plugin loads:

[I] csp-atmospheres ... Loading plugin...
../share/resources/atmosphere-data/earth/phase.tif: Deflate compression support is not configured.
../share/resources/atmosphere-data/earth/phase.tif: Deflate compression support is not configured.
../share/resources/atmosphere-data/earth/phase.tif: Deflate compression support is not configured.
../share/resources/atmosphere-data/earth/transmittance.tif: Deflate compression support is not configured.
../share/resources/atmosphere-data/earth/transmittance.tif: Deflate compression support is not configured.
../share/resources/atmosphere-data/earth/transmittance.tif: Deflate compression support is not configured.

Edit: Seems that libtiff needs to be compiled with zlib support in Windows to resolve this. Edit 2: We need libdeflate AND zlib to get this running on Windows.

Schneegans commented 3 months ago

Yeah, I simply use textures without compression now. Seems to be the easier approach, I guess.

Schneegans commented 3 months ago

You'll need a git submodule update to fetch the new textures.

coveralls commented 3 months ago

Pull Request Test Coverage Report for Build 9743267682

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
plugins/csp-atmospheres/src/models/cosmoscout/Model.cpp 0 1 0.0%
plugins/csp-atmospheres/src/Atmosphere.cpp 0 2 0.0%
plugins/csp-atmospheres/src/models/bruneton/Metadata.cpp 0 6 0.0%
plugins/csp-atmospheres/src/models/bruneton/Model.cpp 0 121 0.0%
<!-- Total: 0 130 0.0% -->
Files with Coverage Reduction New Missed Lines %
plugins/csp-atmospheres/src/models/bruneton/Model.hpp 2 0.0%
plugins/csp-atmospheres/src/Atmosphere.cpp 3 0.0%
plugins/csp-atmospheres/src/models/bruneton/Model.cpp 5 0.0%
<!-- Total: 10 -->
Totals Coverage Status
Change from base Build 9006373097: 0.04%
Covered Lines: 193
Relevant Lines: 16347

💛 - Coveralls