Human Face


This is my first project in openGL. I have been asked to draw a human face that will show various expressions. I don’t know where to start from. Based on my research, I know I have to write codes for the mouth, eyes, eyebrows, etc. What do I do next? Any help in the right direction will help greatly. Also, any sample codes or websites I can get additional information will help as well. Thanks

I’m assuming you are aiming for a more or less realistic representation of a human head as opposed to just a sketch drawing?
Either way, not wanting to discourage you, but this is perhaps not something you should attempt as your very first venture into OpenGL. Try to work through some of the tutorials that teach you how to do basic things like drawing objects, placing them in the scene, moving the camera and then you are better equipped to decide how to handle the human face rendering - links to tutorials can be found e.g. on the wiki.

As far as I know a common method to do facial expressions is to have an artist model a selection of base expressions and then at runtime morph between those. The other big issue is rendering the skin in a nice way which is almost a research topic of its own. Google should provide you with plenty of papers on the topic.

Thanks for the advice. I’ve already started reading materials on doing basic stuff. Actually, I’m working on drawing triangles and stuff like that. I’ll take note of the suggestions you made about drawing a human face so I can actually apply them when I get to that stage, which must be fast. :slight_smile: Thanks again.

Animation is generally done using a technique called “keyframing”. You could have an artist make a face model and shape it so the vertices are in the right places for each of the expressions. Your job (in the renderer) would be to interpolate the positions of the vertices properly over time as the face transitions from one expression to another.

Figuring out how you’re going to export the data from the artist’s program and writing the code to import the data will be the majority of the work. Actually doing the interpolation and rendering the face is not even the hard part of what you described.