SSブログ
プログラミング ブログトップ
前の10件 | 次の10件

ポリゴンレンダラ - その10 [プログラミング]

前回今回の計算にvDSPが使えるか、使えるとしたらどうすればいいか、を考えた。劇的に速くなる、ということはあまりなさそう、ということぐらいはわかった。ということで実際に測定してみよう。今回のようなパフォーマンスが問題になるアプリでは、vDSPが速いとAppleが言ってるから、というだけでそれに最適化したりせず、具体的に測定してみることが重要。

やってみると、ごく当たり前の結果と、思いもしなかった結果が得られた...

続きを読む


ポリゴンレンダラ - その9 [プログラミング]

前回vDSPにあるFFT以外の関数群をおさらいした。ごちゃごちゃと雑多なものが含まれている。vDSPのFFTは以前驚くほどのスピードを出していたが、それ以外の関数が同じくらいのパフォーマンスがでるかどうかは試していないのでわからない。普通に考えれば単純計算を実行する関数が多いのでFFTほどのパフォーマンス差は出ない、と考えるのが素直な姿勢だろう。

パフォーマンスの単純比較をする前に、今回のポリゴンレンダラに使う計算のうち、どの部分にどんなvDSPの関数が使えそうかをざっくりと見てみることにする。

続きを読む


ポリゴンレンダラ - その8 [プログラミング]

前回ポリゴンの集合に対して輪郭線を引く方法を考えた。今回の僕の最終的な目的のためには計算が素早くできないといけない。ひとまわりの計算がディスプレイのリフレッシュの間に終わることが望ましい。

ということで、今日は何を計算するかをまとめて、ちょっと実装に先回りして効率のいい計算のためにvDSPを使うことを考えてみる。

vDSPと言えばFFTなんだけど、それ以外の関数もたくさん含まれている。それでどんなことができるのか見通しがよくないので簡単に整理した表を作った。表になにが書いてあるかは続きを読んで欲しい。

続きを読む


ポリゴンレンダラ - その7 [プログラミング]

とりあえず前回で照明の数学はできたことにする。

今日は輪郭線の描画について。

続きを読む


ポリゴンレンダラ - その6 [プログラミング]

こないだPhongの疑似照明モデルの整理をした。物理モデルに較べれば極端に単純化したものだけど、見た目にはそれほど大きな問題はない。今日はそれを光源が複数個ある場合に拡張したあと、Phongモデルのいくつかの問題点について整理する。

続きを読む


ポリゴンレンダラ - その5 [プログラミング]

片付け感の強い数学のまとめ。前回は同次座標を使って立体を平面に射影するマトリクスの具体的な形を求めた。

今日はちょっと追加作業をして、面の表示色を求めるためのPhongモデルをおさらい。片付け感は延長する。

続きを読む


ポリゴンレンダラ - その4 [プログラミング]

こないだの退屈な座標変換の計算の続き。とっとと終わらせて次の作業に入りたい。

続きを読む


ポリゴンレンダラ - その3 [プログラミング]

効率的なPDFベースのポリゴンのレンダラを実装しようとしている。今回は効率優先なので前回MathematicaのGraphicsComplexというデータ構造をパクることにした。最初からあまり実装に近いところに突っ込むとぐちゃぐちゃになって投げ出すということになりかねないので、注意しないといけない。

今日はまた座標変換のための専用の数学をまとめておく。特に目新しいことはなくて、どうしても退屈なベクトルを使った幾何学の話になるけど、これをやっておかないと実装のときにやっぱりぐちゃぐちゃになってしまうのでやっておく。

続きを読む


ポリゴンレンダラ - その2 [プログラミング]

こないだやり始めたやつの続き。今回ばかりは実行効率重視なので実装にも注意しながらやらないといけない。今日は前回決めた座標系で与えられるポリゴンの頂点座標を効率的に保持する方法について。

続きを読む


MacOS Xの数値計算用API [プログラミング]

先日から始めたポリゴンレンダラの実行効率のいい実装のためにひさしぶりに調べ物をしている。MacOS Xで数値計算を実装するならAccelerateフレームワークを使うのが一番手っ取り早くて効率もいい。MacOS XではAccelerateフレームワーク以外にはFFTWgslがフリーであって、それ以外と言えばインテルのMKLと、NAGのポートぐらいだろう。Windowsではどうなんだろ。全然知らないんだけど、もっといい選択肢がいっぱいあるんだろうな。

MacOS XではAccelerateフレームワークは10.0から標準でインストールされるので使えるなら使ったほうがいい。またiOS6/MacOS X10.7からは完全に同じ呼び出しが両方のOSで使えるようになっている。

続きを読む


前の10件 | 次の10件 プログラミング ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。