GPUPPURの進捗

最近日記を全然更新してませんが、GPUPPURの開発が進んでないというわけではありません。ただ、面倒なので更新してないだけですorz
とりあえず今までのところできたのは、
レイトレーシングするGPUPPURayとラスタライジングするGPUPPURasで(いくつか制約はあるがほぼ)任意の三角形メッシュのレンダリング
・GPUPPURayはfragment shaderでピクセル単位のライティング(拡散反射光のみ)
・GPUPPURasでvertex shaderで頂点単位のライティング(拡散反射光のみ)
・カメラの位置や方法を自由に動かす
・カメラの視角の設定
・物体の位置、方法の指定
・物体のマテリアルの指定(でも拡散反射光のみ)

後、OpenGLDirect3Dの両方に対応していて、あるウィンドウでOpenGLを使ったGPUPPURayでレンダリングしながら、別のウィンドウでDirect3Dを使ったGPUPPURasでレンダリングとかできます。


まだ、GPUPPURに必要なPhysXAPI(FR0011: HW Batched Raycasts)がSDKに用意されていなくて、PPUを活用したレンダリングができてません。
今のところはPPUでやる予定の処理をPhysXAPI(NxScene::raycastClosestShape)を使ってCPU上で計算しています。
このままAPIが公開されず、PPUを使えないままってことも十分ありえます。
そのときの代案として、
XBOXPlaystation3等で動くGPUPPURを実装する。
・PPUの代わりになりそうなハードウェアを探す。
・PPUで行う予定の処理もGPUで行うようにする。
・PPUの代わりになるようなハードウェアをFPGAを使って開発する。(FPGAを使った経験は無いけど、一度は使ってみたい)
を考えているのですが、今回の未踏の期間内にこれらに手を出すのは無理そうです。

       ト、         /ヽ   /\        _ 
   /|\ | ヽ       〈三ヽ /三/|        / !    /!ヽ 
   | l  ヽ |  ヽ      !\   / _|      /  |   ,' /  ! 
   | ヘ   !   ヽ    ( )){ }( ))     ,'   !_/ /  j そんなことよりGPUPPURしようぜ! 
   ',  ヽ |    l      トイ`|i|⌒ Y=}     !    ', /   / 
   ',  ヽ!≡   l      { ヽ || r‐'リ -i    !  ≡ !     / 
    ヽ    ≡  !     | ミ )!!= 彡-ノ_   l  ≡ !   ,.' 
     \   ≡ |   ,.-ノ / ! ト、トく   `メ、_',  = / / 
      \ ≡ !  /てノしイ_人人ノ、    ヽ  / 
        \― |/ヽ ,イ- 、ヽ /   イ´ ̄ ̄ヽ_/ 
         \ ヽ/  l  ヽi / ̄`! 
            ̄     〉―く ァ―‐‐j 
                  ゝ_ノゝ-- ノ!