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
|
/*=========================================================================
Program: Visualization Toolkit
Module: vtkRenderPass.cxx
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.
=========================================================================*/
#include "vtkRenderPass.h"
#include <cassert>
#include "vtkRenderer.h"
#include "vtkOpenGLRenderer.h"
// ----------------------------------------------------------------------------
// Description:
// Default constructor. Do nothing.
vtkRenderPass::vtkRenderPass()
{
this->NumberOfRenderedProps = 0;
}
// ----------------------------------------------------------------------------
// Description:
// Destructor. Do nothing.
vtkRenderPass::~vtkRenderPass()
{
}
// ----------------------------------------------------------------------------
// Description:
// Release graphics resources and ask components to release their own
// resources. Default implementation is empty.
// \pre w_exists: w!=0
void vtkRenderPass::ReleaseGraphicsResources(vtkWindow *w)
{
assert("pre: w_exists" && w != 0);
// empty implementation;
static_cast<void>(w); // avoid warning in release mode.
}
// ----------------------------------------------------------------------------
// Description:
// Call UpdateCamera() on Renderer. This ugly mechanism gives access to
// a protected method of Renderer to subclasses of vtkRenderPass.
// \pre renderer_exists: renderer!=0
void vtkRenderPass::UpdateCamera(vtkRenderer *renderer)
{
assert("pre: renderer_exists" && renderer != 0);
renderer->UpdateCamera();
}
// ----------------------------------------------------------------------------
// Description:
// Call ClearLights() on Renderer. See note about UpdateCamera().
// \pre renderer_exists: renderer!=0
void vtkRenderPass::ClearLights(vtkRenderer *renderer)
{
assert("pre: renderer_exists" && renderer != 0);
vtkOpenGLRenderer *oRenderer = static_cast<vtkOpenGLRenderer *>(renderer);
oRenderer->ClearLights();
}
// ----------------------------------------------------------------------------
// Description:
// Call UpdateLightGeometry() on Renderer. See note about UpdateCamera().
// \pre renderer_exists: renderer!=0
void vtkRenderPass::UpdateLightGeometry(vtkRenderer *renderer)
{
assert("pre: renderer_exists" && renderer != 0);
renderer->UpdateLightGeometry();
}
// ----------------------------------------------------------------------------
// Description:
// Call UpdateLights() on Renderer. See note about UpdateCamera().
// \pre renderer_exists: renderer!=0
void vtkRenderPass::UpdateLights(vtkRenderer *renderer)
{
assert("pre: renderer_exists" && renderer != 0);
renderer->UpdateLights();
}
// ----------------------------------------------------------------------------
// Description:
// Call UpdateGeometry() on Renderer. See note about UpdateCamera().
// \pre renderer_exists: renderer!=0
void vtkRenderPass::UpdateGeometry(vtkRenderer *renderer)
{
assert("pre: renderer_exists" && renderer != 0);
renderer->UpdateGeometry();
}
// ----------------------------------------------------------------------------
// Description:
// Modify protected member LastRenderingUsedDepthPeeling on Renderer.
// See note about UpdateCamera().
// \pre renderer_exists: renderer!=0
void vtkRenderPass::SetLastRenderingUsedDepthPeeling(vtkRenderer *renderer,
bool value)
{
assert("pre: renderer_exists" && renderer != 0);
renderer->LastRenderingUsedDepthPeeling = value;
}
// ----------------------------------------------------------------------------
void vtkRenderPass::PrintSelf(ostream& os, vtkIndent indent)
{
this->Superclass::PrintSelf(os ,indent);
os << indent << "NumberOfRenderedProps:" << this->NumberOfRenderedProps
<< endl;
}
|