GteHLSLBaseBuffer.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.1 (2016/09/12)
7 
8 #pragma once
9 
14 #include <fstream>
15 
16 namespace gte
17 {
18 
20 {
21 public:
22  typedef std::pair<HLSLShaderVariable, HLSLShaderType> Member;
23 
24  // Construction and destruction.
25  virtual ~HLSLBaseBuffer();
26 
28  unsigned int numBytes, std::vector<Member> const& members);
29 
31  unsigned int index, unsigned int numBytes,
32  std::vector<Member> const& members);
33 
34  // Member access.
35  std::vector<Member> const& GetMembers() const;
36 
37  // Print to a text file for human readability.
38  virtual void Print(std::ofstream& output) const;
39 
40  // Generation of lookup tables for member layout.
41  void GenerateLayout(std::vector<MemberLayout>& layout) const;
42 
43 private:
44  void GenerateLayout(HLSLShaderType const& type, unsigned int parentOffset,
45  std::string const& parentName,
46  std::vector<MemberLayout>& layout) const;
47 
48  std::vector<Member> mMembers;
49 };
50 
51 }
std::pair< HLSLShaderVariable, HLSLShaderType > Member
std::vector< Member > mMembers
GLsizei const GLchar *const * string
Definition: glcorearb.h:809
#define D3D_SHADER_INPUT_BIND_DESC
GLuint index
Definition: glcorearb.h:781
#define GTE_IMPEXP
Definition: GTEngineDEF.h:63
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:103


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