Phongnormals
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/05/2007 at 06:29, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R10
Platform: Windows ;
Language(s) : C++ ;---------
if(tag) { Vector* curr_phong_normals = op->CreatePhongNormals(); GePrint("Reading Phong Tag"); for(LONG i = 0; i < nOfPolys; ++i) { phongnormals _= curr_phong_normals _; } GeFree(curr_phong_normals); .... }
I use CreatePhongNormals() to access cinemas phongnormals and export them with my plugin.
For most of the standardforms this works fine.
But it always crashes when I try to export the figure.
(I make the figure editable and connect all parts into 1 mesh before exporting)The funny thing is, it doesnt crash if I lower the segments count first.
Is there any other way to access the phongnormals?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/05/2007 at 07:01, xxxxxxxx wrote:
it works just fine here, even with the figure. i just following code.
static void WriteObjects(BaseObject *op)
{
while (op)
{
if ((op->GetType()==Opolygon) && (op->GetTag(Tphong,0)))
{
LONG i,vcnt = ToPoly(op)->GetPolygonCount();
Vector *normals = ToPoly(op)->CreatePhongNormals();for (i=0; i<vcnt; i++)
{
GePrint("A "+RealToString(normals[i+0].x)+", "+RealToString(normals[i+0].y)+", "+RealToString(normals[i+0].z));
GePrint("B "+RealToString(normals[i+1].x)+", "+RealToString(normals[i+1].y)+", "+RealToString(normals[i+1].z));
GePrint("C "+RealToString(normals[i+2].x)+", "+RealToString(normals[i+2].y)+", "+RealToString(normals[i+2].z));
GePrint("D "+RealToString(normals[i+3].x)+", "+RealToString(normals[i+3].y)+", "+RealToString(normals[i+3].z));
}GeFree(normals);
}WriteObjects(op->GetDown());
op=op->GetNext();
}
}cheers,
Matthias