THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/08/2003 at 10:56, xxxxxxxx wrote:
Cinema 4D Version: 8.100
Platform: Windows ;
Language(s) : C.O.F.F.E.E ; C++ ;
i need the color for one special point on the object in my NPR plugin. So I used the GetSurfaceData function which is working fine for a cube or a sphere before the command, make editable. So I got all the time the right color. But when I make the sphere editable, the GetSurfaceData function returns wrong values. I think the problem lies maybe in the global polygon id. Is there a other way then TraceGeometry/TraceColor or TraceColorDirect to get this id, but they didn't worked bt me. I ueses at the moment Obj_to_ID and put this returned value into the GetSufaceData function. Is that right?
Has anybody some ideas?
On 21/08/2003 at 07:05, xxxxxxxx wrote:
I struggled with that for awhile. Then I decided to use a tag to identify the editor geometry to the render geometry, It was the only method I found viable ( welcome any other suggestions ). On another note, did you ever find a suitable method for identifying if the editor render was doing selected only? My method turned out to be bad after some more testing.
On 25/08/2003 at 06:03, xxxxxxxx wrote:
I don't think I understand the question. The data you pass to GetSurfaceData() has to be a matching set of ray, point, normal and polygon. Otherwise the calculated data will most likely be inaccurate. (For example, passing the wrong normal will give inaccurate phong shading.)
The polygon ID is the same used in every volume data function, and the one used in the RayObject structure. For object where there's no 1:1 correspondence between real points and render points (for example HyperNURBS meshes) I don't think there's any trivial way to get the polygon ID from a real point, but otherwise I think the indices will be the same.
Could you show some code how you try to get this data?