徒然なる日々を送るソフトウェアデベロッパーの記録(2)

技術上思ったことや感じたことを気ままに記録していくブログです。さくらから移設しました。

今更ながら、3D描画回路を作ってみた

Zybo ボード上で3D描画回路を作ってみました。
技術的なことは以下に書いておきました。
qiita.com

三角形さえ描画できれば、後はそれを Z 値の小さい順にソートして
順に描画していけば視点から見たポリゴンを描画できます。
(Zサーフェス法)

まだいくつかソフトウェアにバグがありますが、ハードウェアおよび
ソフトウェアを
github.com
に追加しておきました。
(実際に表示させるには以前作成した vgagraph が必要。
FPGA レポジトリに Verilog コードを収容してあります。)

今回はパラメータを都度 CPU が与えていますが、発展形として、

  • 入力を FIFO 化して CPU からの独立性を高める
  • 頂点および Surface データも DMA 転送とする

などがあります。特に FIFO 化は効果が大きいと思われるので、
次回挑戦してみたいと思います。

ようやく初代プレステ並みの機能になってきました。

[2017.4.13追記] Vivado で作成したブロックダイアグラムを
記述しておきます。
f:id:minosys:20170413081951p:plain
[2017.4.14追記] レポジトリのプログラムのバグを修正しました。
今度はちゃんと動きます。