1. 27 Jul, 2017 1 commit
    • Jakob Weiss's avatar
      Implemented local ambient occlusion raycaster · 88c45357
      Jakob Weiss authored
      Raycaster is based on the technique described in "Local Ambient Occlusion
      in Direct Volume Rendering" by F. Hernell, P. Ljung, A. Ynnermann in IEEE
      TVCG 2010.
      Implementation does not allow for precomputed LAO volumes but instead
      estimates the LAO term per sample.
  2. 10 May, 2017 1 commit
  3. 05 Jul, 2016 1 commit
    • Jakob Weiss's avatar
      Usage example for reusable data · 079e0bb3
      Jakob Weiss authored
      Very crude demonstration, mainly to prove that everything compiles and (probably?) works as intended. No writable image representations, hence the weird loopholes to remove the representations from the representations list. No deadlocks! yaay!
  4. 20 Jul, 2015 1 commit
  5. 22 Jan, 2015 1 commit
  6. 16 Jan, 2015 1 commit
  7. 27 Jul, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Streamlined AbstractProcessor API: · 36ab435a
      Christian Schulte zu Berge authored
      INVALID_RESULT, INVALID_PROPERTIES, INVALID_SHADER is validated automatically by AbstractProcessor::process(). Hence, there is finally no need anymore to validate these three different levels in each processor.
  8. 05 May, 2014 1 commit
  9. 22 Apr, 2014 1 commit
  10. 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
  11. 04 Apr, 2014 1 commit
  12. 13 Jan, 2014 1 commit
  13. 08 Jan, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Refactoring AbstractProcessor::process() for clearer semantics and better and... · cd9d3feb
      Christian Schulte zu Berge authored
      Refactoring AbstractProcessor::process() for clearer semantics and better and more uniform handling of invalidation levels:
       * AbstractProcessor::process() now calls updateShader(), updateProperties() and/or updateResult() with respect to the current invalidation level
       * each processor shall no longer override process() but the updateXYZ() methods, at minimum updateResult()
       * AbstractProcessor::process() takes care of (un)locking the processor itself (no need to do this from the outside anymore)
      Further implicit changes:
       * Removed redundant HasPropertyCollection::updateProperties()
  14. 13 Dec, 2013 1 commit
  15. 28 Nov, 2013 1 commit
  16. 17 Nov, 2013 1 commit
  17. 30 Oct, 2013 2 commits
  18. 29 Oct, 2013 1 commit
  19. 28 Oct, 2013 1 commit
  20. 15 Oct, 2013 2 commits
  21. 14 Oct, 2013 1 commit
  22. 11 Oct, 2013 1 commit
  23. 08 Oct, 2013 1 commit
  24. 25 Sep, 2013 1 commit
    • Artur Grunau's avatar
      FloatingPointProperty: provide a default step value · 4853ed7d
      Artur Grunau authored
      Even though many float-based properties derived from
      FloatingPointProperty used the same step value, T(0.01), it had to be
      specified when instantiating them. To reduce boilerplate code in
      property constructors, FloatingPointProperty now uses T(0.01) as the
      default step value.
  25. 24 Sep, 2013 1 commit
  26. 21 Sep, 2013 1 commit
    • Artur Grunau's avatar
      Support setting the step of numeric properties · ec9a8b81
      Artur Grunau authored
      A new attribute has been added to all numeric properties: step value. It
      determines the value of a single increment/decrement that numeric
      property widgets use when their associated properties are modified using
      sliders or spin boxes (users are still able to type any valid property
      value in text edits).
      Numerous processors and pipelines had to be updated to work with the
      changed NumericProperty interface. However, choosing a well-suited step
      value for each property can make it easier for users to modify the
      property — using one step value for all properties leads to cases where
      it is either too small, causing users to go through property values
      which don't cause any visible change, or too big, making it difficult to
      quickly determine the right property value.
  27. 04 Sep, 2013 1 commit
  28. 29 Aug, 2013 1 commit
    • Christian Schulte zu Berge's avatar
      Branching work to introduce new FBO handling concept: · 42480c65
      Christian Schulte zu Berge authored
       * each VisualizationProcessor manages its own FBO
       * instead of creating a whole new FBO each process(), the processors shall only create and attach textures to the FBO
       * the FramebufferActivationGuard offers automatic (de)activation and detachment of all textures
      SimpleRaycaster already uses the new concept, the rest still uses the legacy API
  29. 19 Aug, 2013 1 commit
  30. 16 Jul, 2013 1 commit
  31. 14 May, 2013 1 commit
  32. 12 Feb, 2013 1 commit
  33. 10 Feb, 2013 1 commit
  34. 18 Jan, 2013 1 commit
  35. 12 Nov, 2012 1 commit
  36. 08 Nov, 2012 1 commit
  37. 04 Nov, 2012 1 commit
  38. 02 Nov, 2012 1 commit