RavEngine
Loading...
Searching...
No Matches
NvFlowRayMarchParams.h
1// Redistribution and use in source and binary forms, with or without
2// modification, are permitted provided that the following conditions
3// are met:
4// * Redistributions of source code must retain the above copyright
5// notice, this list of conditions and the following disclaimer.
6// * Redistributions in binary form must reproduce the above copyright
7// notice, this list of conditions and the following disclaimer in the
8// documentation and/or other materials provided with the distribution.
9// * Neither the name of NVIDIA CORPORATION nor the names of its
10// contributors may be used to endorse or promote products derived
11// from this software without specific prior written permission.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24//
25// Copyright (c) 2014-2022 NVIDIA Corporation. All rights reserved.
26
27
28#ifndef NV_FLOW_RAY_MARCH_PARAMS_H
29#define NV_FLOW_RAY_MARCH_PARAMS_H
30
31#include "NvFlowShaderTypes.h"
32
34{
35 float densityMultiplier;
36 NvFlowUint enableCloudMode;
37 float pad1;
38 float pad2;
39 NvFlowFloat3 ambientColor;
40 float ambientMultiplier;
41 NvFlowFloat3 volumeBaseColor;
42 float volumeColorMultiplier;
43 NvFlowFloat3 sunDirection;
44 float shadowStepMultiplier;
45 NvFlowFloat3 attenuationMultiplier;
46 int numShadowSteps;
47};
48#ifdef NV_FLOW_CPU
50#endif
51
53{
54 NvFlowFloat3 blockSizeWorld;
55 float minBlockSizeWorld;
56 NvFlowFloat3 blockSizeWorldInv;
57 float maxBlockSizeWorld;
58 NvFlowFloat3 cellSize;
59 float stepSize;
60 NvFlowFloat3 cellSizeInv;
61 float stepSizeInv;
62 NvFlowInt4 locationMin;
63 NvFlowInt4 locationMax;
64 NvFlowFloat3 worldMin;
65 NvFlowUint enableBlockWireframe;
66 NvFlowFloat3 worldMax;
67 NvFlowUint enableRawMode;
68
69 NvFlowFloat3 velocityCellSizeInv;
70 float deltaTime;
71
72 int layer;
73 float layerColormapV;
74 float alphaScale;
75 float colorScale;
76
77 float shadowFactor;
78 float pad1;
79 float pad2;
80 float pad3;
81
83};
84#ifdef NV_FLOW_CPU
86#endif
87
89{
90 NvFlowFloat3 blockSizeWorld;
91 float minBlockSizeWorld;
92 NvFlowFloat3 blockSizeWorldInv;
93 float maxBlockSizeWorld;
94 NvFlowFloat3 cellSize;
95 float stepSize;
96 NvFlowFloat3 cellSizeInv;
97 float stepSizeInv;
98 NvFlowInt4 locationMin;
99 NvFlowInt4 locationMax;
100 NvFlowFloat3 worldMin;
101 NvFlowUint enableBlockWireframe;
102 NvFlowFloat3 worldMax;
103 NvFlowUint visualizeNormals;
104
105 int layer;
106 float densityThreshold;
107 NvFlowUint refractionMode;
108 NvFlowUint pad2;
109
110 NvFlowFloat3 fluidColor;
111 float fluidIoR;
112 NvFlowFloat3 fluidSpecularReflectance;
113 float fluidAbsorptionCoefficient;
114 NvFlowFloat3 fluidDiffuseReflectance;
115 float pad3;
116 NvFlowFloat3 fluidRadiance;
117 float pad4;
118};
119#ifdef NV_FLOW_CPU
121#endif
122
124{
125 NvFlowSparseLevelParams levelParamsVelocity;
126 NvFlowSparseLevelParams levelParamsDensity;
127
128 NvFlowFloat4x4 projection;
129 NvFlowFloat4x4 view;
130 NvFlowFloat4x4 projectionJitteredInv;
131 NvFlowFloat4x4 viewInv;
132
133 NvFlowFloat4 rayDir00;
134 NvFlowFloat4 rayDir10;
135 NvFlowFloat4 rayDir01;
136 NvFlowFloat4 rayDir11;
137
138 NvFlowFloat4 rayOrigin00;
139 NvFlowFloat4 rayOrigin10;
140 NvFlowFloat4 rayOrigin01;
141 NvFlowFloat4 rayOrigin11;
142
143 float width;
144 float height;
145 float widthInv;
146 float heightInv;
147
148 float depthWidth;
149 float depthHeight;
150 float depthWidthInv;
151 float depthHeightInv;
152
153 NvFlowUint numLayers;
154 float maxWorldDistance;
155 NvFlowUint isReverseZ;
156 float compositeColorScale;
157};
158#ifdef NV_FLOW_CPU
160#endif
161
163{
165 float minIntensity;
166 NvFlowUint numSteps;
167 NvFlowUint isPointLight;
168 float stepOffset;
169 NvFlowFloat3 lightDirection;
170 NvFlowUint enabled;
171 NvFlowFloat3 lightPosition;
172 float pad3;
173};
174#ifdef NV_FLOW_CPU
176#endif
177
179{
180 NvFlowUint blockIdxOffset;
181 NvFlowUint pad1;
182 NvFlowUint pad2;
183 NvFlowUint pad3;
184 NvFlowSparseLevelParams coarseDensityTable;
185 NvFlowSparseLevelParams densityTable;
186};
187#ifdef NV_FLOW_CPU
189#endif
190
191#endif
Definition NvFlowRayMarchParams.h:34
Definition NvFlowRayMarchParams.h:89
Definition NvFlowRayMarchParams.h:53
Definition NvFlowRayMarchParams.h:124
Definition NvFlowRayMarchParams.h:163
Definition NvFlowRayMarchParams.h:179
Definition NvFlowShaderTypes.h:117