Skip to content

Commit 95bb224

Browse files
committed
update to consolidate kernel and address other notes. Add overview doxygen document.
1 parent e898be2 commit 95bb224

40 files changed

+1510
-794
lines changed

pxr/usd/usdLightField/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,7 @@ pxr_library(usdLightField
2222

2323
PYMODULE_FILES
2424
__init__.py
25+
26+
DOXYGEN_FILES
27+
overview.dox
2528
)

pxr/usd/usdLightField/generatedSchema.classes.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
11
# WARNING: THIS FILE IS GENERATED BY usdGenSchema. DO NOT EDIT.
22

33
# Public Classes
4-
gaussianFalloffFunctionAPI
5-
gaussianShapeAPI
6-
implicitShapeFalloffThresholdAPI
4+
kernelBaseAPI
5+
kernelConstantTriangleAPI
6+
kernelGaussianEllipsoidAPI
7+
kernelGaussianTriangleAPI
78
opacityAttributeAPI
89
orientationAttributeAPI
910
particleField
1011
particleField_3DGaussianSplat
1112
positionAttributeAPI
13+
radianceBaseAPI
1214
scaleAttributeAPI
1315
sphericalBetaAttributeAPI
1416
sphericalHarmonicsAttributeAPI
1517
tokens
16-
triangleShapeAPI
1718

1819
# Python Module Files
1920
module.cpp
20-
wrapGaussianFalloffFunctionAPI.cpp
21-
wrapGaussianShapeAPI.cpp
22-
wrapImplicitShapeFalloffThresholdAPI.cpp
21+
wrapKernelBaseAPI.cpp
22+
wrapKernelConstantTriangleAPI.cpp
23+
wrapKernelGaussianEllipsoidAPI.cpp
24+
wrapKernelGaussianTriangleAPI.cpp
2325
wrapOpacityAttributeAPI.cpp
2426
wrapOrientationAttributeAPI.cpp
2527
wrapParticleField.cpp
2628
wrapParticleField_3DGaussianSplat.cpp
2729
wrapPositionAttributeAPI.cpp
30+
wrapRadianceBaseAPI.cpp
2831
wrapScaleAttributeAPI.cpp
2932
wrapSphericalBetaAttributeAPI.cpp
3033
wrapSphericalHarmonicsAttributeAPI.cpp
3134
wrapTokens.cpp
32-
wrapTriangleShapeAPI.cpp
3335

3436
# Resource Files
3537
generatedSchema.usda

pxr/usd/usdLightField/generatedSchema.module.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ TF_WRAP(UsdLightFieldPositionAttributeAPI);
1212
TF_WRAP(UsdLightFieldOrientationAttributeAPI);
1313
TF_WRAP(UsdLightFieldScaleAttributeAPI);
1414
TF_WRAP(UsdLightFieldOpacityAttributeAPI);
15-
TF_WRAP(UsdLightFieldGaussianShapeAPI);
16-
TF_WRAP(UsdLightFieldTriangleShapeAPI);
17-
TF_WRAP(UsdLightFieldGaussianFalloffFunctionAPI);
18-
TF_WRAP(UsdLightFieldImplicitShapeFalloffThresholdAPI);
15+
TF_WRAP(UsdLightFieldKernelBaseAPI);
16+
TF_WRAP(UsdLightFieldKernelGaussianEllipsoidAPI);
17+
TF_WRAP(UsdLightFieldKernelGaussianTriangleAPI);
18+
TF_WRAP(UsdLightFieldKernelConstantTriangleAPI);
19+
TF_WRAP(UsdLightFieldRadianceBaseAPI);
1920
TF_WRAP(UsdLightFieldSphericalHarmonicsAttributeAPI);
2021
TF_WRAP(UsdLightFieldSphericalBetaAttributeAPI);
2122
TF_WRAP(UsdLightFieldTokens);

pxr/usd/usdLightField/generatedSchema.usda

Lines changed: 41 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
class ParticleField "ParticleField" (
77
customData = {
8-
string userDocBrief = """A ParticleField prim is used as a base to desribe different types
8+
string userDocBrief = """A ParticleField prim is used as a base to describe different types
99
of concrete ParticleField implementations, such as, but not limited
1010
to, 3D Gaussian Splats."""
1111
}
@@ -81,9 +81,9 @@ class ParticleField "ParticleField" (
8181
)
8282
}
8383

84-
class "PositionAttributeAPI" (
84+
class "LightFieldPositionAttributeAPI" (
8585
customData = {
86-
string userDocBrief = """A ParticleField related appliedAPI schema that provides a position
86+
string userDocBrief = """A ParticleField related applied schema that provides a position
8787
attribute to define the locations of the particles."""
8888
}
8989
)
@@ -100,9 +100,9 @@ class "PositionAttributeAPI" (
100100
)
101101
}
102102

103-
class "OrientationAttributeAPI" (
103+
class "LightFieldOrientationAttributeAPI" (
104104
customData = {
105-
string userDocBrief = """A ParticleField related appliedAPI schema that provides an
105+
string userDocBrief = """A ParticleField related applied schema that provides an
106106
orientation attribute to define the orientation of the particles."""
107107
}
108108
)
@@ -119,9 +119,9 @@ class "OrientationAttributeAPI" (
119119
)
120120
}
121121

122-
class "ScaleAttributeAPI" (
122+
class "LightFieldScaleAttributeAPI" (
123123
customData = {
124-
string userDocBrief = """A ParticleField related appliedAPI schema that provides a
124+
string userDocBrief = """A ParticleField related applied schema that provides a
125125
scale attribute to define the scale of the particles."""
126126
}
127127
)
@@ -140,9 +140,9 @@ class "ScaleAttributeAPI" (
140140
)
141141
}
142142

143-
class "OpacityAttributeAPI" (
143+
class "LightFieldOpacityAttributeAPI" (
144144
customData = {
145-
string userDocBrief = """A ParticleField related appliedAPI schema that provides a
145+
string userDocBrief = """A ParticleField related applied schema that provides a
146146
opacity attribute to define the opacity of the particles."""
147147
}
148148
)
@@ -159,65 +159,71 @@ class "OpacityAttributeAPI" (
159159
)
160160
}
161161

162-
class "GaussianShapeAPI" (
162+
class "LightFieldKernelBaseAPI" (
163163
customData = {
164-
string userDocBrief = "Defines the Gaussian shape function."
164+
string userDocBrief = """Defines a base-class type applied schema that all applied schema
165+
that provides the a ParticleField kernel will automatically apply."""
165166
}
166167
)
167168
{
168169
}
169170

170-
class "TriangleShapeAPI" (
171+
class "LightFieldKernelGaussianEllipsoidAPI" (
172+
apiSchemas = ["LightFieldKernelBaseAPI"]
171173
customData = {
172-
string userDocBrief = """Defines a base shape as a equilateral triangle with given edge
173-
length."""
174+
string userDocBrief = "Defines the gaussian ellipsoid kernel for a given ParticleField."
174175
}
175176
)
176177
{
177-
float kernelShape:triangle:edgeLength = 1 (
178+
}
179+
180+
class "LightFieldKernelGaussianTriangleAPI" (
181+
apiSchemas = ["LightFieldKernelBaseAPI"]
182+
customData = {
183+
string userDocBrief = "Defines the gaussian triangle kernel for a given ParticleField."
184+
}
185+
)
186+
{
187+
float kernel:triangle:edgeLength = 1 (
178188
customData = {
179189
string userDocBrief = """The edge length of the equilateral triangle before any scaling
180190
is applied."""
181191
}
182192
)
183193
}
184194

185-
class "GaussianFalloffFunctionAPI" (
195+
class "LightFieldKernelConstantTriangleAPI" (
196+
apiSchemas = ["LightFieldKernelBaseAPI"]
186197
customData = {
187-
string userDocBrief = "Defines a Gaussian fall-off function."
198+
string userDocBrief = "Defines the gaussian triangle kernel for a given ParticleField."
188199
}
189200
)
190201
{
191202
}
192203

193-
class "ImplicitShapeFalloffThresholdAPI" (
204+
class "LightFieldRadianceBaseAPI" (
194205
customData = {
195-
string userDocBrief = """Defines a shape implicitly by providing a threshold value for the
196-
fall-off function linked with the associated shape appliedAPI."""
206+
string userDocBrief = """Defines a base-class type applied schema that all applied schema
207+
that provides the a ParticleField kernel will automatically apply."""
197208
}
198209
)
199210
{
200-
float kernelFalloff:implicitShapeFalloff:threshold = 0.01 (
201-
customData = {
202-
string userDocBrief = """The threshold value for the kernel's fall-off function that
203-
defines the surface boundary."""
204-
}
205-
)
206211
}
207212

208-
class "SphericalHarmonicsAttributeAPI" (
213+
class "LightFieldSphericalHarmonicsAttributeAPI" (
214+
apiSchemas = ["LightFieldRadianceBaseAPI"]
209215
customData = {
210-
string userDocBrief = """A ParticleField related appliedAPI schema that provides spherical
216+
string userDocBrief = """A ParticleField related applied schema that provides spherical
211217
harmonics attributes to define the radiance of the particles."""
212218
}
213219
)
214220
{
215-
float3[] primvars:radiance:sphericalHarmonicsCoefficients (
221+
float3[] radiance:sphericalHarmonicsCoefficients (
216222
customData = {
217223
string userDocBrief = "Flattened array of SH coefficients."
218224
}
219225
)
220-
half3[] primvars:radiance:sphericalHarmonicsCoefficientsh (
226+
half3[] radiance:sphericalHarmonicsCoefficientsh (
221227
customData = {
222228
string userDocBrief = "Flattened array of SH coefficients."
223229
}
@@ -229,22 +235,23 @@ class "SphericalHarmonicsAttributeAPI" (
229235
)
230236
}
231237

232-
class "SphericalBetaAttributeAPI" (
238+
class "LightFieldSphericalBetaAttributeAPI" (
239+
apiSchemas = ["LightFieldRadianceBaseAPI"]
233240
customData = {
234-
string userDocBrief = """A ParticleField related appliedAPI schema that provides spherical
241+
string userDocBrief = """A ParticleField related applied schema that provides spherical
235242
beta attributes to define the radiance of the particles."""
236243
}
237244
)
238245
{
239-
float[] primvars:sphericalBeta:beta (
246+
float[] sphericalBeta:beta (
240247
customData = {
241248
string userDocBrief = "Beta parameter per-particle."
242249
}
243250
)
244251
}
245252

246253
class ParticleField_3DGaussianSplat "ParticleField_3DGaussianSplat" (
247-
apiSchemas = ["PositionAttributeAPI", "OrientationAttributeAPI", "ScaleAttributeAPI", "OpacityAttributeAPI", "GaussianShapeAPI", "GaussianFalloffFunctionAPI", "SphericalHarmonicsAttributeAPI"]
254+
apiSchemas = ["LightFieldPositionAttributeAPI", "LightFieldOrientationAttributeAPI", "LightFieldScaleAttributeAPI", "LightFieldOpacityAttributeAPI", "LightFieldKernelGaussianEllipsoidAPI", "LightFieldSphericalHarmonicsAttributeAPI"]
248255
customData = {
249256
string userDocBrief = """This is a concrete ParticleField representing the original 3D
250257
Gaussian Splats technique (https://arxiv.org/abs/2308.04079)."""

pxr/usd/usdLightField/implicitShapeFalloffThresholdAPI.cpp

Lines changed: 0 additions & 144 deletions
This file was deleted.

0 commit comments

Comments
 (0)