/usr/include/vtk-7.1/vtkOpenGLRenderer.h is in libvtk7-dev 7.1.1+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkOpenGLRenderer.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkOpenGLRenderer
* @brief OpenGL renderer
*
* vtkOpenGLRenderer is a concrete implementation of the abstract class
* vtkRenderer. vtkOpenGLRenderer interfaces to the OpenGL graphics library.
*/
#ifndef vtkOpenGLRenderer_h
#define vtkOpenGLRenderer_h
#include "vtkRenderingOpenGL2Module.h" // For export macro
#include "vtkRenderer.h"
#include <vector> // STL Header
class vtkOpenGLFXAAFilter;
class vtkRenderPass;
class vtkOpenGLTexture;
class vtkTextureObject;
class vtkDepthPeelingPass;
class vtkShadowMapPass;
class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLRenderer : public vtkRenderer
{
public:
static vtkOpenGLRenderer *New();
vtkTypeMacro(vtkOpenGLRenderer, vtkRenderer);
void PrintSelf(ostream& os, vtkIndent indent);
/**
* Concrete open gl render method.
*/
void DeviceRender(void);
/**
* Overridden to support hidden line removal.
*/
virtual void DeviceRenderOpaqueGeometry();
/**
* Render translucent polygonal geometry. Default implementation just call
* UpdateTranslucentPolygonalGeometry().
* Subclasses of vtkRenderer that can deal with depth peeling must
* override this method.
*/
virtual void DeviceRenderTranslucentPolygonalGeometry();
void Clear(void);
/**
* Ask lights to load themselves into graphics pipeline.
*/
int UpdateLights(void);
/**
* Is rendering at translucent geometry stage using depth peeling and
* rendering a layer other than the first one? (Boolean value)
* If so, the uniform variables UseTexture and Texture can be set.
* (Used by vtkOpenGLProperty or vtkOpenGLTexture)
*/
int GetDepthPeelingHigherLayer();
/**
* Indicate if this system is subject to the apple/amd bug
* of not having a working glPrimitiveId
*/
bool HaveApplePrimitiveIdBug();
protected:
vtkOpenGLRenderer();
~vtkOpenGLRenderer();
/**
* Check the compilation status of some fragment shader source.
*/
void CheckCompilation(unsigned int fragmentShader);
// Internal method to release graphics resources in any derived renderers.
virtual void ReleaseGraphicsResources(vtkWindow *w);
/**
* Ask all props to update and draw any opaque and translucent
* geometry. This includes both vtkActors and vtkVolumes
* Returns the number of props that rendered geometry.
*/
virtual int UpdateGeometry();
// Picking functions to be implemented by sub-classes
virtual void DevicePickRender();
virtual void StartPick(unsigned int pickFromSize);
virtual void UpdatePickId();
virtual void DonePick();
virtual unsigned int GetPickedId();
virtual unsigned int GetNumPickedIds();
virtual int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer);
virtual double GetPickedZ();
// Ivars used in picking
class vtkGLPickInfo* PickInfo;
double PickedZ;
friend class vtkOpenGLProperty;
friend class vtkOpenGLTexture;
friend class vtkOpenGLImageSliceMapper;
friend class vtkOpenGLImageResliceMapper;
/**
* FXAA is delegated to an instance of vtkOpenGLFXAAFilter
*/
vtkOpenGLFXAAFilter *FXAAFilter;
/**
* Depth peeling is delegated to an instance of vtkDepthPeelingPass
*/
vtkDepthPeelingPass *DepthPeelingPass;
/**
* Shadows are delegated to an instance of vtkShadowMapPass
*/
vtkShadowMapPass *ShadowMapPass;
// Is rendering at translucent geometry stage using depth peeling and
// rendering a layer other than the first one? (Boolean value)
// If so, the uniform variables UseTexture and Texture can be set.
// (Used by vtkOpenGLProperty or vtkOpenGLTexture)
int DepthPeelingHigherLayer;
friend class vtkRenderPass;
bool HaveApplePrimitiveIdBugValue;
bool HaveApplePrimitiveIdBugChecked;
private:
vtkOpenGLRenderer(const vtkOpenGLRenderer&) VTK_DELETE_FUNCTION;
void operator=(const vtkOpenGLRenderer&) VTK_DELETE_FUNCTION;
};
#endif
|