GteVisualEffect.h
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #pragma once
9 
11 
12 namespace gte
13 {
14 
16 {
17 public:
18  // Construction and destruction.
19  virtual ~VisualEffect();
20  VisualEffect(std::shared_ptr<VisualProgram> const& program);
21 
22  // Member access.
23  inline std::shared_ptr<VisualProgram> const& GetProgram() const;
24  inline std::shared_ptr<VertexShader> const& GetVertexShader() const;
25  inline std::shared_ptr<PixelShader> const& GetPixelShader() const;
26  inline std::shared_ptr<GeometryShader> const& GetGeometryShader() const;
27 
28 protected:
29  // For derived classes to defer construction because they want to create
30  // programs via a factory.
31  VisualEffect();
32 
33  std::shared_ptr<VisualProgram> mProgram;
37 };
38 
39 
40 inline std::shared_ptr<VisualProgram> const& VisualEffect::GetProgram() const
41 {
42  return mProgram;
43 }
44 
45 inline std::shared_ptr<VertexShader> const& VisualEffect::GetVertexShader() const
46 {
47  return mProgram->GetVShader();
48 }
49 
50 inline std::shared_ptr<PixelShader> const& VisualEffect::GetPixelShader() const
51 {
52  return mProgram->GetPShader();
53 }
54 
55 inline std::shared_ptr<GeometryShader> const& VisualEffect::GetGeometryShader() const
56 {
57  return mProgram->GetGShader();
58 }
59 
60 }
std::function< void(std::shared_ptr< Texture > const &)> TextureUpdater
Definition: GteTexture.h:92
TextureUpdater mTextureUpdater
std::shared_ptr< VertexShader > const & GetVertexShader() const
TextureArrayUpdater mTextureArrayUpdater
GLbitfield GLuint program
Definition: glcorearb.h:1926
std::function< void(std::shared_ptr< Buffer > const &)> BufferUpdater
Definition: GteBuffer.h:24
std::shared_ptr< VisualProgram > const & GetProgram() const
BufferUpdater mBufferUpdater
std::function< void(std::shared_ptr< TextureArray > const &)> TextureArrayUpdater
std::shared_ptr< PixelShader > const & GetPixelShader() const
std::shared_ptr< VisualProgram > mProgram
std::shared_ptr< GeometryShader > const & GetGeometryShader() const
#define GTE_IMPEXP
Definition: GTEngineDEF.h:63


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:02