OpenGL、glpngを利用してpng画像を表示させたのですが、表示されたpng画像の画質が劣化してしまいます。
原因に心当たりがある方がいましたらご教授ください。よろしくお願いします。
参考にしたサイト
http://arisawa-nanase.hatenablog.jp/entry/20130623
C++
1#include <GL/freeglut.h> 2#include <GL/glpng.h> 3 4#define WIDTH 720 5#define HEIGHT 720 6 7pngInfo info; 8GLuint texture; 9 10 11void disp(){ 12 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 13 glMatrixMode( GL_MODELVIEW ); 14 glLoadIdentity(); 15 glOrtho(0.0, WIDTH, HEIGHT, 0.0, -1.0, 1.0); 16 17 glEnable( GL_TEXTURE_2D ); 18 glEnable( GL_ALPHA_TEST ); 19 glBegin(GL_POLYGON); 20 { 21 glTexCoord2f( 0.0f, 1.0f ); glVertex2d( 0, HEIGHT -1 ); 22 glTexCoord2f( 0.0f, 0.0f ); glVertex2d( 0, 0 ); 23 glTexCoord2f( 1.0f, 0.0f ); glVertex2d( WIDTH -1, 0 ); 24 glTexCoord2f( 1.0f, 1.0f ); glVertex2d( WIDTH -1, HEIGHT -1 ); 25 } 26 glEnd(); 27 28 glDisable( GL_ALPHA_TEST ); 29 glDisable( GL_TEXTURE_2D ); 30 31 glutSwapBuffers(); 32 33} 34 35void idle(){ 36 glutPostRedisplay(); 37} 38 39void init(){ 40 glClearColor( 1.0, 1.0, 1.0, 0.0 ); 41 glOrtho( 0, WIDTH, HEIGHT, 0, -1, 1 ); 42 texture = pngBind( "tsumugi_001.png", PNG_NOMIPMAP, PNG_ALPHA, &info, GL_CLAMP, GL_NEAREST, GL_NEAREST ); 43} 44 45int main( int argc, char **argv ){ 46 glutInit( &argc, argv ); 47 glutInitWindowPosition( 100, 100 ); 48 glutInitWindowSize( WIDTH, HEIGHT ); 49 glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA ); 50 51 glutCreateWindow( "mascot_tsumugi" ); 52 glutDisplayFunc( disp ); 53 glutIdleFunc( idle ); 54 init(); 55 glutMainLoop(); 56 57 return 0; 58}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/06 22:55