cosmoscout / cosmoscout-vr Goto Github PK
View Code? Open in Web Editor NEW:milky_way: A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
License: Other
:milky_way: A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
License: Other
This should be implemented with a secondary image tile source.
Especially at low frame rates this can become very annoying.
The following things need to be done:
CosmoScout VR currently doesn't compile with MinGW.
Known issues:
recv
This is hard to reproduce and requires some more investigation. Sometimes the application crashes when data outside of the SPICE kernel coverage is requested.
This should be solved using the .gitattributes
file.
This should be implemented with a secondary texture.
cps-fly-to-locations
and csp-sattelites
are missing #include <string>
in their respective Plugin.hpp
files.
Without importing <string>
building cosomoscout will fail.
It's simply not required that this is done in a DFN node. This makes the code much more difficult to understand and maintain.
It's simply not required that this is done in a DFN node. This makes the code much more difficult to understand and maintain.
It is not clear where issues should be reported: In the main CosmoScout VR repository or in the individual submodules?
Simple 2D/3D geometric types and algorithms related to them (intersections, areas, volumes, distances) are implemented multiple times throughout the application and scattered over plugins.
Create a small glm based utility package that implements common geometric types and related functions.
Instead of developing it beforehand, the types and algorithms can be created on demand in the core engine.
So each time a new geometric type gets created for some functionality in a plugin it should be put in the core engines utility namespace, where it can be reused by other plugins.
There are cases which are hard to reproduce where the application hangs for several seconds when the simulation time changes quickly.
For now it seems to happen only in cluster mode.
It's simply not required that this is done in a DFN node. This makes the code much more difficult to understand and maintain.
This should include:
I added the cmake to my PATH enviroment variable to start compiling but make_externals.bat failed due to the invalid parameter "--parallel 8". After removing the argument, make_externals.bat just works fine.
When using the auto-fly-to option to another planet, the target latitude and longitude is wrong if the simulation time differs from the system time.
Using the fly-to-locations feature with MSL results in MSL always having the focus for rotation.
Steps to reproduce the behavior:
The rotational center should be Mars when zooming out.
Several shaders of CosmoScout VR require #version 430
. Do we really need this?
Due to the refactoring in the gl-calls in WorldSpaceGuiArea are useless now. As a result, GuiItems in the WorldSpaceGuiArea are not drawn to their proper positions.
When started for the very first time, users are greeted with a black screen for several minutes, as the example data is downloaded.
The progress of the individual downloads should be printed on the loading screen.
This should include
Currently the time speed is goes from realtime directly to hours, which in some applications is to coarse.
I suggest adding minutes to the possible speeds.
Add a document which explains:
A lot of shaders are querying the location of uniforms every frame, which should be avoided.
The uniform locations should be queries once after the shader has been linked and saved for reuse.
I propose the following convention for caching uniforms in a render class.
class SomeRenderer : public IVistaOpenGLDraw {
public:
SomeRenderer() {
/* compile shader and link shader */
mUniforms.mvp = glGetUniformLocation(mShader, "uMVP");
mUniforms.color = glGetUniformLocation(mShader, "uColor");
mUniforms.sunLocation = glGetUniformLocation(mShader, "uSunLocation");
}
/* ... */
private:
/* ... */
uint32_t mShader;
struct {
uint32_t mvp;
uint32_t color;
uint32_t sunLocation;
} mUniforms;
}
I am currently performing some experiments in feature/actions. Here is the current status:
master
and develop
[run-ci]
in commit messagesIt would be great, if a notification is shown, when the user travels to a planet or a pre-defined location on a planet.
The windows start scripts (start.bat
and vive.bat
) should behave similar to the Linux start script (start.sh
).
When being on Mars, selecting Olympus Mons as fly-to-target crashes the application.
Especially at low frame rates, the observer moves much to quickly to a planet's surface.
Double or multi click events with the Web GUI elements are not supported at the moment
Measure time between two clicks and increase click count
None
Document the project setup with different IDEs.
There are several classes which are instantiated multiple times with each instance having an identical shader program. This should be optimized! Here are some classes which are affected:
WorldSpaceGuiArea.hpp
ScreenSpaceGuiArea.hpp
Trajectory.hpp
Mark.hpp
Sunflare.hpp
DeepSpaceDot.hpp
SimpleBody.hpp
Sharad.hpp
Ring.hpp
PolygonTool.hpp
PathTool.hpp
EllipseTool.hpp
DipStrikeTool.hpp
This should be now in the csp-fly-to-locations plugin.
Building glew through make_externals.bat
fails with the following error:
This seems to be related to: nigels-com/glew#180
Using the proposed fix from: https://gitlab.com/ssrobins/conan-glew/blob/stable/CMakeLists.diff resolves the issue and glew builds without errors
Using VS2019 with MSVC 141
Check for errors in the config and catch them to prevent crashes. Also give the user useful feedback.
It is only used in there.
The current implementation for manipulating the simulation time is very cumbersome.
When interacting with gui elements e.g. moving a draggable html element, the focus/events get lost in CosmoScout VR when leaving the visible element. These events should be working until the mouse is released
It would be great if plugins checked out to the plugins
directory would not need to be registered in the plugins/CMakeLists.txt.
This CMakeLists.txt
should loop over all plugin directories. In order to enable or disable building a specific plugin, an option should be added to each and every plugin's CMakeLists.txt
.
The current implementation of cascaded shadow maps can be significantly improved by automatically adjusting the shadow parameters at run time. A possible approach might be to check the current depth range.
Some externals have to compiled in debug mode, too.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.