Import with Melange 5 / Get Normals (from 11.5)
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/10/2011 at 05:09, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 11.5
Platform: Windows ;
Language(s) : C++ ;---------
Hey!I'm writing an importer for an external tool that should support C4D. while i'm getting all kind of data smoothly, i have some troubles with the normal tag. It doesn't seem that 11.5 attaches normal tags. So do i have to create them on my own based on neighbours, edges and phong break angles? Is there any other way?
i unfortunately never touched C4D before, and it's my first day with the SDK.... but i can't find the info i'm needing
Thanks!!!
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/10/2011 at 05:43, xxxxxxxx wrote:
Nevermind, i found that it works fine with:
SVector* normals = op->CreatePhongNormals();
The question is, is it safe to rely on that?
Otherwise i'd fallback and generate it with the method mentioned above.
Thanks....
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/10/2011 at 06:33, xxxxxxxx wrote:
CreatePhongNormals will give you the exeact same vertex normals that Cinema uses. Just make sure the object contain a Phong tag, otherwise the function will crash.
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/10/2011 at 00:43, xxxxxxxx wrote:
Originally posted by xxxxxxxx
CreatePhongNormals will give you the exeact same vertex normals that Cinema uses. Just make sure the object contain a Phong tag, otherwise the function will crash.cheers,Matthias
I think it won't actually crash, but it returns a Null pointer (which would crash if you didn't check the return before using it) - at least that was my experience in the past.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/10/2011 at 06:30, xxxxxxxx wrote:
Hmm, sorry to open this again. But the normals i'm getting from CreatePhongNormals seem to be false, or i'm adressing them wrong, probably. when rendering/displaying the normals, they look totally different and i can't find a reasonable pattern what i'm adressing wrong here.
Here's what i do:
const Vector *vertices = op->GetPointR(); const CPolygon *polygonIndices = op->GetPolygonR(); LONG polygonCount = op->GetPolygonCount(); if(btag->GetType() == Tphong) { normals = op->CreatePhongNormals(); } for(long i = 0; i < polygonCount; i++) { // add data, e.g.: vertices[polygonIndices[i].c], normals[i * 4 + 2], uvw.c vertices[polygonIndices[i].b], normals[i * 4 + 1], uvw.b }
any idea?
thanks for your help! awesome