スポンサーサイト 

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

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

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)

現代社会の縮図、秋葉原事件 

ちょっと前に秋葉原での殺傷事件があったのは、
大体の人が知っているところだと思います。

あの事件を見て個人的に思ったのは、
犯人の動機と、その後のマスコミ・政治家の対応が、
今の世の中をかなり反映してるな、と。

実行犯は出来る努力もせずにやったことは人のせいだから、
ネットの友人が服装改善とか言ってるのに、聞かずに彼女が欲しいとか('A
髪型・服装変えて、人と話す努力すればある程度なんとかなるだろ。。
犯罪まで行くのは稀だけど、日々愚痴るだけの若者増えてるっぽいね。
個人的には、良くなるために死ぬほど失敗すれば良いと思うんだけどなぁ。

その後のマスコミの対応は、「ゲームにナイフ出るから、ゲームのせい」

( ゚д゚)ナイフが格好良いゲームとか中々無いけど

政治家の対応は、「ナイフが悪いから、ナイフを規制しましょう!」

( ゚д゚)トラックで来たらどうすんの?

正直、今の景気悪い世の中や、教育関連の影響も十分あると思うし、
何より悪者を規制しましたよ、って感じが見え見えで気分悪い。
こんなその場対応のやり方なら大学出る必要なんてないでしょ。

で、現在の秋葉原では十得ナイフとかまで取り締まりらしいです。
持ち物検査拒否ると囲まれるらしいです、一応任意のはずですが
超厳しい基準でやったら、何もやってなくても拒否りたくなるだろ。
多分ドラムスティックとかもダメなんだろうなー、何ならいいのよ('A

こんな世の中になってしまっているようですが、
せめて、犯人が精神面の異常とかで刑を軽くされない事を、
無関係な被害者の方々のためにも祈ります。
[ 2008/06/15 21:07 ] 通常日記 | TB(0) | CM(0)

ライブラリの方針が見えた( ゚д゚) 

漠然と新しいライブラリを作りつつ、特徴付けに悩んでいました。
まぁ、公開する気はないので、結構気楽なんですがw

で、Lunaとかの多機能ライブラリを参考に、
必要な機能はゴリゴリ入れていくわけですが、
同じような物を作るならLunaを使えばいいわけで。
必要な機能が入りつつ、どんな特徴を付加していくのか、と。

決めた方針は、ユーザーフレンドリー
ライブラリ作るなら当たり前じゃね?とか思うかもしれないけど。
Lunaは多機能で、色々な事が出来る代わりに、使いにくかったりする部分もあります。

▼ こんなところに気をつけて行こうと思う。
・フレームワークは基本的に隠蔽して、機能ごとに、SystemSetup,Init,Main,Termを使ってもらう。
・オブジェクト周りはマネージャを経由しないで生成可、内部でのリスト管理のみで。
 - マネージャが入ると把握する必要のあるクラスが2倍近くなるので。。。
・描画は基本的にクラスのメンバ関数で完結、単純描画だけはグローバルに。
・2Dはマトリクスじゃなく、直に座標指定でも描画出来るように(DX8のSpriteみたいな感じ)
・豊富なデバッグ用機能。
 - グラフィカルに色々見れたり、値をいじれたりさせたい。
  無駄でもいいから、使いたくなるぐらい格好良く、エンボスつけたりとかw


つまり、直感的だといいな、と。
2D描画したい→CpPrimitive2D(or 単純描画関数)使えばおk
テクスチャ貼って2D描画→CpTextureとCpSprite2D使えばおk(さすがにテクスチャは分けたい)
モデル描画したい→CpModel(+CpTexture)使えばおk

で、まあ公開しない強みとして、
機能欲しくなったら後でつけるわw
そんな感じで~
[ 2008/06/15 00:28 ] ライブラリ開発 | TB(0) | CM(0)

Zodiacライブラリ途中経過 Ver.0.20bぐらい? 

時間が無いながらもコツコツ進めております。
目標としては割とシンプル(広く対応する必要がないので)に作る。
そして、細かい便利機能を追加して、
エフェクトとかのパラメータをいじっては実行を繰り返すのをやめる。
あの辺の調整は地味に時間とられるので、その辺サクっとやりたい。

で、現在のライブラリ進行度合い

▼Aries(メインシステム)
・ウィンドウが出ますよー
・HTMLログが吐き出せる
・ヒープ管理システムですよ
・数学関連関数群
・3,4次元ベクトルクラス
・行列クラス(DirectXのが早かったからラッパーに)
・ファイルを扱うクラス
・文字列処理(検索・挿入・削除あたり、日本語対応)

▼Capricornus(描画システム)
・デバイス周りの基本システム
・ウィンドウモード切り替え対応
・色の管理クラス(キーフレームアニメーション対応)
・描画基底オブジェクト作成

さて、じわじわ進んでますが、するどい人はちょっと見ると分かると思います。

描画できない事が('A


あ、画面のクリア色をアニメーションさせて楽しむ事はできますよ

うん、次はプリミティブクラスだなぁ。
基本的には四角と三角ぐらいでいいんだけど、色んな形状出して遊びたいなー。
何より、円とかの基本形状が関数一発で出るのは、開発初期で便利。
とりあえず弾飛ばしてみるのとか、四角より丸のがちょっとそれっぽいし。

そんなわけで、色々やってみることにします。


あ、仕事もちゃんとしてますよ
[ 2008/06/10 22:22 ] ライブラリ開発 | TB(0) | CM(0)

地上デジタル放送本当にいるの? 

着々と地デジ移行計画が進んでいるようです。
2011年にアナログ停波とかがあって、強制的に移行させようというもの。

で、利点としては高品質のテレビ配信。

まぁ、それはいいんだけどさ。


画質気にしながらテレビ番組見る人そんなにいるの?


CGのような視覚コンテンツなら分からないでもない。
ゲームとか、綺麗な映像も楽しみにしてる人もいるし。
でも、テレビ番組は中身じゃないのか?

ついでにいうと、一般家庭の小さいテレビじゃ実感できないです
双方向通信とかあるけど、今でも携帯通して似たような事やってる番組あるし。

以上のメリットの代わりに、大量のデメリットがあるわけで。

▼地デジデメリット
・テレビ買い替えか、専用のチューナーが必要(金がかかる)
・番組切り替えが非常に遅い(ラジオぐらい)
・番組自体若干遅れてくるので、地震速報が遅れた(2~4秒遅れだったらしい)
・電波的な影響をかなり受ける(見れない場所あるんでない?)

で、乗り換えたいですか?('A
画面に「アナログ」表示を強制的に出そうとしてたり、
腐った政策が多すぎる気がします。
[ 2008/06/01 23:09 ] 通常日記 | TB(0) | CM(2)
プロフィール

poro

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


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