VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEffectControllerShaderCache.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2017 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <string>
15 
16 #include <boost/thread.hpp>
17 
18 #include <map>
19 
20 namespace makVrv
21 {
22  class DtOsgFileCache;
23 
27  {
28  public:
31 
34 
37  virtual const std::string& vertShaderSource(const std::string& vertShaderFile, int textureUnit) const;
38 
41  virtual const std::string& fragShaderSource(const std::string& fragShaderFile, bool forTexArray, const std::string& effectUnitName) const;
42  protected:
44  virtual std::string generateVertShaderSource(const std::string& vertShaderFile, int textureUnit) const;
45 
47  virtual std::string generateFragShaderSource(const std::string& fragShaderFile, bool forTexArray, const std::string& effectUnitName) const;
48  protected:
50 
51  typedef std::pair<std::string, int> VertShaderKey;
52  typedef std::map<VertShaderKey, std::string> MapVertShaders;
53 
55 
56  typedef std::pair<std::string, bool> FragShaderKey;
57  typedef std::map<FragShaderKey, std::string> MapFragShaders;
59 
60  mutable boost::mutex myMutex;
61  };
62 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)