Karsten Schmidt

toxmeister

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

winding cables Aug. 1, 2017, 8:03 a.m.

Take a look at the PTF (Parallel Transport Frames) HDA in thi.ng/houdini [github.com]

If applied recursively, you can create single or multi-core cables, like below…

RLE encoding in exported geometry JSON Aug. 1, 2017, 7:56 a.m.

Thanks, Neil & apologies for slow response! It turned out that I somehow made an export of the wrong node and hence the values didn't match and sent me off on this fruitless journey trying to make sense…

Re: hexdump & bitstream: As you figured out, this was just of the data in nvertices_rle. The way I learnt writing binary is MSB first (even though in the RAM it might be LSB first, but that's IMHO counterintuitive), and MSB first matches directly to the hex nybbles (e.g. C = 1100, not 0011). Anyhow, both have their use…

RLE encoding in exported geometry JSON July 20, 2017, 8:39 a.m.

Where can I find documentation for the RLE encoding used in exported JSON geometry, for example:

"primitives",[
[
[
"type","PolygonCurve_run"
],
[
"startvertex",0,
"nprimitives",160,
"nvertices_rle",[202,6,201,40,202,18,201,18,202,17,201,18,202,30,201,8,202,5]
]
]
]

All 160 prims in this example consist of 80 verts each, so am not sure why this as RLE not just says [160, 80], maybe with some additional prefix bits to indicate this is an RLE'd value…

If I look at the data array as hexdump, I can reconcile the first few bytes, but it would be really, really helpful not having to try to reverse engineer this and get some official word of wisdom about this format, please! I could not find documentation about this anywhere…

00000000: ca 06 c9 28 ca 12 c9 12 ...(....
00000008: ca 11 c9 12 ca 1e c9 08 ........
00000010: ca 05 00 00 00 00 00 00 ........

// first 3 bytes
c a 0 6 c 9
// as bitstream
1100 1010 0000 0110 1100 1001

// 3 bits for RLE type?
110

// 0x50 (80 decimal => number of vertices)
0101 0000

// 0x6c9 = stops making sense here... help needed!
0110 1100 1001