最後にレンダリングしたイメージへのアクセス

   

getLastRenderedImage [ copy:<bool> ] 	 

getLastRenderedImage() メソッドは、[シーンをレンダリング](Render Scene)、[最新設定でレンダリング](Render Last)、または[クイックレンダリング](Quick Render)から最後にレンダリングしたイメージを返します。

3ds Max 2009以降では、オプション キーワード引数 copy: が指定されていない場合、または true に設定されている場合、ビットマップは新しいビットマップ値にコピーされます。キーワード引数 copy: true が指定されている場合、MAXScript ビットマップ値はレンダラーのビットマップを共有します。

注:

同じ寸法で再レンダリングすると、レンダラーは最後にレンダリングされたビットマップの値を再利用します。寸法が変更されている場合、新しいビットマップ値が作成されます。

例:

  • シーンをレンダリングします。

  • 以下のコードを実行します。

bm = GetLastRenderedImage copy:false --share the bitmap
display bm
  • ビューを変更して、シーンを再度レンダリングします。

  • 以下のコードを実行します。

display bm

結果: ビットマップ表示が 2 番目のレンダリングを反映して更新されます。

  • レンダリング サイズを変更して、シーンを再度レンダリングします。

  • 以下のコードを実行します。

display bm

結果: ビットマップ表示は、同じく 2 番目のレンダラーを反映します。これは、3 番目のレンダリングによって、変数 bm が参照しない新しいビットマップ値が作成されたためです。

MAXScript ビットマップ値がガベージ コレクションで解放される前に解放する場合は、 free bm を呼び出して、MAXScript ビットマップ値から元のビットマップを解放する必要があります。

関連事項