00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00025 #ifndef __vtkCgShaderDeviceAdapter_h
00026 #define __vtkCgShaderDeviceAdapter_h
00027 
00028 #include "vtkShaderDeviceAdapter.h"
00029 
00030 class VTK_RENDERING_EXPORT vtkCgShaderDeviceAdapter : public vtkShaderDeviceAdapter
00031 {
00032 public:
00033   static vtkCgShaderDeviceAdapter* New();
00034   vtkTypeMacro(vtkCgShaderDeviceAdapter, vtkShaderDeviceAdapter);
00035   void PrintSelf(ostream& os, vtkIndent indent);
00036 
00037   
00038   
00039   
00040   
00041   virtual void PrepareForRender(); 
00042 
00044 
00053   virtual void SendAttribute(const char* attrname,
00054     int components, int type, 
00055     const void* attribute, unsigned long offset=0);
00057 
00058 
00059   void SendAttributeInternal(const char* attrname, int components, const double*);
00060   void SendAttributeInternal(const char* attrname, int components, const float*);
00061 protected:
00062   vtkCgShaderDeviceAdapter();
00063   ~vtkCgShaderDeviceAdapter();
00064 
00065 private:
00066   vtkCgShaderDeviceAdapter(const vtkCgShaderDeviceAdapter&); 
00067   void operator=(const vtkCgShaderDeviceAdapter&); 
00068 
00069   class vtkInternal;
00070   vtkInternal* Internal;
00071 
00072 };
00073 
00074 #endif
00075 
00076