1

ドキュメントは、3Dレンダリングまたはフレームバッファモードのいずれかを使用でき、それぞれがアクティブなディスプレイに対してのみ可能であることを示しています。3Dを一方の画面にレンダリングし、フレームバッファをもう一方の画面にレンダリングする方法はありますか?

4

2 に答える 2

0

さて、サブエンジン(下の画面)で3Dを描くことができるディスプレイキャプチャ機能があると聞いたので、それを調べてを見つけました。

残念ながら、DCAPマクロは文書化されていないようです。そのため、実際の定義nds / arm9/video.hを確認しました。

// Display capture control

#define REG_DISPCAPCNT        (*(vu32*)0x04000064)
#define REG_DISP_MMEM_FIFO  (*(vu32*)0x04000068)

#define DCAP_ENABLE    BIT(31)
#define DCAP_MODE(n)   (((n) & 3) << 29)
#define DCAP_DST(n)    (((n) & 3) << 26)
#define DCAP_SRC(n)    (((n) & 3) << 24)
#define DCAP_SIZE(n)   (((n) & 3) << 20)
#define DCAP_OFFSET(n) (((n) & 3) << 18)
#define DCAP_BANK(n)   (((n) & 3) << 16)
#define DCAP_B(n)      (((n) & 0x1F) << 8)
#define DCAP_A(n)      (((n) & 0x1F) << 0)

私の弱い心には、3Dをキャプチャし、サブに描画し、必要に応じてメインのフレームバッファを使用できるように見えます。サブエンジンでフレームバッファを使用できるようにするには、画面をと交換する必要がありますlcdSwap()

于 2009-06-23T17:50:43.313 に答える
0

必要なものは完全にはわかりませんが、メインディスプレイエンジンで3Dを使用すると、サブエンジン全体でフレームバッファ(またはその他の2D)タイプのグラフィックスを実行できます(たとえば、拡張回転背景を使用)。

フレームバッファモードを使用して3Dエンジンからの出力をキャプチャし、両方の画面に3Dをレンダリングできるようにする場合は、libndsexamplesフォルダーに次の例があります。

http://libnds.devkitpro.org/a00035.html

于 2013-08-24T22:03:02.923 に答える