1. 13 Dec, 2017 1 commit
    • Jakob Weiss's avatar
      Fixed a truckload of warnings · 4826c14b
      Jakob Weiss authored
      - Lots of missing override definitions
      - some virtual overloaded function hiding warnings
      - class initializer list order
      4826c14b
  2. 29 Sep, 2016 2 commits
    • Jakob Weiss's avatar
      DataContainerInspector now default floating · a23b1e70
      Jakob Weiss authored
      * InspectorWindow immediately detaches from the MDI surface
      * some swapBuffers warning on first creation of the inspector remains
      a23b1e70
    • Jakob Weiss's avatar
      Various fixes and updates · ce6e4a7e
      Jakob Weiss authored
      * increased overall font size
      * introduced debugging diagnostic to detect when derived processors do not call AbstractProcessor::[de]init()
      * fixed processors not adhering to this
      * fixed some tab vs spaces problems
      ce6e4a7e
  3. 05 Jul, 2016 1 commit
  4. 22 Jun, 2016 1 commit
    • Jakob Weiss's avatar
      Fixed Qt crash due painting from invalid thread · 0227c942
      Jakob Weiss authored
      invalidate() failed for events triggered by sigslot signals, as the makeCurrent() only works from the Qt main thread. Invalidation now goes through the Qt Signals/Slots mechanism to end up in the right thread.
      0227c942
  5. 17 Jan, 2016 1 commit
  6. 15 Jan, 2016 1 commit
    • Christian Schulte zu Berge's avatar
      Moved Qt dependency to Qt5: · 5b20d90c
      Christian Schulte zu Berge authored
      * Updated all CMake scripts to use Qt5
      * CampvisApplication takes care of moving the QGLContext thread affinity to the threads that do the rendering.
      * QtCanvas:resize() is called through Qt signalling to ensure being in GUI thread.
      * Added init and deinit functions to the Runnable interface.
      * minimum required CMake version is now 3.0
      
      refs #249
      5b20d90c
  7. 16 Oct, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Various small improvements: · 8bc22f3c
      Christian Schulte zu Berge authored
      * Implemented GenericImageRepresentationLocal<BASETYPE, NUMCHANNELS>::getElementLinear()
      * Added support to ImageRepresentationLocal data to DevilImageWriter
      * DataContainerInspector shows texel position during picking
      8bc22f3c
  8. 20 Jul, 2015 1 commit
  9. 17 Jul, 2015 1 commit
  10. 16 Jul, 2015 1 commit
  11. 06 Jul, 2015 1 commit
  12. 02 Jul, 2015 1 commit
  13. 10 Apr, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Major fix for AMD GPUs. · 083a730a
      Christian Schulte zu Berge authored
      Apparently, glBindAttribLocation() does not work as planned with AMD GPUs. Therefore, all Shaders yielded black images. Replaced all attribute locations with hard-coded ones in the vertex shader and removed corresponding convenience function from cgt::Shader.
      
      refs #382
      083a730a
  14. 18 Feb, 2015 2 commits
  15. 06 Feb, 2015 1 commit
  16. 16 Jan, 2015 1 commit
  17. 09 Dec, 2014 1 commit
  18. 05 Dec, 2014 2 commits
  19. 24 Oct, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Finished work on refactoring the camera API · 3c921952
      Christian Schulte zu Berge authored
      * Removed CameraProperty, CameraPropertyWidget and TrackballNavigationEventListener
      * replaces all known occurrences of the above three with the new TrackballCameraProvider processor
      * introduced TrackballCameraProvider::reinitializeCamera()
      
      refs #141
      3c921952
  20. 23 Oct, 2014 2 commits
  21. 15 Oct, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Moved AbstractJob and OpenGLJobProcessor from campvis-core to tgt and adapted... · fb8b1880
      Christian Schulte zu Berge authored
      Moved AbstractJob and OpenGLJobProcessor from campvis-core to tgt and adapted and cleaned up all necessary includes/references.
      fb8b1880
    • Christian Schulte zu Berge's avatar
      Started refactoring the CAMPVis OpenGL Wrapping API: · 58512d30
      Christian Schulte zu Berge authored
      The new OpenGL wrapping API allows for full multi-threaded access to OpenGL contexts. Instead of one single thread scheduling all OpenGL jobs for all contexts, the new GlContextManager allows for OpenGL access from multiple threads while ensuring that each OpenGL context is acquired by only one thread at a time.
      
      Detailed list of changes:
      * tgt::GlContextManager keeping track of which threads acquire which OpenGL contexts and which threads currently have a context acquired.
      * OpenGLJobProcessor does no longer schedules and execute the OpenGL calls for all existing contexts, but only for one single context that can be used for background tasks or other jobs that explicitly need a valid OpenGL context.
      * AbstractPipeline now implements the Runnable interface and thus runs in it's own thread. This thread also owns the pipeline's OpenGL context.
      * AbstractPipeline has a new pure virtual method executePipeline() that has to perform all computations done by the pipeline.
      * AbstractPipeline now takes directly care of calling Painter::paint() of the pipeline's canvas (instead of signalling the Painter). However, the Painter interface needs further cleanup.
      * AutoEvaluationPipeline was adapted to the new AbstractPipeline API, hence executing processors is no longer delegated to the OpenGLJobProcessor or the SimpleJobProcessor but entirely done in AutoEvaluationPipeline::executePipeline() and thus in the pipeline's thread.
      * Adjusted CampVisApplication, DataContainerInspectorWidget, and GeometryTransferFunctionEditor to the new API.
      58512d30
  22. 11 Aug, 2014 1 commit
  23. 27 Jul, 2014 1 commit
  24. 15 Jul, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Fixed DataHandle reference counting implementation: · ac28b5d7
      Christian Schulte zu Berge authored
      * AbstractData now stores a weak_ptr to its shared_ptr owning group if existant. This avoids unintentional creation of multiple owning groups where each eventually tries to delete the AbstractData on its own (which will certainly not work)
      * Updated DataContainer implementation to use a hash map instead of an unordered map.
      ac28b5d7
  25. 05 May, 2014 1 commit
  26. 30 Apr, 2014 3 commits
  27. 29 Apr, 2014 1 commit
  28. 07 Apr, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Moved invalidation level from AbstractProperty to AbstractProcessor: · 293d43dd
      Christian Schulte zu Berge authored
      To now, each property hat an _invalidationLevel field that was evaluated by processors when the property had changed in order to determine what has to be done. However, since properties could also be owned by other classes, this design was semantically misleading.
      Therefore, it was removed with this commit and replaced by the invalidation map of each processor. Now, this per-processor mapping of property -> invalidation level is managed by the processor itself. Furthermore, the invalidation level is no longer setup during property creation but during AbstractProcessor::addProperty(), which also makes much more sense.
      
      ATTENTION: Due to these intrusive API changes, the code of all processors and other classes handling properties needs to be changed. As a reminder, the implementation of addProperty() also now takes a reference instead of a pointer, so that old code does no longer compile.
      
      refs #542
      293d43dd
  29. 05 Mar, 2014 1 commit
  30. 23 Jan, 2014 2 commits
  31. 21 Jan, 2014 2 commits