Icon drawing in 3d

try:


You have:
vec3 IconPos; // where the icon is
mat4 mvp; // model-view-projection matrix
float invWidth = 1.0/640; 
float invHeight= 1.0/480;
int iconSize=32; // if you want to see it always 32x32px big
//-----------------
vec4 clip = mvp * vec4(IconPos,1.0);
float dx = iconSize * invWidth * 0.5 * clip.w;
float dy = iconSize * invHeight * 0.5 * clip.w;


vec4 vout[4];
vout[0] = vec4(clip.x - dx, clip.y + dy, clip.z,clip.w);
vout[1] = vec4(clip.x - dx, clip.y - dy, clip.z,clip.w);
vout[2] = vec4(clip.x + dx, clip.y - dy, clip.z,clip.w);
vout[3] = vec4(clip.x + dx, clip.y + dy, clip.z,clip.w);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glBegin(GL_QUADS);
	glTexCoord2f(0,0);	glVertex4fv(&vout[0].x);
	glTexCoord2f(0,1);	glVertex4fv(&vout[1].x);
	glTexCoord2f(1,1);	glVertex4fv(&vout[2].x);
	glTexCoord2f(1,0);	glVertex4fv(&vout[3].x);
glEnd();