Giter Site home page Giter Site logo

florianrhiem / vfrendering Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 3.0 1.24 MB

A vector field rendering library

Home Page: https://florianrhiem.iffgit.fz-juelich.de/VFRendering/

License: MIT License

CMake 3.35% Makefile 4.41% C++ 87.52% QMake 0.21% Shell 0.15% Python 4.18% HTML 0.17%

vfrendering's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vfrendering's Issues

Suggestion: choice of entity for vector visualisation

Two suggestions:

  • simple 2D dots
  • 3D spheres

There are two cases I can think of where a choice besides / in addition to arrows may be useful:

  • If the data set is large, it may make sense to just draw dots instead
  • There may be differences in the data points besides the vector orientation and magnitude (in my case there may be different atom types). It would be nice to be able to draw corresponding coloured spheres in addition to the arrows

Demo does not compile

It seems the demo does not compile:

/usr/bin/ld: libVFRendering.a(glad.c.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/lib/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/VFRenderingDemo.dir/build.make:99: VFRenderingDemo] Error 1
make[1]: *** [CMakeFiles/Makefile2:143: CMakeFiles/VFRenderingDemo.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

I believe this is because the -ldl is missing in the linking. If I append this manually to the linkline:

/usr/bin/c++ CMakeFiles/VFRenderingDemo.dir/demo.cxx.o -o VFRenderingDemo libVFRendering.a /usr/lib/libglfw.so.3.2 qhull-prefix/src/qhull-build/libqhullcpp.a qhull-prefix/src/qhull-build/libqhullstatic_r.a -ldl

it works.

Suggestion: renderer-specific colormaps

Visualising a surface together with arrows could be visually clearer if e.g. the surface has a colormap but the arrows are grey, as with identical colormaps the triangles of surface and arrows "melt together".

A new option in the RendererBase could maybe work as follows:

  • when the CM of a renderer is "default" (or similar), the View's CM is used
  • otherwise the CM in the renderer will override the View's setting

Rendering to buffer of different size to screen

In order to produce high-quality publication-ready images, it would be a very useful feature to not be limited to the current screen's resolution.
Unfortunately, I do not know what this would entail and what kind of data structure a corresponding function should return. But I assume VFRendering would be the right place to implement this, not in the host code using this library?

Alpha-value parameter for transparent renderers

Would this be reasonably easy to implement via the shaders, simply giving all a renderer's triangles an alpha value?

It would be useful for all renderers, but especially transparent isosurfaces would be a very cool feature, see for example this:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.