10 #ifndef OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED
11 #define OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED
64 std::deque<math::Transform> mTransforms;
65 std::deque<float> mWeights;
67 float mShutterStart = -0.25f,
91 :
transform(new math::Transform(_transform))
121 const bool clipToFrustum =
true,
122 const bool invert =
false);
124 operator bool()
const;
135 bool mInvert =
false;
139 namespace point_rasterize_internal {
141 template <
typename Po
intDataGr
idT>
162 template<
typename Po
intDataGr
idT>
198 template <
typename FilterT = po
ints::NullFilter>
201 bool reduceMemory =
false,
float scale = 1.0
f,
const FilterT&
filter = FilterT());
203 template <
typename FilterT = po
ints::NullFilter>
206 bool reduceMemory =
false,
float scale = 1.0
f,
const FilterT&
filter = FilterT());
208 template <
typename FilterT = po
ints::NullFilter>
211 bool reduceMemory =
false,
float scale = 1.0
f,
const FilterT&
filter = FilterT());
213 template <
typename Gr
idT,
typename AttributeT,
typename FilterT = po
ints::NullFilter>
216 bool reduceMemory =
false,
float scale = 1.0
f,
const FilterT&
filter = FilterT());
218 template <
typename Gr
idT,
typename FilterT = po
ints::NullFilter>
223 template <
typename AttributeT,
typename Gr
idT,
typename FilterT>
225 performRasterization(
227 bool reduceMemory,
float scale,
const FilterT&
filter);
234 std::vector<GridToRasterize> mPointGrids;
253 #endif // OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED
float weight(Index i) const
Efficient rasterization of one or more VDB Points grids into a linear or frustum volume with the opti...
bool accurateFrustumRadius
GLdouble GLdouble GLint GLint const GLdouble * points
SharedPtr< GridBase > Ptr
FrustumRasterizerSettings()=delete
RasterMode
How to composite points into a volume.
const math::Transform & lastTransform() const
std::vector< Name > includeNames
bool accurateSphereMotionBlur
MaskTree::ConstPtr getTreePtr() const
bool hasWeight(Index i) const
size_t size() const
Return number of PointDataGrids in the rasterizer.
#define OPENVDB_USE_VERSION_NAMESPACE
FrustumRasterizer(const FrustumRasterizerSettings &settings, const FrustumRasterizerMask &mask=FrustumRasterizerMask(), util::NullInterrupter *interrupt=nullptr)
main constructor
The Value Accessor Implementation and API methods. The majoirty of the API matches the API of a compa...
Base class for interrupters.
FloatGrid::Ptr rasterizeUniformDensity(RasterMode mode=RasterMode::MAXIMUM, bool reduceMemory=false, float scale=1.0f, const FilterT &filter=FilterT())
GA_API const UT_StringHolder scale
GridBase::Ptr rasterizeAttribute(const Name &attribute, RasterMode mode=RasterMode::ACCUMULATE, bool reduceMemory=false, float scale=1.0f, const FilterT &filter=FilterT())
A struct that stores all include/exclude attribute names as strings and is internally converted into ...
bool valid(const Coord &ijk, AccessorT *acc) const
void appendTransform(const math::Transform &, float weight=1.0f)
Methods for counting points in VDB Point grids.
const CoordBBox & clipBBox() const
const math::Transform & transform(Index i) const
size_t memUsage() const
Return memory usage of the rasterizer.
std::vector< Name > excludeNames
RasterCamera(const math::Transform &transform)
void addPoints(GridConstPtr &points)
Append a PointDataGrid to the rasterizer (but don't rasterize yet).
const math::Transform & firstTransform() const
SharedPtr< const Tree > ConstPtr
float shutterStart() const
GA_API const UT_StringHolder transform
Container class that associates a tree with a transform and metadata.
GridT::Ptr rasterizeMask(bool reduceMemory=false, const FilterT &filter=FilterT())
typename PointDataGridT::ConstPtr GridConstPtr
math::Transform::Ptr transform
A group of shared settings to be used in the Volume Rasterizer.
FrustumRasterizerMask()=default
math::BBox< Vec3d > BBoxd
void setShutter(float start, float end)
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
Digital Differential Analyzers specialized for VDB.
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
typename PointDataGridT::Ptr GridPtr
void clear()
Clear all PointDataGrids in the rasterizer.
FrustumRasterizerSettings(const math::Transform &_transform)
A camera class that provides an interface for camera motion blur when rasterizing.
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
FloatGrid::Ptr rasterizeDensity(const openvdb::Name &attribute, RasterMode mode=RasterMode::MAXIMUM, bool reduceMemory=false, float scale=1.0f, const FilterT &filter=FilterT())