トップページ > 過去ログ > 記事閲覧
オフスクリーンレンダリングはできますか?
名前:どさ 日時: 2009/12/31 14:23

はじめまして。お世話になります。 オフスクリーンに一度レンダリングしてから、 それをテクスチャとしてバックバッファーに レンダリングしたいのですが、レンダーター ゲットを変更する関数はあるのでしょうか? マニュアルの熟読が足りないだけなのかもし れませんが、知っている方が居ましたら、 よろしくお願いします。

Page: 1 |

Re: オフスクリーンレンダリングはできますか? ( No.1 )
名前:管理人 日時:2010/01/03 23:23

SetDrawValidGraphCreateFlag という関数と MakeGraph 関数を使用するとレンダリングターゲットとして使用可能な 画像ハンドルを作成できます、それを SetDrawScreen の引数に渡すとレンダリングターゲットがその画像になります 以下のような使い方になりますので、よろしければご覧下さい 256x256 のオフスクリーンバッファを作成して、そこに文字を描画した後、バックバッファいっぱいに拡大して描画しています #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int screen, i ; // ウインドウモードで起動 ChangeWindowMode( TRUE ); // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // 描画可能画像の作成 SetDrawValidGraphCreateFlag( TRUE ); screen = MakeGraph( 256, 256 ) ; SetDrawValidGraphCreateFlag( FALSE ); // フォントのサイズを大きくする SetFontSize( 32 ) ; // メインループ(何かキーが押されたらループを抜ける) while( ProcessMessage() == 0 && CheckHitKeyAll() == 0 ) { // 描画先を描画可能画像にする SetDrawScreen( screen ) ; // 画面のクリア ClearDrawScreen(); // 文字列の描画 for( i = 0 ; i < 4 ; i ++ ) DrawString( 0, i * 32, "Test String", GetColor( 255,255,255 ) ) ; // 裏画面左上に描画可能画像を描画する SetDrawScreen( DX_SCREEN_BACK ) ; DrawExtendGraph( 0, 0, 640, 480, screen, FALSE ) ; // 裏画面の内容を表画面に反映 ScreenFlip(); } // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; }
Re: オフスクリーンレンダリングはできますか? ( No.2 )
名前:どさ 日時:2010/01/05 00:24

有難うございます。 参考にして挑戦してみます。

Page: 1 |