glpngがいろんなとこでリンク切れしてるのでメモ
http://openports.se/graphics/glpng
サンプル
#include <gl/glut.h> #include "glpng.h" GLuint texture; void display() { glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glTranslatef(0, 0, 0); glBindTexture(GL_TEXTURE_2D, texture); glPopMatrix(); // テクスチャをポリゴンに貼り付け glBegin(GL_QUADS); glTexCoord2d(0.0, 0.0); glVertex2d(-1,1); glTexCoord2d(0.0, 1.0); glVertex2d(-1,-1); glTexCoord2d(1.0, 1.0); glVertex2d(1,-1); glTexCoord2d(0.5, 0.0); glVertex2d(1,1); glEnd(); glFlush(); } void init() { glClearColor(0.0, 0.0, 0.0, 0.0); glColor3d(1.0, 1.0, 1.0); glEnable(GL_TEXTURE_2D); // 2Dテクスチャを有効にする pngInfo info; texture = pngBind("a.png", PNG_NOMIPMAP, PNG_ALPHA, &info, GL_CLAMP, GL_NEAREST, GL_NEAREST); // これ } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow("Title"); glutDisplayFunc(display); init(); glutMainLoop(); }
ちなみに、コンパイラはVC++ 2008 SP1を使用しています。