パースペクティブコレクション(透視補正・遠近補正)とは、描画の際にモデルの奥行きにあわせて表面のテクスチャを自動的に補正して貼り付ける方法のことです。パースペクティブコレクションを適用することによって、テクスチャが角度によって歪んで表示されるのを防ぐことができます。
パースペクティブコレクションの設定
パースペクティブコレクションの設定には IMICRO3Dv4es_m3dPolygonMode_setPerspectiveCorrectionEnable ( inst, polygonmode, enable ) メソッドを用います。
以下は、サンプルコードでモデルのポリゴン属性を取得し、パースペクティブコレクションを有効にしている部分です。
/* ポリゴン属性取得 */
pmc -> pPolygon = ( m3dPolygonMode* ) IMICRO3Dv4es_m3dObject3D_find ( pMe -> pIM3D,
( 中略 )
/* パースペクティブコレクションの設定 */
IMICRO3Dv4es_m3dPolygonMode_setPerspectiveCorrectionEnable ( pMe -> pIM3D, pmc -> pPolygon, pmc -> correctPers );
pmc -> pPolygon = ( m3dPolygonMode* ) IMICRO3Dv4es_m3dObject3D_find ( pMe -> pIM3D,
( m3dObject3D* ) pmc -> pWorld, UID_POLY );
( 中略 )
/* パースペクティブコレクションの設定 */
IMICRO3Dv4es_m3dPolygonMode_setPerspectiveCorrectionEnable ( pMe -> pIM3D, pmc -> pPolygon, pmc -> correctPers );
* 機種によってはパースペクティブコレクションが常に設定されているものがあります。このような機種に対しては、パースペクティブコレクションを無効にすることができない場合があります。
![]() |
![]() |
| 有効 | 無効 |
| パースペクティブコレクションの有無による描画結果の違い | |



