wuzhiの日記: JOGLでのテクスチャスフィアマッピング
以下の擬似コードのような感じ.
GL gl;
GLUT glut = new GLUT();
Texture texture;
init(LAutoDrawable drawable){
gl = drawable.getGL();
// スフィアマッピング用のテクスチャ座標を生成する
gl.glTexGeni(GL.GL_S, GL.GL_TEXTURE_GEN_MODE, GL.GL_SPHERE_MAP);
gl.glTexGeni(GL.GL_T, GL.GL_TEXTURE_GEN_MODE, GL.GL_SPHERE_MAP);
// テクスチャ画像
texture = TextureIO.newTexture(new File(filename), true);
}
display(GLAutoDrawable drawable) {
gl.glEnable(GL.GL_TEXTURE_2D);
// スフィアマッピング用のテクスチャ座標の自動生成を有効にする
gl.glEnable(GL.GL_TEXTURE_GEN_S);
gl.glEnable(GL.GL_TEXTURE_GEN_T);
texture.bind();
texture.enable();
// モデルの描画
glut.glutSolidTeapot(1);
texture.disable();
// スフィアマッピング用のテクスチャ座標の自動生成を無効にする
gl.glDisable(GL.GL_TEXTURE_GEN_S);
gl.glDisable(GL.GL_TEXTURE_GEN_T);
gl.glDisable(GL.GL_TEXTURE_2D);
}
JOGLでのテクスチャスフィアマッピング More ログイン