Interactive Simulation and Visualisation of Flooding Scenarios (3di)

In this research, we explore novel ways of integrating free surface flow simulations with realistic 3D environmental visualisations. The research is conducted within the project of 3di, targeting improved possbilities for hydrologists and policy makers to discuss water management and flood protection strategies. The project is a combined industry- and academic effort within a consortium, bringing together the following institutions:

The research is funded via the „Knowledge for Climate“ research council and various stakeholders within water policy protection planning (Hoogheemraadschap Delfland, Hoogheemraadschap Hollands Noorderkwartier).

Weiterlesen

Veröffentlicht unter English, Graphics, Work | Hinterlasse einen Kommentar

Distributed Rendering on Arbitrary Projection Setups

In this project, we develop techniques for splitting up the workload for rendering amongst several clients (similar to Chromium and Equalizer). The speciality of the approach the flexible support of rendering setups, so that each client can directly render to an attached projection system. Alternatively, rendering results can be sent back to the render master for final composition and projection. Another point of research is the rendering of 3D stereo-scenes on arbitrary projection setups. The correct configuration of the sub-screens is herein the major challenge, because unsuitable projection setups result in problems when fusing the sub-screens and rendering the full-extent 3D scene.

Related Publication:

Kehl, C. (2014). Distributed Rendering and Collaborative User Navigation- and Scene Manipulation. In 3D NordOst workshop (Vol. 17). Gesellschaft zur Foerderung der angewandten Informatik (GFaI).
Veröffentlicht unter English, Work | Hinterlasse einen Kommentar

Generic, Platform-Independent Remote Interaction

This work tries to give a framework of thought (with a particular implementation, for validation) on how to combine heterogeneous input devices into one abstract description, that is used to send the interaction commands consistently over the network. Although the work is similar to VRPN, we derive a different abstract description.

The related, pure-python library currently supports various joysticks, gamepads, keyboard and spacemouse interchangeable. Multiple devices can be used remotely at the same time.

Related Publication:

Kehl, C. (2014). Distributed Rendering and Collaborative User Navigation- and Scene Manipulation. In 3D NordOst workshop (Vol. 17). Gesellschaft zur Foerderung der angewandten Informatik (GFaI).
Veröffentlicht unter English, Work | Hinterlasse einen Kommentar

Content-Based Visual Information Retrieval for Real-World Media Archives

Nowadays media archives, such as housed by the National Institute for Sound and Video (NISV), the British Broadcasting Corporation (BBC) and France Télévision, are huge and growing steadily. Indexing and delivering the information gets increasingly difficult. Current manual techniques of metadata annotation that are often still in use by these institutions are not future-proof.

We therefore investigate in fast, automatic indexing, querying- and deliver strategies for massive visual information (images, video). Our system is based on an interdisciplinary project from „ICT with Industry 2013“, combining viewpoints from Computer Vision, High-Performance Computing and Information Retrieval.

Weiterlesen

Veröffentlicht unter English, Work | Hinterlasse einen Kommentar

Remote, Large-Scale Data Modification

This trajectory of research is about parallel algorithms, implemented on-Chip, to modify (colour, displace, remove) large amounts of 3D data in real-time and remotely from several network sources. These techniques find their applications in, for example, decision-making for large user groups, virtual geology, urban planning and medical pre-operative planning.

Remote colouration using Ball-shapes

Remote colouration using Box-shapes

Remote colouration using 4-sided prismic shapes

Related Publications:

Kehl, C. (2014). Distributed Rendering and Collaborative User Navigation- and Scene Manipulation. In 3D NordOst workshop (Vol. 17). Gesellschaft zur Foerderung der angewandten Informatik (GFaI).
Veröffentlicht unter English, Work | Kommentare deaktiviert für Remote, Large-Scale Data Modification

AMD’s Mantle API – first, bleak opinion

Due to many fuzz coming from recent developments around AMD, I found time today to review some of the very sparse material on AMD’s new Graphics API – Mantle. A good starting point for getting an overview is given via this website.

Now, I have been developing Graphics code and GPU code since many years. It reminds me on my Bachelor’s Thesis times (thesis is here, german), where I worked on parallel, multi-GPU rendering. Due to the different hardware architectures back then (NVIDIA: GT200b; AMD: Streaming Architecture), a developer at some point needs to consider options outside of OpenGL and DirectX in order to leverage such technology features. Yes, there are API extension calls inside OpenGL for everything – but: if one and the same technology (multi-GPU rendering, e.g.) is that poorly converted into a standard (such as OpenGL), then the walk to the more performant API is just recommendable.

Now, back then, we had: NVAPI, NVIDIA SDK (low-level graphics APIs), CUDA (low-level GPGPU API which transformed into PhysX for Graphics, multi-GPU enabled) and AMD Stream SDK (low-level graphics API) and AMD Brook+ (low-level GPGPU API). The difference between both vendors has always been the following:

The bare chip – the graphics architecture embedded in the sillicon chip – has always been superior at AMD’s side. If one is putting a bare OpenGL/CL implementation with no fancy architecture adaptation/optimization to the test (=>simple raytracer tests) for equivalently-emerging GPU’s, then AMD/ATI chips give higher performance rates. Question thus: Why can then NVIDA ask for usually 4/3 of the price of an equivalent AMD-chip ? Why do graphics (resp. graphics developers) work better with NVIDIA cards ? Simple answer: ease of the software stack. While it is relatively easy to squeeze out a bit more performance from an NVIDIA card, due to the superior API collection, documentation, installation etc., it is very, very painful sometimes to optimize for AMD architectures because their API’s are sometimes a bit disorganized – meaning: using e.g. Stream SDK and Brook+ together wasn’t working properly for some time, there’s a constant lack of documentation for the sotware stack and some SDK’s given from AMD are still visibly „a collection of OpenSource libraries“. They miss the glue.

So, what I hope most sincerely from AMD is the distribution of a well-defined, well-documented, IDE-wise well supported (=> Eclipse integration please!!!) API stack that appears also as „one glue – one API“. If that’s the case, Mantle could be the game changer for AMD that they were looking – there counter-piece to NVIDIA’s CUDA (marketshare-wise) some time ago. Let’s hope for the best.

Veröffentlicht unter English, Graphics, Programming, Work | Hinterlasse einen Kommentar

Level-of-Detail with VTK and ParaView

I recently analysed the possibility of streamed Level-of-Detail data inside ParaView. Because Paraview builds upon VTK, I used the Computer Graphics Elements Library to build up the repective data structures.

VTK itself provides 2 ways that were promising: on the one hand, it is possible to store a tree-structure of data (such as an Octree) as vtkMultiBlockData. Another way is to use vtkLODActors to – as it suggests: do Level-of-Detail.

Unfortunately, both ways have their drawbacks. For the MultiBlockData, while they are stored in a tree, ParaView typically, as all other VTK-pipelines, loads all the data at once in the memory. This is because of the VTK Pipeline, that always propagates full data containers. This somehow despises the effect I wanted to reach – just loading the buckets that are in view. So, in the end, you gain nothing with respect to „save memory consumption“ by using the structure. The Level-of-Detail unfortunately also demands that all detail levels of a particular model are permanently available in memory (traditional LoD-concept). This obviously also doesn’t work with Streaming.

I’m working on some new concepts to overcome the problem. A video about the test is appended to the post.



Share 'Level-of-Detail with VTK and ParaView' on Facebook
Share 'Level-of-Detail with VTK and ParaView' on Google+
Share 'Level-of-Detail with VTK and ParaView' on LinkedIn
Share 'Level-of-Detail with VTK and ParaView' on Twitter

Veröffentlicht unter English, Programming, Work | Hinterlasse einen Kommentar

Computer Graphics Elements Library – first release

Today, I want to release a first Alpha-version of the Computer Graphics Elements library. It includes all features formerly mentioned, as well as an Octree streaming-Level-of-Detail technique.
The according applications are, until this point, still excluded from the release (will be added in the future).
The compilation is tested on Ubuntu-platforms and there, it is guaranteed to work. The build is based on CMake, so although I haven’t attempted to build it on Windows-platforms, it should generally be possible.
In order to compile the library, necessary pre-requirements are installations of Boost, OpenMP, libTIFF and Armadillo.
The download is here available.
Share 'Computer Graphics Elements Library – first release' on Facebook Share 'Computer Graphics Elements Library – first release' on Google+ Share 'Computer Graphics Elements Library – first release' on LinkedIn Share 'Computer Graphics Elements Library – first release' on Twitter

Veröffentlicht unter English, Programming, Work | Hinterlasse einen Kommentar

Computer Graphics Elements Library

I, more or less proudly, announce the accomplished version of my Computer Graphics Elements Library (CGEL). The library includes:

  • Geometric Primitive data structures (Vectors, Matrices, Vertices, Edges, Neighbourhood-Maps, Feature-Maps, Triangle Indices) with extensive attribute data support for direct Point-based Rendering (PBR) as well as nicely-shaped Triangulations
  • Geometric Compound data structures (Triangle Surfaces currently, extensions planned) to ease up processing
  • Algorithms for Point Cloud Resampling, Triangulation and Vectors-as-Texture conversion (for use in GPU shaders); Algorithms for Level-of-Detail and Level-of-Abstraction are in the process
  • An extensive list of supported input-output data formats: 3ds, VRML, VTK, OSG, PTS, OFF. DXF is currently planned.

The library is design with high-speed, parallel processing in mind. All basic mathematical structures and functions use interfaces to Armadillo (required). In this way, a self-compiled Armadillo distribution can take most workload and parallelise it automatically via ATLAS, Intel MKL, AMD’s mathematics interface, as well as, for some parts, GPU’s.

Appended to the library are several helper programs, such as WRLconvert (extensive clipping and geometric processing, integrated into a VRML’97 reader), LDT (a Local Delaunay Triangulation of Point Sets, requires CGAL) and several data converters.

Because the library is still in early development, distribution is only on request (c.kehl@tudelft.nl). The libraries target platform is Ubuntu/Linux. It is based on CMake, so theoretically one can attempt to build it on Windows, but I don’t support nor encourage it.

Veröffentlicht unter English, Programming, Work | Kommentare deaktiviert für Computer Graphics Elements Library

DeVIDE tutorial video for Teem integration

vtkTeem integration into DeVIDE – step-by-step manual video (Full Resolution – 1680×1050 H.264 Main 2.1)

vtkTeem integration into DeVIDE – step-by-step manual video (adapted- 1280×720 H.264 Main 3.1)

VTKteemInDevide_n



Share 'DeVIDE tutorial video for Teem integration' on Facebook
Share 'DeVIDE tutorial video for Teem integration' on Google+
Share 'DeVIDE tutorial video for Teem integration' on Hyves
Share 'DeVIDE tutorial video for Teem integration' on LinkedIn
Share 'DeVIDE tutorial video for Teem integration' on Twitter

Veröffentlicht unter English, Work | Hinterlasse einen Kommentar