スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

Zodiacライブラリ - 基本のテクスチャレンダリング - 

ゲームを作る上で、これがないと昔のゲームみたいになってしまいます。
それはそれで、味はあるんですが、やっぱり基本のテクスチャレンダリング。

テクスチャとは、模様のような意味で、主に画像を読み込んで使う事が多いです。

ポリゴン描画との差としては、テクスチャをデバイスに設定して、UV座標を加えるぐらい?
テクスチャはクラス分けしといた方が何かと便利だと思います。


▼ 魔方陣テクスチャ貼ってみました。



一応加算合成なんですが、背景黒だと何の変化もないです

今回テクスチャは3枚張りまで対応させました。
DirectX的にはそれ以上も行けるんですが、どうせ使わないので。

2枚ぐらいは2Dで使っても、UVスクロールとか組み合わせると良い演出になるかも。
簡単にUV設定できる仕組みを作ろうかな。


段々見た目が良くなってきましたよ(´・∀・`)
スポンサーサイト
[ 2008/07/04 00:16 ] ライブラリ開発 | TB(0) | CM(0)

Zodiacライブラリ - 回転・そして魅惑のアルファブレンド - 

大分見た目にも良い感じになってきました。
個人的にアルファブレンドは2Dにおいて最高クラスの機能だと思ってます。
それほど重くもなく、手軽に綺麗な見た目が出せる。
そして、今どきのビデオカードなら大体対応してる。
SSはスクリーン合成です。

スクリーン合成というのは、加算のような効果なんですが、
加算合成より白飛びしにくいので使いやすいです。

▼ アルファブレンド[スクリーン]+回転



とりあえず、合成無し・半透明・加算・減算・乗算・スクリーン・反転を実装しました。
パラメータ一個投げるだけで良くて便利です。
後はXYZ回転もとりあえずベクトル投げればできるように。

プリミティブは結構出来てきたから、次は形状変えるか、テクスチャを貼ろうかな。
[ 2008/06/25 00:53 ] ライブラリ開発 | TB(0) | CM(2)

Zodiacライブラリ - やっぱり重いのでモード分けしましたの巻 -  

さて、前回のプリミティブ大量描画ですが、心配していた部分で案の定…。
一括描画全く使わないでやったら、500個ちょいで処理落ちを始めました。
これじゃどうしようもないので、初期化時にフラグで一括描画するかどうかを選ぶように。
一括描画しない場合はDrawPrimitiveUpで描画を行います。

頂点バッファを何回もロックするのが重いわけで、Up系なら問題なく描画できます。
むしろ、2Dは全部Up系でいいかも・・・?
そこまで極端な差がないし、一括描画自体は使えるんだよね。
シンプルな構造を目指すならそういう切捨てはありなのかも。
でもシェーダーとかはだめなんかなー。
頂点バッファを使うかどうかのフラグにした方が正しい気がしてきた。

結論:
頂点バッファは3Dで使うのが効果的であり、
その場合は行列をデバイス経由で渡してやるのが高速。
2D程度はUp系列の関数で大差ない。
[ 2008/06/23 23:13 ] ライブラリ開発 | TB(0) | CM(0)

Zodiacライブラリ - プリミティブ沢山出ましたの巻 - 

さて、プリミティブを増やしてみました。

とりあえず実験した限りでは、今のPC(開発用/かなり高スペック)だと11000個程度まで60fps。
旧PC(Pen4 2.26GHzあたり、グラボもそれなり)だと、3000個ぐらいといった感じ。
ちなみに旧ライブラリが今のPCにおいて、2500個ぐらいで処理落ちを始めます。
一括描画が出来る環境に限定すれば、4倍以上速くなりました。
一括描画出来ないと、きっと2500個程度かそれより劣るでしょう。
ただ、大量に描画するパーティクル等は大抵同じテクスチャになってるはずです。






やってる事大差無いと思うのにLunaのサンプルより速度でない_no
・・・と思ったらウィンドウサイズの差でした、800x600でやってたので。
やっぱり高画質は諸刃の剣ですね、あんまりディスプレイでかくならないで

本格的に弾幕とかで1万発とか出すのは、頂点シェーダーとか使ってるんだろうなぁ。
シェーダー使えば座標変換のためにわざわざバッファをロックしなくても良さそうだし。
とはいえ、市場のグラボが安定してシェーダー対応するまでは中々使いづらいのでした('A

[ 2008/06/22 01:13 ] ライブラリ開発 | TB(0) | CM(0)

Zodiacライブラリ - プリミティブ出ましたの巻 - 

ついに念願のプリミティブが描画されたぞ('A

そんなわけで、下の画像みたいにプリミティブが出ます。
昔の命令与えて描画するソフトっぽいですw





が、


とにかく早く出したくて焦ったので、内部的なシステムが全くできてません。
インタフェースから実装したから、頂点色変えられて、描画位置とサイズは選べるわけだけど。

適当な実装なんで、2枚目以降全部同じ位置に描かれます
登録した時にバッファコピー位置ずらしてるけど、描画で参照している位置変えてないわけで('A

まぁ、とりあえず描画まで行ったんで、作りながらSSあげて行こうかな。
次は内部処理充実させて、複数枚描画あたりになるのかな。

テクスチャ?
プリミティブだけだって何度言えば
[ 2008/06/20 00:43 ] ライブラリ開発 | TB(0) | CM(0)
プロフィール

poro

  • Author:poro
  • プログラマやってる人です。
    絵とかも好きだったり、
    何か作りたいとか最近考えているらしい。
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。