1. вот код для рисующий прямоугольника во весь экран в 2D
Код:
//подготавливаем вьюпорт
glViewport(0,0,Width,Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, (float)Width, 0, (float)Height);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//ну а теперь рисуешь что хочешь. Система координат начинается в левом нижнем углу. Единица измерения - один пиксель
glBindTexture( GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(1, 0); glVertex2f(WindowW, 0);
glTexCoord2f(1, 1); glVertex2f(WindowW, WindowH);
glTexCoord2f(0, 1); glVertex2f(0, WindowH);
glEnd();
Чтобы нарисовать значок здоровья этого достаточно, но для того чтобы там был не прямоугольник, а крестик нужно использовать glBlend()
http://pmg.org.ru/nehe/nehe08.htm2.Что-то типа этого, только здесь думаю есть ошибки.
Код:
unsigned int picture[]={
0xFF0000,0xFF0000,0xFF0000,0xFF0000
0xFF0000,0xFF0000,0xFF0000,0xFF0000
0xFF0000,0xFF0000,0xFF0000,0xFF0000
0xFF0000,0xFF0000,0xFF0000,0xFF0000};
glGenTextures(1, &texture[0]);
glBindTexture(GL_TEXTURE_2D, texture[0]);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA16F_ARB, 4, 4, GL_RGB, GL_UNSIGNED_BYTE, picture); //в этом месте компилятор будет ругаться
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);