1. 23 Oct, 2014 2 commits
  2. 08 Oct, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Improved CAMPVis deployment: · 665c2036
      Christian Schulte zu Berge authored
      Added directories of various needed resources (textures, sampledata) to the CampvisShaderDirectories CMake variable, which is used for deployment. Replaced various occurences of CAMPVIS_SOURCE_DIR with ShdrMgr.completePath().
      665c2036
    • Christian Schulte zu Berge's avatar
      Various fixes/improvements: · 388856cf
      Christian Schulte zu Berge authored
      * Fixed GenericPointerData::getData() implementation
      * Improved input data handling in RenderTargetCompositor: Will also show something if only one of the two inputs are set
      * removed obsolete GlReductionTest pipeline
      388856cf
  3. 08 Aug, 2014 1 commit
  4. 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.
      36ab435a
  5. 10 May, 2014 7 commits
    • Artur Grunau's avatar
      Add a light source to Lua pipelines · 080b3ae3
      Artur Grunau authored
      Starting with commit d6fec679, pipelines need to provide their own light
      source to function properly. Lua pipelines didn't, which caused them to
      fail to render.
      
      Add a SWIG wrapper for LightSourceProvider to make it accessible from
      Lua. Instantiate and attach a light source in existing Lua pipelines.
      
      References #1
      080b3ae3
    • Artur Grunau's avatar
      Adapt bindings to the new invalidation level system · 16ee3af2
      Artur Grunau authored
      Commit 293d43dd introduced breaking changes to the way invalidation
      levels are handled. As a result, property and processor-related bindings
      failed to compile.
      
      Update all SWIG bindings affected by the above problem to make them
      compatible with the current property and processor-related APIs.
      
      References #1
      16ee3af2
    • Artur Grunau's avatar
      Get rid of ExtendedAutoEvaluationPipeline · d41681ec
      Artur Grunau authored
      Lua pipelines need to access certain protected properties of
      AbstractPipeline but can't reference them directly as they don't
      actually inherit from any class. ExtendedAutoEvaluationPipeline was
      added to generated bindings to expose public getters for the properties
      in question. LuaPipeline instances could then be cast to
      ExtendedAutoEvaluationPipeline to give Lua code access to these new
      methods.
      
      However, now that HasPropertyCollection has been wrapped, the protected
      properties can be accessed via its getProperty method. This approach is
      preferred as it's much cleaner and simplifies our interface files. As a
      result, ExtendedAutoEvaluationPipeline has been removed.
      
      References #1
      d41681ec
    • Artur Grunau's avatar
      Add Lua bindings for several classes from campvis-core · 816fdc50
      Artur Grunau authored
      Several classes from campvis-core that are needed to reimplement
      VolumeRendererDemo in Lua have been wrapped using SWIG. Among the
      classes are: ImageData, CameraProperty,
      TrackballNavigationEventListener, and their respective super-classes.
      
      References #1
      816fdc50
    • Artur Grunau's avatar
      Add support for automatic registration of Lua pipelines · c2348225
      Artur Grunau authored
      As there's currently only one Lua pipeline, we could so far get away
      with storing it in the `scripting` directory, giving it a generic name
      and registering it manually. However, this approach won't work anymore
      once additional Lua pipelines start to be implemented.
      
      To support multiple Lua pipelines, implement a registration mechanism
      for scripted pipelines based on PipelineFactory and similar to
      PipelineRegistrar. It scans each active module's `pipelines` directory
      for Lua pipelines, parses them and generates a registration header that,
      when included, registers them with PipelineFactory.
      
      As a result of the above, the test Lua pipeline had to be moved to
      `modules/preprocessing/pipelines/` and could be renamed
      ResamplingDemoLua.
      
      References #1
      c2348225
    • Christian Schulte zu Berge's avatar
      Lua scripting: add a wrapper for FloatProperty · 0ed0a6bb
      Christian Schulte zu Berge authored
      To make it possible to access GlImageResampler's p_resampleScale
      property from Lua, FloatProperty and the classes it depends on have been
      wrapped using SWIG.
      
      References #1
      0ed0a6bb
    • Artur Grunau's avatar
      Lua scripting: rearrange interface files · 382d1c52
      Artur Grunau authored
      All interface files used to live under `scripting/`. However, that
      separated them from the code they were binding and clustered them
      unnecessarily.
      
      Make each interface file part of the CAMPVis component whose code it's
      binding. This fixes the issues mentioned above and makes it possible to
      build Lua modules conditionally, depending on what components of CAMPVis
      are enabled.
      
      References #1
      382d1c52
  6. 05 May, 2014 2 commits
  7. 22 Apr, 2014 1 commit
  8. 07 Apr, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Fixed CMake build scripts to better handle default enabled modules and... · 9622f2ff
      Christian Schulte zu Berge authored
      Fixed CMake build scripts to better handle default enabled modules and specifically disabled modules.
      9622f2ff
    • 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
  9. 05 Apr, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Updated CMake build scripts: · 792e2d52
      Christian Schulte zu Berge authored
      Module file parsing now supports new fields "ThisModApplicationSources", "ThisModApplicationHeaders", and "ThisModApplicationToBeMocced". These files will be added to the campvis-application package (instead of to the campvis-modules package) and thus for instance allow a module to declare property widgets in a non-intrusive way.
      
      Little bug fix in glvesselnessfilter.frag shader.
      792e2d52
  10. 04 Apr, 2014 2 commits
  11. 16 Mar, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Updated and refactored CAMPVis module build system: CAMPVis module .cmake... · 689d5439
      Christian Schulte zu Berge authored
      Updated and refactored CAMPVis module build system: CAMPVis module .cmake files now define two additional Variables:
      * ThisModStatus defines the status of the module and should be one of STABLE, TESTING or EXPERIMENTAL
      * ThisModExternalDependencies defines, whether this module has further external dependencies that are not shipped
      
      The main CAMPVis build system now ships a new enumeration option CAMPVIS_DEFAULT_ENABLED_MODULES, which can be one of "NONE" "STABLE_NO_DEPENDENCIES" "STABLE_WITH_EXTERNAL_DEPENDENCIES" "TESTING" and "ALL". The INCLUDE_MODULE() function in the build scripts will evaluate the modules' status information and enable every module that matches the specified value.
      
      ATTENTION: Due to these changes in the build system, the modules' cmake files should put their setup block into an IF(ModuleEnabled) block, since the file is also parsed, when the module is not enabled (in order to gather the status information).
      
      closes #385
      689d5439
  12. 02 Mar, 2014 1 commit
  13. 28 Jan, 2014 1 commit
  14. 24 Jan, 2014 1 commit
  15. 23 Jan, 2014 2 commits
  16. 21 Jan, 2014 1 commit
  17. 15 Jan, 2014 1 commit
  18. 14 Jan, 2014 1 commit
  19. 13 Jan, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Fixing commit 5f72759e: · 56724724
      Christian Schulte zu Berge authored
      C++ implicit conversion rules made ShaderManager::loadSeparate() ambiguous in some cases. So I decided to cut loose ends and completely refactored loading with standard version into ShaderManager::load() and loading with custom version into ShaderManager::loadWithCustomGlslVersion().
      ShaderManager::loadSeparate() is no longer available!
      56724724
  20. 12 Jan, 2014 2 commits
  21. 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()
      cd9d3feb
  22. 13 Dec, 2013 2 commits
  23. 12 Dec, 2013 2 commits
  24. 28 Oct, 2013 1 commit
  25. 15 Oct, 2013 1 commit