VTK  9.4.20241226
vtkRayCastStructures.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
15#ifndef vtkRayCastStructures_h
16#define vtkRayCastStructures_h
17
18#include "vtkABINamespace.h"
19
20VTK_ABI_NAMESPACE_BEGIN
22{
23 // These are the input values that define the ray. Depending on
24 // whether we are casting a WorldRay or a ViewRay, these are in
25 // world coordinates or view coordinates.
26 float Origin[3];
27 float Direction[3];
28
29 // The pixel location for the ray that is being cast can be
30 // important, for example if hardware ray bounding is being used
31 // and the location in the depth buffer must be matched to this
32 // ray.
33 int Pixel[2];
34
35 // The world coordinate location of the camera is important for the
36 // ray caster to be able to return a Z value for the intersection
38
39 // This input value defines the size of the image
40 int ImageSize[2];
41
42 // These are input values for clipping but may be changed
43 // along the way
44 float NearClip;
45 float FarClip;
46
47 // These are the return values - RGBA and Z
48 float Color[4];
49 float Depth;
50
51 // Some additional space that may be useful for the
52 // specific implementation of the ray caster. This structure
53 // is a convenient place to put it, since there is one
54 // per thread so that writing to these locations is safe
55
56 // Ray information transformed into local coordinates
61
62 // The number of steps we want to take if this is
63 // a ray caster that takes steps
65
66 // The number of steps we actually take if this is
67 // a ray caster that takes steps
69};
71
72VTK_ABI_NAMESPACE_END
73#endif
74// VTK-HeaderTest-Exclude: vtkRayCastStructures.h