by shigemk2

当面は技術的なことしか書かない

自作GPUへの道 #kernelvm

@d_kami

Graphics Processing Unit - Wikipedia

自作GPU

大学の授業でCPU作った上でレイトレしたらしい

コンパイラもアセンブラもない OpenOffice

アジェンダ

FPGAでGPUを作るという話

  • CPUはモチベーションが上がらない
  • GPUだと3D表示できる俺△的な

Verilog HDLを使って自分で考えて何かを作るのは初めて

環境

  • DE0
  • Verilog HDL
  • テレビ

Verilog - Wikipedia

Altera DE0 開発・学習ボード - Soliton Wave Shop

何するの

  • VGAをなんとかする

とりあえずサンプル

DE0付属のサンプルから

色が足りない

2Dから3Dを指定

  • ラスタライザ方式(メモリ使いすぎ)
  • レイトレーシング方式(座標からその座標の色を特定できる)

その他の計算

基本はベクトル

ベクトルの長さを近似

怪しい近似

6重ループのちからワザ

固定小数点の乗算64bit整数

  • レイトレーシングは球
  • 平方根を使わずに三角形表示
  • 内積と外積がつかえればなんとかなる

3Dぽいことは出来なかった…