Vaiva Kazanaviciute

play_w_madness

About Me

専門知識
VFX Artist
業界:
Film/TV

Connect

LOCATION
Paris, France
ウェブサイト

Houdini Engine

ADVANCED
Digital Assets  | Pyro FX  | VEX  | Python
INTERMEDIATE
プロシージャルワークフロー  | Solaris  | Mantra  | Karma  | Fluids  | 説明  | PDG
BEGINNER
Realtime FX

Availability

Not Specified

Recent Forum Posts

Pink lines in viewport 2024年7月1日12:37

On the button strip to the right of the viewport there's a "display primitive normals" toggle

Need help with improving this flip simulation 2024年6月28日13:08

Looks like container boundaries, it's too shallow and there's not enough padding above the water level

What is the data storage method of Houdini Opencl? 2024年6月15日14:50

From https://www.sidefx.com/docs/hdk/_s_i_m___geometry_8h_source.html [www.sidefx.com] :
/// Attempt to build a GPU-backed attribute from our geometry.
/// Returns 0 on failure.
/// You do not own the resulting GA_CEAttribute.
GA_CEAttribute* SIM_Geometry::getReadableCEAttribute(GA_AttributeOwner owner, const UT_StringRef &aname, GA_StorageClass storage, int &tuplesize, bool isarray, bool docopy) const { return getReadableCEAttributePrec(owner, aname, storage, GA_PRECISION_32, tuplesize, isarray, docopy); }
virtual GA_CEAttribute* SIM_Geometry::getReadableCEAttributePrec(GA_AttributeOwner owner, const UT_StringRef &aname, GA_StorageClass storage, GA_Precision prec, int &tuplesize, bool isarray, bool docopy) const;

From https://www.sidefx.com/docs/hdk/_g_a___c_e_attribute_8h_source.html [www.sidefx.com] :
cl::Buffer GA_CEAttribute::buffer() const { return myBuffer; }
cl::Buffer GA_CEAttribute::indexBuffer() const { return myIndexBuffer; }

So, I imagine a correct way of obtaining a handle to a GPU buffer would be to obtain GA_CEAttribute ptr from SIM_Geometry
that you get from SIM_Object
that you get from GAS_SubSolver::solveGasSubclass override in your solver class.

And judging by SIM_Geometry public interface, I think it's not going to alloc/build a new buffer for attrib if there already exists one and it wasn't flushed