GteDX11Shader.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 
10 #include <Graphics/GteShader.h>
12 
13 namespace gte
14 {
15 
16 // This class provides virtual functions for generic access to DX11 shader
17 // functions that have embedded in their names "VS", "GS", "PS", "CS",
18 // "DS", and "HS". The prefix "XS" is generic, where X in {V,G,P,C,D,H}.
19 
21 {
22 public:
23  // Calls to ID3D11DeviceContext::XSSetShader.
24  virtual void Enable(ID3D11DeviceContext* context) = 0;
25  virtual void Disable(ID3D11DeviceContext* context) = 0;
26 
27  // Calls to ID3D11DeviceContext::XSSetConstantBuffers.
28  virtual void EnableCBuffer(ID3D11DeviceContext* context,
29  unsigned int bindPoint, ID3D11Buffer* buffer) = 0;
30  virtual void DisableCBuffer(ID3D11DeviceContext* context,
31  unsigned int bindPoint) = 0;
32 
33  // Calls to ID3D11DeviceContext::XSSetShaderResources.
34  virtual void EnableSRView(ID3D11DeviceContext* context,
35  unsigned int bindPoint, ID3D11ShaderResourceView* srView) = 0;
36  virtual void DisableSRView(ID3D11DeviceContext* context,
37  unsigned int bindPoint) = 0;
38 
39  // Calls to ID3D11DeviceContext::XSSetUnorderedAccessViews.
40  virtual void EnableUAView(ID3D11DeviceContext* context,
41  unsigned int bindPoint, ID3D11UnorderedAccessView* uaView,
42  unsigned int initialCount) = 0;
43  virtual void DisableUAView(ID3D11DeviceContext* context,
44  unsigned int bindPoint) = 0;
45 
46  // Calls to ID3D11DeviceContext::XSSetSamplers.
47  virtual void EnableSampler(ID3D11DeviceContext* context,
48  unsigned int bindPoint, ID3D11SamplerState* state) = 0;
49  virtual void DisableSampler(ID3D11DeviceContext* context,
50  unsigned int bindPoint) = 0;
51 
52 protected:
53  // Abstract base class.
54  DX11Shader(Shader const* shader);
55 };
56 
57 }
GLuint shader
Definition: glcorearb.h:780
GLuint buffer
Definition: glcorearb.h:655
#define GTE_IMPEXP
Definition: GTEngineDEF.h:63


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 03:59:59