- 25 Jul, 2017 1 commit
-
-
Jakob Weiss authored
This reverts commit e7e55015. # Conflicts: # core/glsl/tools/shading.frag
-
- 19 Jul, 2017 1 commit
-
-
Jakob Weiss authored
-
- 29 Sep, 2016 1 commit
-
-
Jakob Weiss authored
* Debug Feature: Thread names for pipelines and some important active threads show in debugger * fullscreen can be toggled per pipeline via the pipeline property and via ALT+Return key combination
-
- 23 Jul, 2015 1 commit
-
-
Christian Schulte zu Berge authored
Added a field _pipelineName to AutoEvaluationPipeline. This allows to implement AutoEvaluationPipeline::getName() so that AutoEvaluationPipeline is no longer abstract. Consequently, the LuaPipeline is no longer needed. This change was also used to change the AbstractPipeline constructor signature to pass-by-reference instead of pass-by-pointer for the pipeline's DataContainer. This presents the semantics more clearly since the DataContainer must not be 0.
-
- 21 Jul, 2015 1 commit
-
-
Christian Schulte zu Berge authored
* Added default values to GenericProperty<T> * Lua export now checks properties for default values and only sets the property if its value is different from the default value.
-
- 20 Jul, 2015 1 commit
-
-
Christian Schulte zu Berge authored
-
- 16 Jul, 2015 1 commit
-
-
Christian Schulte zu Berge authored
-
- 02 Jul, 2015 1 commit
-
-
Christian Schulte zu Berge authored
Renamed CampvisPainter to PipelinePainter. The PipelinePainter now directly belongs to the corresponding AbstractPipeline, which also owns the pointer and takes care of creating, (de-)initializing and destroying it.
-
- 12 Jun, 2015 1 commit
-
-
Christian Schulte zu Berge authored
Added virtual AbstractPipeline::paint(), which is called by CampvisPainter at the very end of rendering. This method can be used to render additional overlays directly in the pipeline.
-
- 09 Apr, 2015 2 commits
-
-
Christian Schulte zu Berge authored
Added onDataContainerDataAdded overload to AbstractPipeline to set pipeline dirty when the render target image has changed. Rendering of multiple canvases at the same time still broken though. refs #641
-
Christian Schulte zu Berge authored
-
- 23 Mar, 2015 2 commits
-
-
Hossain Mahmud authored
-
Hossain Mahmud authored
-
- 11 Dec, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Added new common base class RunnableWithConditionalWait that directly includes the std::condition_variable * RunnableWithConditionalWait::stop() notifies the condition variable repeatedly as long until the thread has stopped. This avoids program hangs at shutdown due to race conditions.
-
- 29 Oct, 2014 2 commits
-
-
Hossain Mahmud authored
Conflicts: core/bindings/campvis.i
-
Christian Schulte zu Berge authored
Introducing AbstractPipeline::s_init and AbstractPipeline::s_deinit signals (including Lua bindings) as first step to simplify writing entire pipelines as Lua scripts. The signals are emitted as blocking calls (via triggerSignal()) and can be used by Lua scripts to run (de)initialization code in callback functions. This was tested with the volumerendererdemo.lua pipeline.
-
- 28 Oct, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Added automatic copy of inspect.lua to binary directory to CMake build scripts * Added AbstractPipeline::getProcessor(std::string&) * Added ScopedSynchronousGlJobExecution guard to Lua command execution to ensure having an OpenGL context present * Fixed ordering in CampvisApplication::deinit()
-
- 23 Oct, 2014 2 commits
-
-
Christian Schulte zu Berge authored
refs #386
-
Christian Schulte zu Berge authored
refs #386
-
- 16 Oct, 2014 1 commit
-
-
Christian Schulte zu Berge authored
* Renamed OpenGLJobProcessor::iKnowWhatImDoingGetArbitraryContext() to OpenGLJobProcessor::getContext() * Adjusted headers and method calls in various files
-
- 15 Oct, 2014 1 commit
-
-
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.
-
- 30 Sep, 2014 1 commit
-
-
Jakob Weiss authored
* AbstractPipeline offers getter for the canvas to execute jobs in the pipeline's OpenGL context * PropertyCollectionWidget adds a spacer element at the end to prevent element stretching when there is too much free space * job.h offers new CallFunctionObjectJob to create jobs on the fly using lambda functions (the respective makeJob and makeJobOnHeap are inlined to prevent linker errors)
-
- 08 Aug, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Replaced DataContainer::s_dataAdded<const std::string&, DataHandle> with DataContainer::s_dataAdded<std::string, DataHandle>.
-
- 27 Jul, 2014 3 commits
-
-
Christian Schulte zu Berge authored
Removed all occasions where references to DataHandles were used, since especially their use in signals may lead to segfaults or other undesired behavior.
-
Christian Schulte zu Berge authored
Removed unlockInExtraThread flag from AbstractProcessor::process() - this is no longer needed as signal handling is done asynchroneously now anyway. #ref 384 Conflicts: core/pipeline/abstractprocessor.cpp Conflicts: core/pipeline/abstractprocessor.cpp core/pipeline/abstractprocessor.h
-
Christian Schulte zu Berge authored
Introducing sigslot::concurrent_pointer_list<T> a list-like container allowing thread-safe bidirectional iteration, insertion and removal of elements. Single constraint is that the element type must be a pointer type (or at least have pointer semantics) and never be 0. This is neat, as this class offers exactly what we need for a lock-free sigslot implementation. Updated sigslot implementation to use concurrent_pointer_list for connection storage. Hence, we can get rid of the locking mechanisms, which got completely removed. Since this simplified template definitions for sigslot, many campvis files needed to be adapted (i.e. removing the <> from has_slots<> and signal0<>). refs #384 Conflicts: core/classification/genericgeometrytransferfunction.h core/eventhandlers/trackballnavigationeventlistener.h core/pipeline/processordecoratormasking.h core/properties/propertycollection.h core/properties/transferfunctionproperty.h core/tools/opengljobprocessor.h
-
- 05 May, 2014 1 commit
-
-
Christian Schulte zu Berge authored
-
- 01 Mar, 2014 1 commit
-
-
Christian Schulte zu Berge authored
Builds and runs fine so far, but no elaborate testing done yet. Compiler throws a bunch of C4275 warning, since sigslot:has_slots<> is used in exported classes but is itself not exported. While this is no direct problem for campvis-internal builds, it should still be fixed some time. refs #377
-
- 08 Jan, 2014 1 commit
-
-
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()
-
- 13 Dec, 2013 1 commit
-
-
Christian Schulte zu Berge authored
* Moving to Apache 2.0 license * Updated AUTHORS.txt
-
- 15 Oct, 2013 2 commits
-
-
Sebastian Pölsterl authored
-
Sebastian Pölsterl authored
-
- 08 Oct, 2013 4 commits
-
-
Christian Schulte zu Berge authored
Removing TBB library from /ext making it fully external (user has to install TBB himself). Adapted CMake files. Adapted include directions
-
Christian Schulte zu Berge authored
Refactored DataNameProperty: Got rid of issueWrite() and connect(). Automatic invalidation of connected (shared) DataNameProperties is now delegated to AutoEvaluationPipeline. ATTENTION: needs TBB 4.2 (not yet in repository, will be changed later)
-
Christian Schulte zu Berge authored
-
Christian Schulte zu Berge authored
Refactoring pipeline concept #2: Got rid of distinguishing between AbstractPipeline and VisualizationPipeline. Every AbstractPipeline is also a VisualizationPipeline. However, AbstractPipeline does not care about evaluating its components - this has to be implemented in its subclasses. AutoEvaluationPipeline subclasses AbstractPipeline and automatically evaluates the pipeline by listening to the signals of its components and calling the corresponding process() methods.
-
- 27 Sep, 2013 1 commit
-
-
Christian Schulte zu Berge authored
introducing AbstractProcessor::updateProperties(DataContainer&) which is automatically called by AbstractPipeline when a processor invalidates its INVALID_PROPERTIES flag
-
- 24 May, 2013 1 commit
-
-
schultezub authored
* fixed transfer function shader * let processor unlock call after execution be handled by seperate thread git-svn-id: https://camplinux.in.tum.de/svn/campvis/trunk@494 bb408c1c-ae56-11e1-83d9-df6b3e0c105e
-
- 23 Feb, 2013 1 commit
-
-
schultezub authored
git-svn-id: https://camplinux.in.tum.de/svn/campvis/trunk@477 bb408c1c-ae56-11e1-83d9-df6b3e0c105e
-
- 11 Feb, 2013 1 commit
-
-
schultezub authored
git-svn-id: https://camplinux.in.tum.de/svn/campvis/trunk@465 bb408c1c-ae56-11e1-83d9-df6b3e0c105e
-