トップページ > 過去ログ > 記事閲覧
別々の3D座標軸を2つ設定したい
名前:牧場王 日時: 2010/06/17 19:33

表題の件について質問させて頂きたいと思います。 実施したいことは、前景として正射影カメラと独自の光源を持つ3D座標系1と、 背景として遠近法カメラと別の光源を持つ3D座標系2を、重ねて表示したい、 というものですが、これをDXライブラリで実現出来るかどうか、 お分かりになる方がいらっしゃれば、コメント頂きたいと思います。 イメージで言うと、STGの式神の城シリーズのように前景(STG座標)は固定で 背景のみ自由に動かせるような環境を想定しています。 (式神の城をご存知なら良いのですが) お手数をお掛けしますが、宜しくお願い致します。

Page: 1 |

Re: 別々の3D座標軸を2つ設定したい ( No.1 )
名前:管理人 日時:2010/06/21 01:10

既存の機能でも描画可能画像などを使用すれば実現できますが、もっとスマートな方法として 背景をレンダリングした後、画面のZバッファ( ピクセル単位の奥行き情報 )だけをクリアして 前景をレンダリングするという方法があります この画面のZバッファだけをクリアするという機能がDXライブラリにありませんでしたので、この機能を追加しました よろしければこちらをダウンロードしてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) 追加した関数は以下の関数です // 画面のZバッファの状態を初期化する int ClearDrawScreenZBuffer( void ) ; 機能は注釈の通りです こちらを使用して  1.ClearDrawScreen  2.背景を描画  3.ClearDrawScreenZBuffer  4.前景を描画  5.ステータスなど2Dのものを描画  6.ScreenFlip とすれば、お望みの処理を実現できると思います よろしければお試し下さい
Re: 別々の3D座標軸を2つ設定したい ( No.2 )
名前:牧場王(解決) 日時:2010/06/23 23:29

リプライが遅くなり申し訳ありません。 早速のご回答有難うございます。 確かに重ねて描画するのみであれば、ワールド座標からスクリーン座標までの 変換を意識することなく、順々に描画するだけで実現できますね。 アルファ関連の描画も心配していましたが、Zバッファをクリアする関数を 追加頂いたので、問題無く実装出来そうです。 (すぐには実装出来そうにありませんが、作成に着手しようと思います) ご対応頂き有難うございました。

Page: 1 |