1. 23 Oct, 2014 5 commits
  2. 22 Oct, 2014 1 commit
  3. 17 Oct, 2014 4 commits
  4. 16 Oct, 2014 1 commit
  5. 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
  6. 07 Oct, 2014 1 commit
  7. 30 Sep, 2014 1 commit
  8. 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
  9. 07 Aug, 2014 3 commits
  10. 03 Aug, 2014 1 commit
  11. 02 Aug, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Introducing cool debug functionality to sigslot library. · d07ebc73
      Christian Schulte zu Berge authored
      When compiled with CAMPVIS_DEBUG, all signals carry additional information on the calling function, file and line. This is realized transparently through some macro magic when client code emits signals through the new emitSignal() method. Unfortunately, there is no way to debug-overload the operator(), hence, while this way of emitting signals remains valid, it cannot write the debug information into the signal handle.
      
      To avoid symbol conflicts, _connection_base::emitSignal() and has_slots::emitSignal() had to be renamed to ::processSignal().
      
      refs #384
      d07ebc73
    • Christian Schulte zu Berge's avatar
      Adjusting the testing framework to the new sigslot API. · bcbb5fdb
      Christian Schulte zu Berge authored
      Introducing SignalHandlingMode to signal_manager to allow forcing all signals being handled directly (needed for test-campvis) or queued.
      
      refs #384
      bcbb5fdb
  12. 01 Aug, 2014 1 commit
  13. 27 Jul, 2014 11 commits
  14. 15 Jul, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Fixed GCC compatability of scripting module: · 92c3bdef
      Christian Schulte zu Berge authored
      * CMake build files now support unix builds
      * SWIG interface files and Lua wrappers are now fully C++ compliant to comfort GCC
      * Hacked shared/static builds of the campvis-modules module even more, but now it works on both MSVC and GCC
      92c3bdef
  15. 10 Jul, 2014 1 commit
  16. 31 May, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Started implementation of a Lua console in campvis-application. · a33ee468
      Christian Schulte zu Berge authored
      With scripting enabled, the main window now has an additional scripting widget that allows to interact with a Lua VM. The current proof-of-concept implementation creates a Lua VM for every instantiated CAMPVis pipeline while the console just interacts with the first pipeline's one.
      However, the Lua VM concept has to be reiterated later anyway. It may make more sense to have just a single central Lua VM for the entire application, which is shared by each pipeline.
      a33ee468
  17. 11 May, 2014 1 commit
    • Artur Grunau's avatar
      Update the Lua submodule to the newest version · 2a838d8f
      Artur Grunau authored
      The CMake-enabled version of Lua that CAMPVis' scripting layer uses
      hasn't been updated in a while. Synchronise it with upstream now that
      we're getting ready to merge the `swig` branch in.
      
      References #1
      2a838d8f
  18. 10 May, 2014 1 commit
    • Artur Grunau's avatar
      Add support for all signal arities to SWIG wrappers for siglot · 9ee1138f
      Artur Grunau authored
      SWIG wrappers for siglot only supported unary signals until now. This
      commit adds support for all remaining signal arities to make it possible
      to connect to arbitrary signals from Lua.
      
      The implementation makes heavy use of templates but, due to the
      limitations of VS 2010 (no variadic templates), still contains lots of
      duplicated boilerplate code.
      
      `sigslot.i` has been moved from `scripting/` to `ext/sigslot/` to keep
      it close to the code it's wrapping.
      
      References #1
      9ee1138f