うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。(2).NETOpenGLがDirectXと比較して圧倒的に駄目な理由として、テクスチャサイズの制約が挙げられる。常識的には、ビデオメモリ間の転送であればビデオカードによるアクセラレーションが期待出来る。要するにビデオメモリが空いてて、ビデオメモリにテクスチャを確保できるかどうかが鍵なのだが、そのためにはビデオメモリをなるべく無駄遣いしないことが大切だ。当たり前のような話だが、OpenGLに限ってはこれが全然当たり前ではない。OpenGLではテクスチャサイズが2の累乗でなければならないという制限がある。近年2Dゲームでポピュラーな解像度である800×600のテクスチャを確保しようと思うと1024×1024サイズのテクスチャを確保しなければならない。RGBA8888の32bppなら、4MBだ。800×600なら、1.83MBで済むはずのところだから、倍以上の領域を確保していることになる。裏を返せば、確保されたテクスチャの半分以上の領域は使われないゴミのような領域なのだ。こんな馬鹿な話があっていいのか。限られたリソースをもっと大切にしやがれ。テクスチャはポリゴンに貼って使うものであって、2Dのギャル絵を描画するためのものではない。仕方ないと言えるのかも知れないが、いまどき2Dのゲームでも3D機能を利用して実装するのは半ば常識的に行なわれている*1ことであって、2の累乗サイズのテクスチャでなければならないという制約は痛すぎる。(つづく)*1:実装の容易さから3Dの機能を用いて実装をしているだけであって、3Dの機能を用いるべきだと言うわけではない。shaderを用いるのでなければ加色・減色・ブレンド等の限られた色合成しか出来ないので、本当に2Dエフェクトを追求し、汎用的なシステムを目指すならば3Dのハードの機能には頼らず完全に自前で処理したほうが良いだろう。それには莫大な労力が必要となる。電子書籍になるに至るまでの話ブログちょっとだけ移転のお知らせ時代はまだゲームセンターあらしに追いつかないのかやねうら王、電王戦バージョン提出しました将棋の神様のレーティングはいくつなのか?月別アーカイブはてなブログをはじめよう!yaneuraoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。