トップページ > Wiki > OpenGL

OpenGL のバックアップ差分(No.6)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#ref(http://www.opengl.org/images_global/opengl_logo.jpg,right,around)

Silicon Graphics社が中心となって開発された、グラフィックス処理のためのプログラミングインターフェース。 --- [[IT用語辞典:http://e-words.jp/w/OpenGL.html]]より。

#contents

*参考 [#va4a3974]

チュートリアル。入門にお奨め。

-[[GLUTによる「手抜き」OpenGL入門:http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html]]
-[[GLUT on MacOSX:http://www.center.wakayama-u.ac.jp/~tokoi/opengl/xcode/index.html]]
-[[OpenGL入門:http://wisdom.sakura.ne.jp/system/opengl/index.html]]
-[[OpenGL 入門講座:http://miso.ice.ous.ac.jp/%7Eoka/opengl/]]
-[[NuWiki:http://www2s.biglobe.ne.jp/~nunokawa/wiki.cgi?page=OpenGL]]
-[[OpenGLプログラム:http://www.westernvillage.co.jp/openglprogram.htm]]
-[[Xcode on MacOS X 10.3でGLUTのコードをコンパイルする:http://www.asahi-net.or.jp/~ws5n-isng/Mac/MacOS_OpenGL.html]]

より詳しい情報はこちらから。

-[[NeHe Productions: Main Page:http://nehe.gamedev.net/]]
-[[Zanir - News -:http://www.zanir.szm.sk/]]

OpenGLを利用したサンプル。

-[[glclock - OpenGL Pocket Watch -:http://www.daionet.gr.jp/~masa/glclock/]]

リファレンス

-[[PyOpenGL 2.0.1.04 Man Pages:http://pyopengl.sourceforge.net/documentation/manual/]]
-[[Cal Poly CSC OpenGL Manual Pages:http://www.csc.calpoly.edu/~hitchner/CSC455/GLmanual/]]
-[[GLUT Manual Pages:http://www.cs.uccs.edu/~semwal/man.html]]

*テクスチャ [#b8c4768f]

**glTexSubImage2D[#i8b4a81c]
-[[画像の上書き:http://wisdom.sakura.ne.jp/system/opengl/gl25.html]]

 void glTexSubImage2D(
   GLenum target, GLint level,
   GLint xoffset, GLint yoffset,
   GLsizei width, GLsizei height,
   GLenum format, GLenum type, const GLvoid *pixels
 );

**アルファ値を利用したポリゴンの切り抜き [#y50873c0]
-[[床井研究室 - 第4回 アルファテスト:http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040916]]

**TGA画像の読み込み [#j0677d3c]
-[[2002年度 OpenGL勉強会 資料のページ:http://www.is.oit.ac.jp/~whashimo/server/~whashimo/Article/OpenGL/Chapter7/index.html]]

 #define TEX_HEIGHT 256
 #define TEX_WIDTH  512
 GLubyte image[TEX_HEIGHT][TEX_WIDTH][4];
 void initTexture(void)
 {
  FILE *fp;
  int x, z;
  
  /* texture file open */
  if((fp=fopen("test.tga", "rb"))==NULL){
    fprintf(stderr, "texture file cannot open\n");
    return;
  }
  fseek(fp, 18, SEEK_SET);
  for(x=0;x<TEX_HEIGHT;x++){
    for(z=0;z<TEX_WIDTH;z++){
      image[x][z][2]=fgetc(fp);/* B */
      image[x][z][1]=fgetc(fp);/* G */
      image[x][z][0]=fgetc(fp);/* R */
      image[x][z][3]=fgetc(fp);/* alpha */
    }
  }
  fclose(fp);
 }

**RAW画像の読み込み [#aaf998a4]

-[[床井研究室 - 第1回 画像の読み込み:http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040913]]

 #define TEXWIDTH  256
 #define TEXHEIGHT 256
 GLubyte texture[TEXHEIGHT][TEXWIDTH][3];
 void initTexture(void)
 {
    if ((fp = fopen("tire.raw", "rb")) != NULL) {
      fread(texture, sizeof texture, 1, fp);
      fclose(fp);
    }
 }

*フォント [#d1b5c5f5]

**Bitmap Font Builder [#i8bed5f1]

-[[Bitmap Font Builder:http://www.lmnopc.com/bitmapfontbuilder/]]
--[[nehe:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=13]]
--[[mgb:http://homepage.ntlworld.com/martingbell/code/index.html]]

**glutBitmapCharacter [#v4342b56]

※テクスチャが有効だと表示されないようだ。

 void drawString( void* font, char* str ){
    int i = 0;
    while( str[i] != '\0' ){
        glutBitmapCharacter( font, (int)('a') );
        i++;
    }
 }

 glDisable(GL_TEXTURE_2D);
 glColor3f( 1, 1, 1 );
 glRasterPos3f( 0, 0, 0 );
 drawString( GLUT_BITMAP_TIMES_ROMAN_10, "hello" );

-GLUT_BITMAP_8_BY_13
-GLUT_BITMAP_9_BY_15
-GLUT_BITMAP_TIMES_ROMAN_10
-GLUT_BITMAP_TIMES_ROMAN_24
-GLUT_BITMAP_HELVETICA_10
-GLUT_BITMAP_HELVETICA_12
-GLUT_BITMAP_HELVETICA_18

*その他 [#m3fbfd10]
**フルスクリーン [#ua44e6de]

-http://www.ojk.info.gifu-u.ac.jp/techfaq/sgl/glut.html

 glutFullScreen();               /* フルスクリーン表示 */


#hr

tag/technical note | [[tag/programing]]

iPhoneDev.null-null.net

RSSフィード

このウィキの更新情報を、XML(RSS)フォーマットで提供しています。
ご利用のRSSリーダーやアプリケーションにRSSフィードを登録してください。

ページの先頭へ戻る


Copyright(c) Daisuke Nogami. All Right Reserved.