VORT 入門
<- 基本的なオブジェクト | オブジェクトを組み合わせる ->

複雑なオブジェクト

patch

patch {
	basis bezier
	maxsublevel 4

	material 0.0, 0.75, 0.25, 6.0
	color 1.0, 1.0, 1.0
	
	texture tile {
		vortfile check.pix
		size 0.25, 0.25
	}
	
	geomx {
		0.0,   1.0,   2.0,   3.0,
		0.0,   1.0,   2.0,   3.0,
		0.0,   1.0,   2.0,   3.0,
		0.0,   1.0,   2.0,   3.0
        }
	geomy {
		0.0, 1.0, 1.0, 2.0,
		1.0, 1.0, 1.0, 1.0,
		1.0, 1.0, 1.0, 1.0,
		0.0, 1.0, 1.0, 0.0
	}
	geomz {
		0.0, 0.0, 0.0, 0.0,
		1.0, 1.0, 1.0, 1.0,
		2.0, 2.0, 2.0, 2.0, 
		3.0, 3.0, 3.0, 3.0
	}
	
}
patch は制御点を与えることで曲面を定義する。上の例では 16 個の制御点を 与え、bezier に基づいている。bezier の他に bspline と cardinal が使える。 面に亀裂が入るようであれば、light には shadows off を指定したほうが良い。

blobby

blobby {
	colour 1.0, 1.0, 1.0
	threshold 0.27
	metaball (-1.0, 0.0, 0.0), 1.5, 0.5
	metaball (1.0, 0.0, 0.0), 1.5, 0.5
}
メタボールの組合せでできる形を作る。メタボールは中心、半径、強さで定義する。 強さはマイナスの値でもよい。threshold はブレンドしはじめる前にどれだけ オーバーラップしていなければならないかを定義する。

superquadric

superquadric {
	colour 1.0, 1.0, 1.0
	vertex (2.0, 2.0, 2.0)
	vertex (-2.0, -2.0, -2.0)
	order 4
}
基本的には角の丸い直方体である。box と同様2点を定義し、order で角の 丸み具合を決める。order が 1 だと8面体のような形になる。

geometry

geometry {
	strip {
		(0.0, 1.0, 0.0)
		(-1.0, 0.0, 0.0)
		(1.0, 0.0, 0.0)
		(0.0, 0.0, 1.0)
		(1.2, -0.5, 1.2)
		(-1.0, -0.5, 1.2)
	}
	colour 1.0, 1.0, 1.0
	phongshading off
}
geometry は頂点を列挙することで形を作る。strip の中のそれぞれの点は、 順に 3つずつを使って三角形を形成する。最初の三角は (0.0, 1.0, 0.0), (-1.0, 0.0, 0.0), (1.0, 0.0, 0.0) を頂点とし、次の三角は (-1.0, 0.0, 0.0), (1.0, 0.0, 0.0), (0.0, 0.0, 1.0) という具合である。
phongshading オプションを on にすると、面が滑らかに繋げられたような 結果が得られる。
VORT 入門
<- 基本的なオブジェクト | オブジェクトを組み合わせる ->