Found 11 posts.
Search results Show results as topic list.
Technical Discussion » An artist introduction to the HDK
-
- getuffassassin11
- 11 posts
- Offline
I made a blog post documenting my learning journey with the HDk, attempting to build SOP nodes. Please find it here. Any questions, comments or suggestions are very welcome. https://hakeemadam.info/procedural-tools [hakeemadam.info]
Technical Discussion » HDK local variables and updating the Viewport
-
- getuffassassin11
- 11 posts
- Offline
For anyone facing similar issues, make sure you bump data ids. See this post from the docs [www.sidefx.com] from reference
[code cpp for (GA_Offset i = 0; i < pointsToDelete.size(); i++)
{
gdp->destroyPointOffset(pointsToDelete(i));
gdp->getAttributes().bumpAllDataIds(GA_ATTRIB_POINT);
gdp->getAttributes().bumpAllDataIds(GA_ATTRIB_VERTEX);
gdp->getAttributes().bumpAllDataIds((GA_ATTRIB_PRIMITIVE));
gdp->getPrimitiveList().bumpDataId();
gdp->normal();
gdp->refreshCachedHandles();
}]
[code cpp for (GA_Offset i = 0; i < pointsToDelete.size(); i++)
{
gdp->destroyPointOffset(pointsToDelete(i));
gdp->getAttributes().bumpAllDataIds(GA_ATTRIB_POINT);
gdp->getAttributes().bumpAllDataIds(GA_ATTRIB_VERTEX);
gdp->getAttributes().bumpAllDataIds((GA_ATTRIB_PRIMITIVE));
gdp->getPrimitiveList().bumpDataId();
gdp->normal();
gdp->refreshCachedHandles();
}]
Edited by getuffassassin11 - 2025年2月17日 11:17:57
Technical Discussion » Accessing binding in functions in OpenCL
-
- getuffassassin11
- 11 posts
- Offline
Thank you both very much. I think my example was a bit misleading. I guess what I am referring to is that in Openl CL, global and parameter bindings are only accessible within the scope of the Kernal. And functions have to be defined outside of the kernel, so you cannot access binding in the scope of the function. For example, I cannot pass @Time to a function I write, not as a function argument. It does make sense in the end.
Technical Discussion » Accessing binding in functions in OpenCL
-
- getuffassassin11
- 11 posts
- Offline
I have noticed that you cannot access bindings from your parms or @Time, for example, inside a function you write outside for an OpenCL kernel. Does anyone know why? Is there a way to pass binding to functions in OpenCL
For example
the resulting error
For example
#bind layer src? val=0 #bind layer !&dst #bind parm someParm float val=0 void returnMyParm() { return @someParm; } @KERNEL { returnMyParm(); @dst.set(@src); }
the resulting error
1 error generated. OpenCL Exception: <kernel>:3020:12: error: use of undeclared identifier '_bound_someParm' return AT_someParm; ^ <kernel>:3009:21: note: expanded from macro 'AT_someParm' #define AT_someParm _bound_someParm ^ clBuildProgram (-11)
Technical Discussion » HDK local variables and updating the Viewport
-
- getuffassassin11
- 11 posts
- Offline
Hello, I have been trying to implement a resampling function with the hdk. I used the SOP/SOP_Flatten.C example as a reference which has a helpful comment about using local variables and the viewport. However, I still cannot get the viewport to update when deleting points, i.e, updating my parameter. I can see the geometry spreadsheet update, but when the display flag is on the C++ node, the viewport does not update, I was wondering if anyone has encountered this issue and has any suggestions. Any help?
OP_ERROR MapResample::cookMySop(OP_Context& context) { OP_AutoLockInputs inputs(this); if (inputs.lock(context)>= UT_ERROR_ABORT) return error(); fpreal now = context.getTime(); duplicateSource(0, context); setVariableOrder(3,2,0,1); setCurGdh(0, myGdpHandle); setupLocalVars(); fpreal target = evalFloat("target", 0, now); target /= gdp->getNumPoints(); GA_RWHandleV3 pos_h(gdp->getP()); if (!pos_h.isValid()) return error(); UT_Array<GA_Offset> pointsToDelete; GA_Range pts_range = gdp->getPointRange(); GA_Size numPoints = pts_range.getMaxEntries(); for (GA_Iterator it(pts_range); !it.atEnd(); ++it) { GA_Offset ptoff = *it; GA_Index idx = gdp->pointIndex(ptoff); myCurPtOff[0] = ptoff; if (idx ==0 || idx == numPoints-1) continue; UT_Vector3 curPos = pos_h.get(ptoff); if (idx + 2 >=numPoints) continue; GA_Offset nextOffset = gdp->pointOffset(idx+1); UT_Vector3 nextPos = pos_h.get(nextOffset); GA_Offset secondNextOffset = gdp->pointOffset(idx+2); UT_Vector3 secondNextPos = pos_h.get(secondNextOffset); UT_Vector3 edge1 = curPos - nextPos; UT_Vector3 edge2 = curPos - secondNextPos; UT_Vector3 crossVector = cross(edge1, edge2); fpreal area = crossVector.length() /2.0f; if (area< target) { pointsToDelete.append(ptoff); } } for (GA_Offset i = 0; i < pointsToDelete.size(); i++) { gdp->destroyPointOffset(pointsToDelete(i)); } resetLocalVarRefs(); triggerOutputChanged(); return error(); }
Edited by getuffassassin11 - 2024年12月21日 03:44:35
3rd Party » Procedural Biome Authoring Using Relational Data Models
-
- getuffassassin11
- 11 posts
- Offline
Dear Fellow Houdini User, I just published a blog post on my approach to procedural biomes using relational databases. I discuss encoding and decoding data, WFC and a bit of PDG. Looking forward to any feedback, questions or comments you might have. Thank you https://hakeemadam.info/procedural-tools [hakeemadam.info]
3rd Party » Data-Driven Instancing Using Relational Models
-
- getuffassassin11
- 11 posts
- Offline
Dear Houdini Community, I just published this blog post on my approach to data-driven instancing using a relational data model. you can read it here https://hakeemadam.info/procedural-tools [hakeemadam.info] . This tool builds upon the use of UV packing in the Stack Tool demonstrated by Side FX in the Project Titan Stacking Tool by Thomas Tobin
3rd Party » Sudano-Sahelian Building Generator
-
- getuffassassin11
- 11 posts
- Offline
Dear Houdini Community, I would like to share the documentation of my latest HDA with you. I talk a bit about my research and process. Looking forward to any questions or comments you might have on this. You can read it here https://hakeemadam.info/procedural-tools [hakeemadam.info]
Edited by getuffassassin11 - 2023年6月27日 11:28:21
3rd Party » Procedural Parking Lot - Thoughts on Biome Generation
-
- getuffassassin11
- 11 posts
- Offline
Dear Houdini Community, I just published a blog post on my first attempt at procedural biome generation. I designed a tool to produce an outdoor parking lot. I go over my design intentions and code for making this HDA. Kindly read about it here on my website. https://hakeemadam.info/procedural-tools [hakeemadam.info] I learn so much by doing this project. I would greatly appreciate any feedback and comment. Thank you!
Edited by getuffassassin11 - 2023年5月19日 07:13:38
3rd Party » Electronic Parking Gate HDA - Procedural modelling
-
- getuffassassin11
- 11 posts
- Offline
Dear All,
I have been really enjoying practising Houdini this year. I have just published a short breakdown of this HDA for making a procedural electronic parking gate. Kindly read it here on my website [hakeemadam.info].
Looking forward to any comments or questions you might have.
I have been really enjoying practising Houdini this year. I have just published a short breakdown of this HDA for making a procedural electronic parking gate. Kindly read it here on my website [hakeemadam.info].
Looking forward to any comments or questions you might have.
Edited by getuffassassin11 - 2023年5月4日 04:10:24
3rd Party » My First HDA
-
- getuffassassin11
- 11 posts
- Offline
Hi *,
Thank you all so much for the incredible knowledge you all share freely on here. I am coming from Unereal's Geometry Script for proceduralism into the world of Houdini. I decide to make this tool to bookmark my progress in learning so far. Please find a detailed breakdown here. I would be happy with any feedback or comments you might have. https://hakeemadam.info/procedural-tools [hakeemadam.info] . Thank you.
Procedural Tools [hakeemadam.info]
Thank you all so much for the incredible knowledge you all share freely on here. I am coming from Unereal's Geometry Script for proceduralism into the world of Houdini. I decide to make this tool to bookmark my progress in learning so far. Please find a detailed breakdown here. I would be happy with any feedback or comments you might have. https://hakeemadam.info/procedural-tools [hakeemadam.info] . Thank you.
Procedural Tools [hakeemadam.info]
-
- Quick Links