1. 10 Apr, 2015 1 commit
    • Christian Schulte zu Berge's avatar
      Major fix for AMD GPUs. · 083a730a
      Christian Schulte zu Berge authored
      Apparently, glBindAttribLocation() does not work as planned with AMD GPUs. Therefore, all Shaders yielded black images. Replaced all attribute locations with hard-coded ones in the vertex shader and removed corresponding convenience function from cgt::Shader.
      
      refs #382
      083a730a
  2. 09 Jan, 2015 1 commit
  3. 05 Dec, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Completely refactored and cleaned up cgt::Texture interface: · 3df24932
      Christian Schulte zu Berge authored
      * cleaned up cgt::Texture's constructors: only two left - to create an empty texture or a non-empty one
      * cgt::Texture will no longer hold a copy of the image data in local memory
      * removed a lot of redundant/confusing methods
      * no longer needed to call uploadTexture() even though you don't want to upload sth.
      * Adapted all known code to the new interface
      * Removed cgt::TextureReaderDevil
      
      refs #613
      3df24932
  4. 23 Oct, 2014 2 commits
  5. 08 Aug, 2014 1 commit
  6. 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
  7. 05 May, 2014 1 commit
  8. 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
      293d43dd
  9. 04 Apr, 2014 1 commit
  10. 28 Jan, 2014 1 commit
  11. 23 Jan, 2014 2 commits
  12. 21 Jan, 2014 1 commit
  13. 14 Jan, 2014 1 commit
  14. 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
  15. 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
  16. 13 Dec, 2013 1 commit
  17. 12 Dec, 2013 2 commits