THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 01/06/2005 at 09:29, xxxxxxxx wrote:
Cinema 4D Version: 9.1
Platform: Windows ;
Language(s) : C++ ;
when I run TraceGeometry in my volume shader the resulting variable "gid" of the SurfaceIntersection data sometimes returns high negative values, e.g. -2147478405.
Can anybody tell me what these ids stand for?
On 01/06/2005 at 10:38, xxxxxxxx wrote:
Perhaps it's just a 31-bit wraparound of some sort, though 2 billion polygons sounds a bit much. But I assume that this happens together with something unwanted? What are the circumstances to reproduce it?
On 01/06/2005 at 10:45, xxxxxxxx wrote:
there are no real circumstances. It happens when I step through the volume. But I´ve sorted it out already, it was user error (well, programmer error actually :). I was stepping wrongly.
On 01/06/2005 at 10:48, xxxxxxxx wrote:
The global polygon ID can not simply be used as an index, it also has extra bits of info (i.e. bit 31 gets set), you should always use the function in VolumeData to get a local index from the global one.
On 05/06/2005 at 06:14, xxxxxxxx wrote:
Which function in VD would that be? Couldn´t find anyting in there (maybe I missed it?).
On 05/06/2005 at 07:25, xxxxxxxx wrote:
The function you should use is ID_to_Obj, not an entirely clear name the main aim of the function is to tell you the ray object and local ID, this is the safe way to get the local ID also. The cost is tiny since all the data is just fetched from internal tables.
On 05/06/2005 at 10:18, xxxxxxxx wrote:
Ah ok, now I see! I was also a bit confused about the "global hit ID" and "global polygon ID". I almost thought it was a different ID. Maybe Mikael can change that in SurfaceIntersection for the next Doc release to global polygon ID, to be convenient. Thank you