うーむ、技術的限界を感じる。
3Dでよくある無限トンネルを作りたいが調べても作り方が見つからない。
DirectXのサンプルにあるらしいが見当たらないし、探す時間が無駄すぎる。
いい加減本か何か買おうかしら。The・NEETに出費は厳しいが。
30秒ドローイングをはじめて大体2週間ほどたつ。
最初のころに比べれば、体全体をかけるようになってきたし
紙の上での線の位置なんかが予測がつくようになった。
まあ、3次元を2次元にする技術はかけらもついてないけど、線をなぞるぐらいならなんとかなるかな?
30秒マジ短い。
この間買った紅茶がえらくまずくてなあ。
下手に味付きを買うもんじゃないなぁ、とか。
2008年4月12日土曜日
わっかエフェクト
わっかエフェクトを表示できるようにした。http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080412.zip
検索するより適当に実装してみるほうが早いかなと思って、
適当に実装した。
円の外側までの距離と円の内側の距離を指定し、
頂点を、(角度0度から)
円の内側の点→円の外側の点→次の角度
円の内側の点→円の外側の点→次の角度
円の内側の点→円の外側の点→次の角度...
とぐるりと一周するまで繰り返すと、あら不思議。円が書けちゃう。
(D3DPT_TRIANGLESTRIPでレンダリングする)
テクスチャUVもそれにあわせて計算する必要があるのが、
手間としては普通に2D表示をするのと大差ない。
まあそんな感じ。
関係ないが、最近検索をうまくできない。
上に来るのが全然関係ない記事ばかりでどうしたものやら。
とくに「DirectX」「Direct3D」とか、付けないとプログラムとは関係のないページばかり出るが、
付けるとぜんぜん出てこなくなって、それはそれでよくない。
MSDNのページもなぜかスクロールできないし、なんか最近調子悪いわ。
2008年4月8日火曜日
とりあえずゲームっぽく
2008年4月7日月曜日
マテリアルの設定が残ってた
できたー!つーことで、テクスチャレンダリングで色が勝手に変色する問題を解決できた。
原因がXファイルをレンダリングしたときに設定したマテリアルの情報が残っていたことだった。
なので、Xファイル後にマテリアルの情報を初期化した。
MSDNにはデバイス作成時に以下のように初期化されると書いてあった。
Diffuseのrgbが1、ほかは0だとあったので、そのとおりパラメータを初期化したが、何も表示されなくなった。
なのでDiffuseのrgbとさらにAmbientのrgbも1を設定してやると、意図した表示が可能になった。
それにしてもマテリアル設定はノーマークだった。
Xファイル読み込みとレンダリングなんかサンプル丸写しなもんだから、
問題になるなんて思っても見なかったわ。
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test080407.zip
ということで、今日の成果。
以前からの変更点は
- 曲
- 効果音
- 適当なエフェクト
ぐらい。
2008年4月6日日曜日
拡大縮小時のフィルタリングで引っかかってた

画像のように、レンダリングしたときに線ができてしまい、
なんでよ! とあれこれ調べてた。
原因は、
SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
このへんでした。ぼかしはあきらめて
SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_NONE );
とすることで、問題解決。線は映らなくなった。
ぼかしたいときはFSAA(フルシーンアンチエイリアス)をかければよいとのことだけど、
テクスチャにレンダリングするのが重いオンボードは無理。あきらめる。
あと、フォグの最小範囲が小さすぎて、
2Dレンダリング時にもフォグがかかってしまい、透明色も描画されてしまう現象が起こってた。
フォグの範囲にも注意されたし。
それから、未解決の問題があって、なぜか緑がかって描画される。
ライトかなんかかとは思うけど、どこを直せばいいのかが不明。
とりあえずスルーしてる。
2008年4月5日土曜日
ショット

http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/test080404.zip
本日の成果、ってことで、
- カメラの移動をスムーズに
- ショット的なものを実装
- 壁の角にぶつかっても止まらないようにした
といった感じ。この辺の実装になるとDirectX関係ないな。
ためしにショット6000発ほど表示してみたら、以外に高速に処理してくれる。
こういうのはWinAPIだとかなり厳しかっただけに、なんとも頼りになる。
2008年4月3日木曜日
移動とか判定とか

今日の成果
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/test080403.zip
昨日ぶっ飛んだものの、バックアップを取っていたのでフルスクリーン部分だけ書き直せばおkだった。
そんな感じで、無駄に3Dな2Dゲーのようなものをさくっと作ろうかと。
とりあえずプレイヤと壁を作って接触判定を行った。
接触判定は完全2Dで、頂点とかそんなの関係ーね。けーね。
壁を完全にランダムに設置。やる気は無い。
F1でウィンドウモードとフルスクリーンの切り替え。
F2でキャプチャ保存。
操作はカーソルのみ。
とくにこれといって面白いことはしてないんだけど、まあいいじゃん。
2008年4月2日水曜日
フルスクリーンとウィンドウの切り替え
やり方は簡単!
PresentParamのパラメータをちょいといじくってResetするだけ。
できたーっとかいって
ちょうしのって
ころころかえてたら
ぶるーすくりーんでおちた。
でーたぶっとんだ。
ぜんべいがないた。
PresentParamのパラメータをちょいといじくってResetするだけ。
できたーっとかいって
ちょうしのって
ころころかえてたら
ぶるーすくりーんでおちた。
でーたぶっとんだ。
ぜんべいがないた。
日記ちゃん
30秒ドローイングっつーのをやってみた。
これがなかなか面白くてなあ。
30秒って短いよねとか思ってすごい適当に書いたら時間あまりまくり。
精一杯描く気でいくと30秒じゃどうしようもない感じ。
とりあえず、現状では人の形になっていない(!)から、そこはなんとかしていきたい。
これがなかなか面白くてなあ。
30秒って短いよねとか思ってすごい適当に書いたら時間あまりまくり。
精一杯描く気でいくと30秒じゃどうしようもない感じ。
とりあえず、現状では人の形になっていない(!)から、そこはなんとかしていきたい。
2008年4月1日火曜日
デバイスロスト対策
できたー!
ということで、デバイスロスト対策はひとまず終了。
Reset
SetRenderStateの再設定
ということで、デバイスロスト対策はひとまず終了。
Reset
SetRenderStateの再設定
- AMBIENT
- FOG関係
カメラの設定
プロジェクションの設定
と設定しなおしておげれば、元に戻った。
なんというか、ステータス元に戻せばいいよね、というのは知ってたのものの
全部一度に設定しないとまったく見えない所で躓いたなあ。
一個一個設定してはなおらねぇなおらねぇと言ってたもんだから、
えらく時間がかかってしまった。
登録:
投稿 (Atom)
