Jump to content

  • Log In with Google      Sign In   
  • Create Account

How to emboss mesh surface with text (or create raised text on a surface ) by programming?

  • You cannot reply to this topic
2 replies to this topic

#1 madeing   Members   -  Reputation: 102


Posted Today, 08:52 AM

Hi Greetings,


I'm not sure whether I post this question on correct forum, if not, please forgive me.

I'm a newbie on graphics or modeling domain, now I'm doing some research on embossing any mesh based surface with Text, like the picture shown: (Which is created by Windows 8.1 APP: 3D Builder )


So the requirement is to implement similar 3D text on a model surface in an application that is developed by Javascript/WebGL. What we have are the triangle based surface, and the 2D text contours. The surface might be a cylindrical or sphere or torus surface.

Since I'm new to both solid modeling and 3D graphics programming, even I have spent several days on this, however, I couldn't find a good algorithm or solution yet. So, I'm posting the question to the great community, I wonder whether someone has the experience to solve similar problem ever, or someone would kindly offer some useful hints, such as any related papers, or related algorithms, or other forums which I post to, etc.  Thanks very much.

(Actually, I've post my questions on stackoverflow, however, no any replies yet. Maybe my question is not properly described or implementing such a 3D text requirement is too difficult.)

Edited by madeing, Today, 08:54 AM.


#2 Ohforf sake   Members   -  Reputation: 1386


Posted Today, 12:36 PM

Well, if I had to implement this, my first approach would be to put the text into a volumetric decal which perturbs the normals, maybe even does some parallax mapping. IIRC, the bullet holes in Fear 1 were done this way and looked really nice. It is fast, easy to implement, but the text can't extend really far.

My second go to would be an implicit surface: Generate an implicit surface for the cylinder, generate one for the (warped and extruded) text, combine both surfaces in their implicit form, and then run marching cubes on top of it. That would produce a crap ton of polygons, no sharp edges, but would be moderately easy to implement.

Only my last option would be to run a full CSG algorithm on polygon data, simply because it seems to be a real pain to get that right. But something tells my that you were asking about the last approach.

What exactly do you need? What quality, does the mesh have to be 2 manifold, etc...

#3 madeing   Members   -  Reputation: 102


Posted Today, 08:57 PM

Thanks Ohforf for the hints.

Hmm, yes, what I have are just polygon data, so the last option might be the way I have to go. 


Actually, I have a STL file which describes the model as the input, it might have any type of face, might be a planar face, cylindrical surface, or free-form surface.  Then I will create 2D text contours, then I would create a 3D labeling on the surface with some thickness, like a Emboss.    Regarding the quality, it should keep the quality same with the target surface.  The mesh have to be manifold.