VTK  9.3.20240424
vtkOSPRayTestInteractor.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3// .SECTION Description
4// A common interactor style for the ospray tests that understands
5// the following key presses.
6// c => switch between OSPRay and GL
7// s => turn shadows on and off
8// n => focuses view on the next actor and hides all others
9// 2/1 => increase/decrease the number of samples per pixel
10// P/p => increase/decrease the number of OSPRay rendering passes
11// l => turns on each light in the scene in turn
12// I/i => increase/decrease the global light intensity scale
13// D/d => increase/decrease the number of ambient occlusion samples
14// t => change renderer type: scivis, pathtracer
15// N => toggle use of openimage denoiser, if applicable
16
17#ifndef vtkOSPRayTestInteractor_h
18#define vtkOSPRayTestInteractor_h
19
21
22#include <string>
23#include <vector>
24
25VTK_ABI_NAMESPACE_BEGIN
26class vtkCommand;
27class vtkRenderer;
28class vtkRenderPass;
29class vtkRenderWindow;
30VTK_ABI_NAMESPACE_END
31
32// Define interaction style
34{
35private:
36 vtkRenderer* GLRenderer;
39 int VisibleActor;
40 int VisibleLight;
41 vtkCommand* Looper;
42
43public:
49 void OnKeyPress() override;
50
51 static void AddName(const char* name);
52
53 // access to a progressive rendering automator
55};
56
57#endif
superclass for callback/observer methods
Definition vtkCommand.h:384
interactive manipulation of the camera
static void AddName(const char *name)
void OnKeyPress() override
void SetPipelineControlPoints(vtkRenderer *g, vtkRenderPass *_O, vtkRenderPass *_G)
static vtkOSPRayTestInteractor * New()
vtkCommand * GetLooper(vtkRenderWindow *)
Perform part of the rendering of a vtkRenderer.
create a window for renderers to draw into
abstract specification for renderers