公開日: 11/25/2021

次の例では、ライト・霧・正規化など、この節で説明した複数の処理を使っています。このスクリプトは、2つの光源の影響を受ける、回転する円柱を描きます。

scene = Scene Box( 300, 300 ); // Scene Boxを作成する
New Window( "円柱", scene ); // シーンをウィンドウに配置する
 
For( i = 1, i < 360, i++,
	scene << Clear;
 

// レンズは45度、近い距離(near)はカメラから3単位、遠い距離(far)は7単位

	scene << Perspective( 50, 1, 10 );
 

// カメラで原点(0,0,0)が見えるように移動する

	scene << Translate( 0.0, 0.0, -2 );
	scene << Enable( Lighting );
	scene << Enable( Light0 );
	scene << Enable( Light1 );
	scene << Light( Light0, POSITION, 1, 1, 1, 1 ); // ビュアーに近い
	scene << Light( Light0, DIFFUSE, 1, 0, 0, 1 ); // 赤色の光源
	scene << Light( Light1, POSITION, -1, -1, -1, 1 ); // オブジェクトの背後
	scene << Light( Light1, DIFFUSE, .5, .5, 1, 1 ); // 青灰色の光源
	scene << Enable( Fog );
	scene << Enable( NORMALIZE );
 
	scene << Rotate( i, 1, 0, 0 );
	scene << Rotate( i * 3, 0, 1, 0 );
	scene << Rotate( i * 3 / 2, 0, 0, 1 );
	scene << Cylinder( 0.5, 0.5, 0.5, 40, 10 );
	scene << Update;
	Wait( 0.01 );
);

図13.18 霧 

Fog

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).