I have normals which are (x,y,z) as 3 floats, and I want to pack these into a VBO array as GL\_INT\_2\_10\_10\_10\_REVs in order to reduce memory consumption on the graphics card. Can anyone provide an example of how to do this in C++ / C#?

The OpenGL documentation says you can do this - 
<https://www.opengl.org/wiki/Vertex_Specification_Best_Practices>

However, I can't find any examples of how to place the three floats (which can be positive or negative) into the single packed 4 byte structure.