Wednesday, February 24, 2010

processingで3ds形式のモデルを読み込んで表示する

processingで3ds形式のモデルを読み込んで表示するには、以下のコードを実行します。3ds形式のモデルを読み込むには、MRI3DSを使用します。mri3ds.jarをcodeサブディレクトリに配置するか、Sketch->Add FilesメニューからSketchに追加します。

MRI3DSのサイト
http://www.pixelnerve.com/processing/libraries/mri3ds/


import com.sun.opengl.util.*;
import javax.media.opengl.*;
import processing.opengl.*;
import mri.*;

V3dsScene vscene;
GL gl;
void setup()
{
size(400, 300, OPENGL);
ambientLight(255, 255, 255, 0, 50, -400);
gl = ((PGraphicsOpenGL)g).beginGL();
gl.glClearColor(0.0, 0.0, 0.0, 0.0);
vscene = new V3dsScene( this, "STS.3ds" );
}

void draw()
{
gl=((PGraphicsOpenGL)g).beginGL();
gl.glEnable(GL.GL_LIGHTING);
gl.glEnable(GL.GL_LIGHT0);
gl.glDisable(GL.GL_CULL_FACE);
gl.glEnable(GL.GL_NORMALIZE);
gl.glEnable(gl.GL_COLOR_MATERIAL);
gl.glClear(GL.GL_COLOR_BUFFER_BIT |GL.GL_DEPTH_BUFFER_BIT );
((PGraphicsOpenGL)g).endGL();
translate(200, 150, 0);
scale(20, 20, 20);
rotateY(2*PI*frameCount/360);
rotateX(2*PI*frameCount/360/10);
vscene.draw();
}


出力画像


関連情報
モデルデータ
http://www.nasa.gov/multimedia/3d_resources/assets/sts.html

動作環境
processing 1.0.9

No comments: