Changing mesh face normals

Blitz3D Forums/Blitz3D Programming/Changing mesh face normals

Shifty Geezer(Posted 2004) [#1]
I've created a couple of objects in a 3D modeller (RealSoft3D) and imported to Blitz. I've found that the normals seem interpolated. That is, if I create a Cube in Blitz with create cube and apply a sphereMapped material, each face is uniformly coloured, but if I import a Cube I created as a 3DS object, the faces show detail from the texture. By using Update Normals on a created Cube, I get the same result, the faces having graduated normals at each point instead of all pointing in the same direction, or however this thing works.

What I'd like to be able is the backwards of Update Normals. Can I take a .3ds mesh and have the normals changed so each face is uniformly textured in the same texture colour instead of showing the texture's details?

In the likely event I've just confused you, here's a pic to illustrate...

[img http:\\www.littleinkpot.co.uk\normalsexample.gif]

I get the bottom type effect on imported .3ds models. Can I do something to get the top effect?


Floyd(Posted 2004) [#2]
There are no face normals in Blitz3D, only vertex normals.

What looks like a vertex in a Blitz cube, built with CreateCube(), is really three vertices. There is one vertex for each face at that location, and each vertex has its own normal.


Shifty Geezer(Posted 2004) [#3]
So for a createCube face, all three vrtices point in the same direction, hence the 'face normal' is in the same direction?

Then the only soltuion for my problem is to model the objects such that each face is a seperate mesh with vertices at every corner for each mesh?


Floyd(Posted 2004) [#4]
That's pretty much correct.

Blitz3D's CreateCube() produces 24 vertices and 12 triangles. There are 4 vertices and 2 triangles in each face.

But the cube entity is a single mesh.