BSP木の可視性情報によるシーンのレンダリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/20 07:57 UTC 版)
「バイナリ空間分割」の記事における「BSP木の可視性情報によるシーンのレンダリング」の解説
BSP木は、例えば画家のアルゴリズムにおいてレンダリング性能を改善するのに使われる。木構造は任意の視点から線形時間で走査できる。 画家のアルゴリズムは視点から最も遠いポリゴンを最初に描画するので、以下のコードは木構造を底まで再帰的に走査し、ポリゴンを描画する。再帰から戻る際に視点により近いポリゴンが遠いポリゴンの上に描画される。BSP木がポリゴンを小さな断片に分割済みなので、画家のアルゴリズムの最も難しい部分は既に処理済みである。以下は、背景から前景へと木構造を走査するコード例である。 procedure Tree_traverse (tree:bsp_tree, eye:point) isbegin if not Tree_isEmpty (tree) then constant location : integer = Tree_getLocation (tree, eye) ; -- eye が location の前にある場合 if 0 < location then Tree_traverse (tree.back, eye) ; display (tree.polygon_list) ; Tree_traverse (tree.front, eye) -- eye が location の後ろにある場合 else if location < 0 then Tree_traverse (tree.front, eye) ; display (tree.polygon_list) ; Tree_traverse (tree.back, eye) -- eye が分割超平面上にある場合 else Tree_traverse (tree.front, eye) ; Tree_traverse (tree.back, eye) end if ; end if ;end
※この「BSP木の可視性情報によるシーンのレンダリング」の解説は、「バイナリ空間分割」の解説の一部です。
「BSP木の可視性情報によるシーンのレンダリング」を含む「バイナリ空間分割」の記事については、「バイナリ空間分割」の概要を参照ください。
- BSP木の可視性情報によるシーンのレンダリングのページへのリンク