I'm not 100% sure if I'm using the right terminology since I'm fairly new to 3D model editing. Please try to go easy on me :)

I am currently writing a program in OpenGL. I'm using Blender to edit my models, and I'm exporting to OBJ (Wavefront) before loading them into my program. It turns out that all the vertex normals are the same as the face normals; that is, the vertex normals along two triangle edges might look something like in this image: (ignore the text; I'm borrowing these images from opengl-tutorial.org because they clearly illustrate my question)


I have some shapes that I would like to render smoothly (my shaders interpolate between normals, if that pertains to the question), so I would rather the normals look something like this: (where the arrow pointing up is actually two overlapping normals from the same vertex) badmooth.png

Probably the simplest way to get these "curve normals" would be to average the two normals for each face connected to a vertex. Does anyone know how to do this in Blender?

  • 1
    $\begingroup$ A branch of Blender which has custom normal editing has just been posted to GraphicAll.org a day or two ago. Maybe this will help with what you want to do. $\endgroup$ Aug 3, 2014 at 1:21

1 Answer 1


The smooth button does it for you.
(Left side) Object Tools -> Smooth (under Shading),
Then when you go File -> Export -> Wavefront (.obj),
make sure you click on the Include Normals checkbox.

  • $\begingroup$ Wow, it really was that simple... thanks! $\endgroup$
    – Mahkoe
    Aug 7, 2014 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .