VTK
vtkCgShaderDeviceAdapter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCgShaderDeviceAdapter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
25 #ifndef __vtkCgShaderDeviceAdapter_h
26 #define __vtkCgShaderDeviceAdapter_h
27 
28 #include "vtkShaderDeviceAdapter.h"
29 
31 {
32 public:
33  static vtkCgShaderDeviceAdapter* New();
35  void PrintSelf(ostream& os, vtkIndent indent);
36 
37  // Descrition:
38  // This method is called before rendering. This gives the shader device
39  // adapter an opportunity to collect information, such as attribute indices
40  // that it will need while rendering.
41  virtual void PrepareForRender();
42 
44 
53  virtual void SendAttribute(const char* attrname,
54  int components, int type,
55  const void* attribute, unsigned long offset=0);
57 
58 //BTX
59  void SendAttributeInternal(const char* attrname, int components, const double*);
60  void SendAttributeInternal(const char* attrname, int components, const float*);
61 protected:
64 
65 private:
66  vtkCgShaderDeviceAdapter(const vtkCgShaderDeviceAdapter&); // Not implemented.
67  void operator=(const vtkCgShaderDeviceAdapter&); // Not implemented.
68 
69  class vtkInternal;
70  vtkInternal* Internal;
71 //ETX
72 };
73 
74 #endif
75 
76