Note
このメソッドをコールするには、まず最初にhapi.renderTextureToImageをコールしないと意味がありません。
この関数は、画像をメモリバッファに抽出と合成をするすべての処理を行ないますが、そのバッファを返すわけではなくて、そのサイズのみを返すことに注意してください。 返されたサイズを使用することで、十分に大きなバッファを割り当てて、hapi.getImageMemoryBufferをコールすることで、抽出された画像でバッファを埋めることができます。
使用方法 ¶
extractImageToMemory(session
: hapi.Session, material_node_id
: int
, image_file_format_name
: str
, image_planes
: str
) → int
レンダリングした画像をメモリに抽出します。
session
あなたが操作しているHoudiniのセッション。 セッションの詳細はhapi.Sessionを参照してください。 単にデフォルトのインプロセスのセッションを使用するのであれば、Noneを渡してください。
material_node_id
マテリアルノードのノードID。
image_file_format_name
抽出したい画像のファイルフォーマット名。 このパラメータをNoneのままにすることで、その画像が他のテクスチャファイルから派生したものだった場合や デフォルトのHAPIフォーマットだった場合(画像が生成された時にhapi.DEFAULT_IMAGE_FORMAT_NAMEだった場合)には、 そのオリジナルのフォーマットで画像を抽出することができます。
非常によく使用される標準画像ファイルフォーマット名は、“Defines”セクション下のHAPI_Common.hからいくつか取得することができます。
hapi.getSupportedImageFileFormatsを使用すれば、対応しているすべてのファイルフォーマット(とこのパラメータで必要となる実際の名前)のリストも取得することができます。 このリストには、カスタムDSO(HDKドキュメントのIMG_Formatを参照)を介して作成されたカスタムファイルフォーマットも含まれ、 hapi.ImageFileFormatのリストが取得されます。 このパラメータには、指定した画像ファイルフォーマットのhapi.ImageFileFormat.nameSHが必要です。
image_planes
メモリに抽出したい画像平面。 複数の画像平面はスペースで区切って指定してください。
バッファサイズをint
で返します。