Object Hierarchy | 関連する C++クラス:Framebuffer
Framebuffer
v6.0
Framebuffer オブジェクトは、RenderChannel オブジェクトのファイル出力を制御します。このオブジェクトは、Pass.CreateFramebuffer メソッドまたは CreateFramebuffer コマンドを使用して作成できます。
Framebuffer のフォーマットは、フレームバッファの Pass オブジェクトで選択されているレンダリングエンジンが提供するフォーマットリストから選択できます。
/*
This example demonstrates how to list all framebuffers from
all passes and the resolved paths they point to.
*/
function ListPasses()
{
var ePass = new Enumerator( ActiveProject.ActiveScene.Passes );
for( ; !ePass.atEnd(); ePass.moveNext() )
{
var oPass = ePass.item();
Application.LogMessage( "Pass '" + oPass.Name + "': " );
var eFramebuffer = new Enumerator( oPass.Framebuffers );
for( ; !eFramebuffer.atEnd(); eFramebuffer.moveNext() )
{
var oFramebuffer = eFramebuffer.item();
Application.LogMessage( "Framebuffer '" + oFramebuffer.Name + "' writes to '" +
oFramebuffer.GetResolvedPath( "" ) + "'" );
}
}
}
NewScene( null, false );
var oScene = ActiveProject.ActiveScene;
var oNewPass = oScene.PassContainer.AddPass( null, "" );
var oDiffuseBuffer = oNewPass.CreateFramebuffer( "Diffuse" );
oDiffuseBuffer.FileName = "diffuse.[Frame #4]";
ListPasses( );
// Expected results:
// INFO : Pass 'Default_Pass':
// INFO : Framebuffer 'Main' writes to '<factory_path>\Data\XSI_SAMPLES\Render_Pictures\Default_Pass_Main.#.pic'
// INFO : Pass 'Pass':
// INFO : Framebuffer 'Main' writes to '<factory_path>\Data\XSI_SAMPLES\Render_Pictures\Pass_Main.#.pic'
// INFO : Framebuffer 'Diffuse' writes to '<factory_path>\Data\XSI_SAMPLES\Render_Pictures\diffuse.####.pic' |