トップページ > 過去ログ > 記事閲覧
3Dで画面分割表示
名前:powder 日時: 2009/10/05 18:31

3D表示でレースゲームの画面上下二分割のような事をやりたいと 思っています。(別々の領域に別カメラからの映像を表示) 調べて見た所、DirectXではビューポートと言う機能を使うと実現 できるらしいのですが、DXライブラリで実現できますでしょうか? 或いは無理だとして今後の対応予定はございますでしょうか?

Page: 1 |

Re: 3Dで画面分割表示 ( No.1 )
名前:管理人 日時:2009/10/07 08:33

現在公開している Ver3.00c では画面を分割するための機能がなかったので 少し前に powder さんと同じご要望を頂いたときに追加しました よろしければこちらのバージョンをダウンロードしてください http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) ビューポートの実現には SetDrawArea と以下の関数を使用します // 画面上におけるカメラが見ている映像の中心の座標を設定する int SetCameraScreenCenter( float x, float y ) ;  注釈だとよく意味がわからないかもしれませんが、要は消失点を変更するための関数です 初期状態では常に画面の中心が消失点になっていますので、SetDrawArea で上半分を描画範囲としても 意図した通りの見た目にはならないと思います なので、SetDrawArea で描画範囲を変更した後、この関数で消失点を描画範囲の中心にしてやってください m(_ _)m // 画面上半分をビューポートにする場合 SetDrawArea( 0, 0, 640, 240 ) ; SetCameraScreenCenter( 320.0f, 120.0f ) ;
Re: 3Dで画面分割表示 ( No.2 )
名前:powder 日時:2009/10/07 16:17

回答ありがとうございます。 上記関数で該当の機能に対応できそうです。 また、度々のお願いで恐縮ですがC♯用のDLLもご提供頂けると有難いです。 或いはあわせてC♯用DLLを作成するためのVCプロジェクトの設定等も公開 して頂けると嬉しいです。
Re: 3Dで画面分割表示 ( No.3 )
名前:管理人 日時:2009/10/13 23:31

すいません、ご返信が遅くなりました C#用のDLLをアップしましたので、よろしければお使いください http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip C#用DLLは DxLib.h から C#用のcsファイルやDLL用のソースファイルとヘッダファイルを 作成するコンバータを使っていて、ヘッダファイルを規定外の書きかえをするたびに ちょくちょくコンバータのソースも調整しているので、お渡ししても数ヶ月で役に立たなく なってしまうと思います
Re: 3Dで画面分割表示 ( No.4 )
名前:powder 日時:2009/10/14 13:04

動作確認しました。対応ありがとうございます。 C#用DLLのコンバートってやはり大変なんですね。個人的にどうやっているのか興味もあったので聞いてみました。

Page: 1 |