1. 17 Oct, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      * Tied tgt::OpenGLJobProcessor and tgt::OpenGLGarbageCollector closer together... · a1f23eb3
      Christian Schulte zu Berge authored
      * Tied tgt::OpenGLJobProcessor and tgt::OpenGLGarbageCollector closer together regarding OpenGL garbage collection
      * AutoEvaluationPipeline checks for valid OpenGL state after each processor call (only in debug)
      a1f23eb3
    • Christian Schulte zu Berge's avatar
      Various fixes/improvements · 25e14d19
      Christian Schulte zu Berge authored
      * Fixed AutoEvaluationPipeline missing some updates
      * Fixed AutoEvaluationPipeline::executePipeline() to execute processors too often
      * Fixed ParticleFlowRenderer overwriting bound FBO
      * Added Debug checks to tgt::FramebufferObject and tgt::Shader to print warnings when FBO/Shader activation would overwrite an already active FBO/Shader
      25e14d19
  2. 16 Oct, 2014 1 commit
  3. 15 Oct, 2014 3 commits
    • Christian Schulte zu Berge's avatar
      Let tgt::OpenGLGarbageCollector issue its garbage collection request to... · afa7bd28
      Christian Schulte zu Berge authored
      Let tgt::OpenGLGarbageCollector issue its garbage collection request to tgt::OpenGLJobProcessor to get this done in a background thread.
      afa7bd28
    • 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
  4. 07 Oct, 2014 1 commit
  5. 30 Sep, 2014 1 commit
  6. 11 Aug, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Fixed assertion in campvis-test: · 2a2ff2b5
      Christian Schulte zu Berge authored
      campvis-test does not use OpenGLJobProcessor and only initializes it halfway. However, some CAMPVis functionality relies on that. Therefore, I introduced a hack/workaround to set the OpenGL thread manually if you need to.
      
      Furthermore, added exit(EXIT_FAILURE) to recursive assertions to avoid possible endless assertion loops in campvis-test (and thus amok running jobs in Jenkins).
      2a2ff2b5
  7. 27 Jul, 2014 6 commits
  8. 10 Jul, 2014 1 commit
  9. 10 May, 2014 3 commits
    • Artur Grunau's avatar
      Lua bindings: wrap tgt::Vector3 and tgt::Camera · 1fc1219c
      Artur Grunau authored
      As a prerequisite to wrapping campvis::CameraProperty, bindings for two
      new classes from TGT have been added: tgt::Vector3 and tgt::Camera.
      
      References #1
      1fc1219c
    • Artur Grunau's avatar
      Finalise the implementation of the first Lua pipeline · 818c79cc
      Artur Grunau authored
      Now that TGT and campvis-core can be built as shared libraries, the few
      remaining issues with the first Lua pipeline could be tracked and fixed.
      As a result, the pipeline can be executed without any issues, and its
      functionality exactly corresponds to that of ResamplingDemo. To achieve
      this, several additional classes, methods and constants had to be
      wrapped.
      
      References #1
      818c79cc
    • 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
  10. 30 Apr, 2014 1 commit
  11. 28 Apr, 2014 1 commit
  12. 08 Apr, 2014 1 commit
  13. 07 Apr, 2014 2 commits
  14. 04 Apr, 2014 2 commits
  15. 02 Apr, 2014 1 commit
  16. 11 Mar, 2014 1 commit
    • Artur Grunau's avatar
      Use DEFINE_SYMBOL to define export flags · 739996fa
      Artur Grunau authored
      TGT and campvis-core used to manually define flags that instructed their
      code to export DLL symbols. However, CMake has a property called
      DEFINE_SYMBOL that can automatically define export flags when necessary.
      Refactor the CMakeLists of TGT and campvis-core to make use of it.
      
      References #367
      739996fa
  17. 10 Mar, 2014 1 commit
    • Artur Grunau's avatar
      Replace CAMPVIS_SHARED_LIBS with BUILD_SHARED_LIBS · 9c6f117b
      Artur Grunau authored
      CAMPVis used a custom option, CAMPVIS_SHARED_LIBS, to determine whether
      shared or static libraries should be built. This option partially
      duplicated the functionality of one of CMake's standard flags,
      BUILD_SHARED_LIBS. The two could get out of sync, and because CMake only
      consults BUILD_SHARED_LIBS when deciding how to build a library target,
      it was possible to get inconsistent and broken build configurations.
      
      To prevent that, add BUILD_SHARED_LIBS as an option to CAMPVis' main
      CMakeLists and replace all references to CAMPVIS_SHARED_LIBS with
      BUILD_SHARED_LIBS. This makes BUILD_SHARED_LIBS the only flag that
      controls whether shared or static libraries are built.
      
      References #367
      9c6f117b
  18. 05 Mar, 2014 1 commit
  19. 03 Mar, 2014 1 commit
  20. 02 Mar, 2014 2 commits
  21. 01 Mar, 2014 2 commits
  22. 18 Feb, 2014 1 commit
  23. 07 Feb, 2014 3 commits
  24. 21 Jan, 2014 1 commit