Jump to content

Search the Community

Showing results for tags 'GU_Detail'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 2 results

  1. Hello. According to documentation, writing to GU_Detail is not thread safe. I have a couple of questions about that. 1. If i need to protect my data, i can use locks (UT_Lock). Cant it be used to write to gdp? For example (pseudo code): void doWork(GU_Detail *gdp) { { UT_Lock::Scope lock(); // Write to gdp here ? } } 2. I'd like to understand what GU_DetailHandle class is, and why and when should i use it? This class also offer some locking methods such as writeLock() and a helper class GU_DetailHandleAutoWriteLock. I guess the later is what i need? 3. To be clear, what i'm trying to do is to generate a hundreds of new GU_Detail instances in different threads, and then merge them down into one detail. Something similar to Duplicate SOP. Consider a following code single thread code: // get geometry from second input const GU_Detail *pattern = inputGeo(1); GU_Detail *copy; for (int i(0); i < 100; i++); { copy = new GU_Detail(pattern); // Call functions to modify copy geometry gdp->merge(*copy); } I want the for loop to be executed in parallel. I'm planing to use THREADED_METHOD2 macros. I'm curious, how GU_DetailHandle can be used in this situation to synchronise writing to detail? OR maybe i should go with another strategy, for example threads produces GU_Details, and main thread performs merging? I'd like to hear any ideas and your experience guys.
  2. Hi everyone, Sorry for the remedial questions. Still new to the Houdini coding world. I have a long vector of ordered positions in space (Houdini calls these Vertices? Is that true?), I also have per-face index information (What I think Houdini calls Points), as well as some normals and UVs. All of these collectively defining a single polygonal surface. From this: http://www.sidefx.com/docs/hdk13.0/hdk_geometry_intro.html It seems that I need to populate the Point Index Map, the Vertex Index Map, the Primitive Index Map, and the Primitive List. Where my primitives represent the faces of the polygon. Does anyone have an example of code that does this? I'm then going to shove that GU_Detail in as a member of a packed prim, but that's a story for another day... Thanks for any tips, Alex