Hi, I’ve been playing with normals of 3d objects and I found out ofSpherePrimitive has a counter-clockwise winding order which is an opposite direction of all other 3d primitives.
I found this out not only by manually checking the order of indices but also have done a testing to prove this.
The test I’ve done was to copy all the vertices from original 3dPrimitives to ofMesh and then apply new normals to the mesh based on its vertices.
I used surface normal calculation found from https://www.khronos.org/opengl/wiki/Calculating_a_Surface_Normal
And this is the screenshot of the test which shows 4 original 3d Primitives at the top and 4 meshes that use surface normals at the bottom.
As you can see, only sphere has an opposite winding order.
I think the original ofSpherePrimitive has opposite order of indices and also opposite order of normals so it looks like it is working correctly, but it’s not.