Angel-Ventura Mendo Gomez (ventura++at++labri.u-bordeaux.fr)
Fri, 30 Apr 1999 15:08:32 +0200
I'm writing a performer loader and I want to generate de normals
automatly.
the source is :
extern pfNode *
pfdLoadFile_ventura (char *fileName)
{
long vertexNumber=0;
long trianglesNumber=0;
long i,a,b,c;
float *vertexList;
pfNode *node=NULL;
FILE *fildes=NULL;
pfdGeom *prim=NULL;
/* discard any lingering geometry in the builders */
pfdResetBldrGeometry();
pfdResetBldrState();
/* Setting mode */
pfdBldrStateMode(PFDGBLDR_AUTO_NORMALS, PF_ON
/*PFDGBLDR_NORMALS_GENERATE*//*PFDGBLDR_NORMALS_MISSING*/);
pfdBldrMode(PFDBLDR_AUTO_NORMALS, PF_ON);
/* openig filde*/
if ((fildes=pfdOpenFile(fileName)) == NULL){
pfNotify(PFNFY_WARN, PFNFY_MORE, "+ Error Opening: %s",
fileName);
return NULL;
}
/* */
fscanf(fildes,"%d",&vertexNumber);
fscanf(fildes,"%d",&trianglesNumber);
/* allocate primitive buffer */
prim = pfdNewGeom(3);
/* specify control data */
prim->numVerts = 3;
prim->primtype = PFGS_POLYS;
prim->nbind = PFGS_PER_VERTEX;
prim->cbind = PFGS_OFF;
prim->tbind = PFGS_OFF;
vertexList=(float *)malloc(sizeof(float)*3*vertexNumber);
for (i = 0; i < vertexNumber; i++){
fscanf(fildes, "%f %f %f",
&vertexList[(i*3)],
&vertexList[(i*3)+1],
&vertexList[(i*3)+2]);
}
for (i = 0; i < trianglesNumber; i++){
fscanf(fildes, "%d %d %d",&a,&b,&c);
prim->coords[0][PF_X]=vertexList[(3*a) ];
prim->coords[0][PF_Y]=vertexList[(3*a)+1];
prim->coords[0][PF_Z]=vertexList[(3*a)+2];
prim->coords[1][PF_X]=vertexList[(b*3) ];
prim->coords[1][PF_Y]=vertexList[(b*3)+1];
prim->coords[1][PF_Z]=vertexList[(b*3)+2];
prim->coords[2][PF_X]=vertexList[(c*3) ];
prim->coords[2][PF_Y]=vertexList[(c*3)+1];
prim->coords[2][PF_Z]=vertexList[(c*3)+2];
pfdAddBldrGeom(prim, 1);
}
node=pfdBuild();
pfdDelGeom(prim);
free(vertexList);
fclose(fildes);
return node;
}
I think there is a problem with :
pfdBldrStateMode(PFDGBLDR_AUTO_NORMALS, PFDGBLDR_NORMALS_GENERATE);
pfdBldrMode(PFDBLDR_AUTO_NORMALS, PF_ON);
Anyone can help me ?
thanks
-- ventura++at++labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~ventura Quod natura non dat Salmantica non praestat.
This archive was generated by hypermail 2.0b2 on Fri Apr 30 1999 - 06:09:41 PDT