Convert Bitmap to 3D Extruded Mesh

I’m looking for either code or preferably a product that can convert a bitmap into a 3D mesh … similar to a heightmap but in my case I need to extrude areas of common color. I’ve tried AccuTrans 3D and it has the functionality that I require but the resultant mesh is somewhat corrupted … some faces are flipped over (in fact nearly 50%).

At the moment, I use a TrueType font editor to import the bitmap, create the font then use TrueSpace to do an extrusion but it’s all kind of messy and there must be another way.



This is not Advanced OpenGL question.
Just flip the faces which normal does not point upwards.

Thanks for your totally unhelpful response and for effectively blocking this thread. In future, I’d suggest that stupid people should keep their mouths shut rather than prove their stupidity.
(We have a saying “empty vessels make the most noise”).

Anyone else, then I’d be very pleased if there is a product out there that can reliably generate a mesh from a bitmap. (IMHO this is an advanced topic as a beginner is unlikely to know or have considered mesh generation from a bitmap - maybe heightmaps).


I don’t think GeLeTo understood your problem. Now if I understand what you’re trying to do (and I’m pretty sure I do) then this is a very interesting technique of building 3d objects from objects inside a photograph (2D). I have seen quite a bit of work on this but don’t remember where I found papers on it but here is a site that has programs that will do it.

I guess if you want papers on algorithms doing this then I guess searching SIGGRAPH would be a good first step.


Thanks for the links … I’ll look into it further … I’m not actually converting photographs but the techniques involved are similar so you’ve given me another avenue to explore.


I’d suggest that stupid people should keep their mouths shut rather than prove their stupidity.
No need to call names

My first impression was that the software will output a terrain/heightfield-like mesh from a bitmap in which case fixing the normal would be easy (if normal does not point upward - flip the face).

Even for arbitrary meshes it is easy to fix wrong windings - pick any triangle, flood the mesh (starting from the picked triangle), while flooding - compare the winding of each triangle with an already flooded adjacent one (easy to compare the windings as the triangles share an edge), when windings don’t match - do a flip.

Still - this is not Advanced or OpenGL question