読者です 読者をやめる 読者になる 読者になる

glpngのダウンロード先

OpenGL

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を使用しています。