GtePointLightEffect.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. Set 'select' to 0 for per-vertex effects or to 1 for per-pixel effects.
19  PointLightEffect(std::shared_ptr<ProgramFactory> const& factory,
20  BufferUpdater const& updater, int select, std::shared_ptr<Material> const& material,
21  std::shared_ptr<Lighting> const& lighting, std::shared_ptr<LightCameraGeometry> const& geometry);
22 
23  // After you set or modify 'material', 'light', or 'geometry', call the update
24  // to inform any listener that the corresponding constant buffer has changed.
25  virtual void UpdateMaterialConstant();
26  virtual void UpdateLightingConstant();
27  virtual void UpdateGeometryConstant();
28 
29 private:
31  {
36  };
37 
39  {
44  };
45 
47  {
50  };
51 
52  // Shader source code as strings.
53  static std::string const msGLSLVSSource[2];
54  static std::string const msGLSLPSSource[2];
55  static std::string const msHLSLSource[2];
56  static std::string const* msVSSource[2][ProgramFactory::PF_NUM_API];
57  static std::string const* msPSSource[2][ProgramFactory::PF_NUM_API];
58 };
59 
60 }
std::function< void(std::shared_ptr< Buffer > const &)> BufferUpdater
Definition: GteBuffer.h:24
GLsizei const GLchar *const * string
Definition: glcorearb.h:809
#define GTE_IMPEXP
Definition: GTEngineDEF.h:63


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