« 2004年08月 | トップへ戻る | 2004年10月 »

2004年09月28日

こねた

最強の行列積プログラムを完成させようと必死な咎人です。っつーか、必死なのはB4の中間発表?


どっかの新聞でみたんだけど、M$はIE最新版をXPSP2にしか提供しないらしい。まぁ、M$はセキュリティの都合などからXPSP2を激しくプッシュしているわけであり、最新版IEはSP2のなんかセキュリティ機能を利用しているとすれば、割とわからないでもないお話です。
で、だ。
まぁ、XP持っている人は普通にSP2あてるだけだからいい。しかし、2kなど、XPより前のものを使っている人は、最新IEを使うにはカネがかかるってことだ。その結果どうなるか。
おそらく、IEを捨てて、mozilla系やopera系に流れる人が増えると思う。そんなわけで、今回の戦略で逆にM$が必死になるシナリヲを希望しておきます>GM(いないって

まぁ、Windowsを窓から投げ捨てる。以外のOSの普及率が上がるというシナリヲはもっと面白いんですが。


ところで、ATIの最新RADEONは、スーパーメモリーとかいうメインメモリをGPUから普通に使っちゃう技術を持っているらしい。PCI-Xのでかい双方向の帯域を利用するそうで。GPGPUの分野ではおいしいのかなぁ、と考えている人はそれなりにいるのではないだろうか。まぁ、ハイエンド分野ではVGA上にでかいメモリ積むらしいので、なんだか中途半端な技術にも見えてしまうわけだが。16bitでも32bitでもなく、24bitだしな。

…それより、fp32対応GPUの追加とか、REFデバイスの充実に期待をしたいんですが、駄目ですか。REFじゃ色々と実験できないねん。vncすれば家からできるか。

投稿者 togabito : 15:14 | コメント (0) | トラックバック

2004年09月25日

TGS2004

行ってきましたTGS2004。ビジネスデーだけど。

ちなみに、ネタバレしまくりなので注意。

朝八時すぎ、家を出発。京王、中央、京葉を乗り継いで十時過ぎ頃会場に到着。メシを喰っていなかったので近くのロッ○リアでハンバーガーを食べたことにより、ハンバーガーが美味い食い物であることを知る。

内部侵入。とりあえずわき目を振りまくりながらスクエニブースへ突撃し、ラジアータストーリーズを目ざとく?発見。ちょうど待ち行列も形成されていなかったため、五分ほどのwaitでplay開始。今回はオープニング体験かオリジナルミッションが選べるというので、迷わずオリジナルミッション。山岸さんが山羊にされているのを助けるアフォなシナリヲです。
以下とりあえず雑感。
SO3っぽい。○ボタンで攻撃、タイミングで連続。攻撃の種類はキャンプで設定。通常技にコスト(CP)が決まっていて、最大CPの許す限り、そして装備武器の許す最大段数まで連続攻撃をセットできる。SO3のバトルスキルみたいな感覚。ついでに武装を変えるとキャンプもフィールドも戦闘もキャラ絵が変わる。あとゲージをためると個人もしくは全体の特殊技能が使える(ボルティ)。武装によって全然違う技で燃え。リンクシステムは、使うとパーティがその陣形に合わせて動く(普段は好き勝手(個人の作戦に応じて?)動く)。主人公以外もボルティブレイク使えるかはわからん(一応書いてあるヤツはいたから多分使える)。屋内フィールド、屋内バトルだったので、屋外もやってみたかった。そしてボスが必死だった。冷凍と石化が…。よく死ななかったな自分。そんなわけで、なんとかボスをブチ殺して体験版終了。良かった脳>自分。
いやー、良かった。(発表からの経過時間を考えると余計に)素晴らしいデキ。期待しちゃうぜ。
その他スクエニブースは、主に映像。でかいスクリーンで各種ゲームを流したり、身にシアター展開して阿呆みたいに人間が並んでみたり。

隣に癌砲があったので行ってみたら、なんかお偉いさんっぽい人が三人握手してて、撮影タイムみたいになってたので撮った。誰だったのかわからん。

PSPがプレイアブルだった。リッジレーサー(の試遊)に興味が全然無いのでT.O.Eいじってみたが、村歩き回って話しできるだけでしょんぼり。OPムービーは流れてたけど。

あとは適当に、人が少なめなものを見つけてプレイ。例えばワイルドアームズとかナルトとか。ただ、完全に昼を過ぎてしまうと、人が増えまくり。必死。一般公開日ほどではないけど。逆に、全然参加者がいなくて途方にくれているイベントとかが見ていて微笑ましかったり。

その後、本来の目的のはずだった?igdaのカンファレンスへ。
…悪いけど、期待はずれ。つまんね。

公演のつまらなさに、海浜幕張から東京まで特急に乗ってみたり、ついでだから新宿ヨドバシでLANケーブルとデジカメ保護剤買ったりして帰還。ツカレタヨー。


そんなわけで、毎年恒例?聖地巡礼終了です。ラジスト良かった。(゚∀゚)ノラジアータラジアータ\(゚∀゚)/

ねむいねる。…と思う。

投稿者 togabito : 01:07 | コメント (0) | トラックバック

2004年09月20日

某学生寮のネットワーク

Showyou氏の日記で楽しそうなことが書いてあったので私もちょっと書いてみることにしてみよう。

知っている人はよく知っていますが、私は昨年度まで大学の学生寮に生息していました。入寮当時はADSLサービス開始からそれほど経っていない時期(テレホーダイの時代)でしたが、CDイメージが一時間で落とせる位の速度がありました。

CD一枚650MBだから、650/60/60でsecあたり0.18MB、つまりおおよそ1.5Mbpsで初期のADSL並に出てたのかな

ただし、ポート使用制限が厳しく、POPメールの受信すらできませんでした。とはいえ、webメールがあったし、その当時ネトゲなんてする気は無かったわけですが。

その後、回線品質は学内の回線の高速化に反して劣化。ぶつぶつ切れる悲惨な時期がありました

そこで、私自らネットワーク管理をしている教官などに連絡を取って、ある程度の回線品質向上を達成しました。

昨年度は、学内にSSHでポート転送をしなくてはならない手間が増えたり、毎朝定期的に数分ネットワークが途切れる仕様にはなったものの、安定はしていました。速度も計測していないけどwebブラウジングにはまったく困らない程度に出ていました。というか、UTができました(後述)。

元々ネットワークの知識が無かった私ですが、一般ネットワーク社会?のネトゲ普及にむかついて、寮内からネトゲをやろうと試みたこともありますが、単純なポート転送だけで何とかならないものも多く、残念な結果に終わることが多かったです。

とりあえずネットマージャン(まうじゃん)はできました。ポート転送で。

さて、そんなおり出てきたのが例の「そふといーさ」なわけですよ(笑)。結論から言いますが、アンリアルトーナメント(略称UT)ができました。学外のSE鯖を利用しましたが。

今年度はかねてから寮内に回線サービスを行おうとしていた@georgeがついに参入したそうで、ひょっとしたら今の寮生は快適な高速ネットワーク生活を送っているのかもしれません。

ちなみに@georgeは前にも参入しようとして資料を配り、加入申し込み件数チェックを行っていました。私はwebとssh環境がある学内回線で十分だった上に、結構高かった(記憶があるけど料金忘却)ので申し込む気は無かったわけですが。

と、まぁ、こんなところでしょうか。とりあえず今@georgeのサイト見たら料金表が見つかりませんでした。素敵。
それと、学生寮にSpeedNetがひけるか業者呼んでチェックしたのは私です。

今は寮を出て、普通にADSL快適高速ネットワーク生活です。自鯖立てまくりです。最近ADSLブツブツ切れるけどな…orz

----
はてなにとらばれるかテスト。
http://d.hatena.ne.jp/softether/20040917trackback
http://d.hatena.ne.jp/showyou/20040918trackback

投稿者 togabito : 19:49 | コメント (0) | トラックバック

2004年09月16日

頂点バッファ orz

LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;
struct CV_2D
{
FLOAT x,y,z,rhw; // 位置座標
DWORD color; // 色
FLOAT tu,tv; // テクスチャ座標
};
#define D3DFVF_CV_2D (D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1)

CV_2D StaticCV[4];
/*
頂点座標設定省略
*/
if(
FAILED(pd3dDevice->CreateVertexBuffer(sizeof(CV_2D)*4,
D3DUSAGE_DYNAMIC,//0,//D3DCREATE_HARDWARE_VERTEXPROCESSING
D3DFVF_CV_2D, D3DPOOL_DEFAULT, &g_pVB, NULL))
)
{
return E_FAIL;
}
VOID* pVB;
if(FAILED(g_pVB->Lock(0, sizeof(StaticCV), (void**)&pVB, D3DLOCK_DISCARD)))
{
return E_FAIL;
}
memcpy(pVB, StaticCV, sizeof(StaticCV));
g_pVB->Unlock();


…あれ?Lockできない…?
summer2004のEmptyProjectに追加しただけなのにこけた。DX9SDKサンプルは動くけど、それをコピペしたらやっぱりLockでこける。どこが影響してるんだろう?

----
OnResetDeviceじゃなくてOnFrameRenderにおいたら動いた…orz

投稿者 togabito : 17:38 | コメント (0) | トラックバック

firefox@FreeBSD

ノートPCのFreeBSDにw3m以外のブラウザが入っていない咎人です。
バージョンアップ必死なfirefoxを突っ込んでみようと時々チャレンジしているわけですが。

1.0PRというバージョンが出ていたのでチャレンジしてみようと思った。しかし、ソースは0.9.3しか見つからなかった。仕方がないので0.9.3をがんばってみようということに。
ftpからbzipアーカイブを落として、展開。CVS一式っぽい。とりあえず
# gmake -f client.mk
libIDLのバージョンがどうのこうのいわれたので、とりあえずlibIDLをportsでmake install。っていうかバージョンアップ。
#gmake -f client.mk build
rdf/chrome/srcで死。
http://d.hatena.ne.jp/marony/20040805#p5
の人と同じっぽい。

結果:駄目でした

そんなわけで、packageでもportsでも生srcでもfirefoxがFreeBSDに入りません。ぼすけて。他のブラウザに乗り換える気は微塵もありません。firefoxより良いブラウザは無い。乗り換えるわけがあろうか、イヤ無い。そんな感じ。

投稿者 togabito : 17:29 | コメント (0) | トラックバック

2004年09月15日

チェレンコフなべ

地球は青かった。

bluenabe.jpg

投稿者 togabito : 15:14 | コメント (0) | トラックバック

2004年09月13日

合宿

サークルの合宿へ行ってきた。湘南海岸付近の施設でひたすら引きこもってプログラミングとかゲームとか。

先日購入した液晶ディスプレイを箱のまま持ち込んでみたら、部屋の隅にデスクトップPCを置き、その上に液晶を置くだけという激しくスマートなPCスペースができてびっくり。

色々やろうと思ったけど、目に見えた成果は結局ミニゲーム一本作っただけ。それでも、それなりに楽しめた。プロジェクタであれげなムービー垂れ流しとか。
しかし、やっぱり二泊三日は短いな。最終日は朝撤収だし。もう一日欲しい。

合宿前夜から最終日朝までにかけて、六時間も寝ていないのは内緒だっ。


うーん、ここに書くような目立ったネタがないのが悔しいなぁ。

投稿者 togabito : 14:50 | コメント (0) | トラックバック

2004年09月09日

CEDEC2004終了。

終わりました。昼飯に利用したエクセシオールカフェとかいうところは、ちょっとお値段高過ぎでした。

さて、最終日ですが。
・t-potの中の人のGPU利用周りのアレとかコレとか反射のライティングっていうかt-potのサイトの新しいネタっていうかそういうの。
・PIXの紹介
・シェーダワークショップ
以上。ワークショップは、チュートリアルを実際にやってみよう的な内容だった。初心者向けなんかはHLSLの基礎からやってくれるかなとか思ったんだけど、webにある課題+αだった。やっぱあれが基礎になるのか。上級でHDRの例をやれたのはちょっと良かったかな。

CEDEC2004、私はnvidiaやらM$やらにばっか行っていたわけですが、色々な講演が有って面白いですね。ただ、学生でも三日出ると20000かかるのは必死ですが。


で、帰りにヨドバシで液晶17インチ買っちゃった。三菱の。値下げ競争に巻き込まれて妙に値段が落ちてたのをゲット。このまま明日のサークルの合宿に持っていこう(ぉ
ちなみに59800円で買って、ポイント15%ついたので50000円ちょいで買えた感じ。せっかくなのでやっすいアイロンを買ったから、皺の無いシャツが着られるようになるかも知れません(ぁ

さて、明日に備えて寝よう。今週は生活のリズムがまともすぎだ。

投稿者 togabito : 01:40 | コメント (0) | トラックバック

2004年09月08日

CEDEC2004 二日目。

前日の開発の鉄人(nvidia)に続いて、二日目はひたすらMELTDOWN。MicroSoftの中の人の色々なお話です。

Windowsゲーム開発といいながらXPSP2の話ばっかりだったり、通訳が追いつく前にアンケート?を打ち切っていたり、なにかとアレな部分も目立ちましたが、また別な意味でアレな話題もちらほらあって、なかなかに参考になりました。

最終日はシェーダワークショップが一番楽しみかな?過剰な期待をすると裏切られそうなので気をつけよう。あと、昼飯どうしよう…一日目は学食、二日目はニューヨーカーズカフェだったんだよなぁ…。

投稿者 togabito : 08:28 | コメント (0) | トラックバック

2004年09月07日

頂点色を間違えた。グラタンの。

でふゅーず色かもしれない。

とりあえずですね、グラタンを作りました。ホワイトソースのマカロニグラタン。100均で素材を買ってきた。
20040907g1.jpg

なんか頂点色を間違えたようです。青いよ。

賢い諸兄はお気づきでしょう。そう、米帝が赤い社会主義に対抗すべく、英知を結集して作り上げた本土決戦用最終殲滅兵器、青いコーラです。ペプシコーラだけど。本土決戦用なのに日本にばら撒かれているのは仕様。

それにしても、結構まともに青いです。マカロニがきもい。
20040907g2.jpg

とりあえず食べてみる。

…ちょっと甘いかな。

塩コショウを若干多めにしたせいか、特にやばい味はしません。

私はグラタンを白米に乗せて喰う派なので、やってみることにしました。

20040907g3.jpg

…なんか、すっごいいけないことをしている気分。


結果:
見た目的には充分面白かった。味はやばくなかったので普通に完食した。

まだ800mlくらい(1.5本以上)ある。何に使おうかな。

投稿者 togabito : 23:15 | コメント (0) | トラックバック

2004年09月06日

CEDEC2004、一日目完了。

せでってきました。場所は工学院大学。webで会場アクセス見て、まぁなんとかなるだろうと行ってみたら、思いっきり知っている場所でした。入ったのは初めてだったけど。

そんなわけでCEDEC2004。まる一日nvidiaセッション。
・やっぱデモって綺麗だよね。綺麗過ぎ。
・同時通訳公演ってやっぱりわかりにくいね。
・生協食堂はそんな差が無かったかな。微妙に味は良い気がするけど、こっちの食堂全然行かないのでわかんね。
・セッション開始時刻を勘違いして、遅刻しそうになった。
・fp32テクスチャの質問して中の人を困らせたのは私です。
・若い人から結構年いってそうな人までいろいろいた。

よくよく考えてみると、GF6シリーズが出たときって、まだDirectX 9.0cも、Summer2004も出ていなかったわけで、32BitFloatのサポートとかまだだったっけ?要確認かな。

今日は一日nvidiaの開発の鉄人でしたが、明日はMicroSoftのMELTDOWNです。がんばろう。がんばるのか?
配布資料もまた後日改めて読み直そう。

投稿者 togabito : 20:08 | コメント (0) | トラックバック

じゃんけんらーめん

みそたーろーめん10円でした。

何気にたーろーの上にちゃーしゅーが生まれていましたが、微妙そうでした。

投稿者 togabito : 20:07 | コメント (0) | トラックバック

2004年09月05日

そういえば忘れていましたよ

ラジアータストーリーズ キター!!!!!!

キターなAAでも一面に張り付くしたいけど、美しくないので却下。


#2005年春発売予定ですよ。2006年になる前に発売するでしょうか?

投稿者 togabito : 04:53 | コメント (0) | トラックバック

2004年09月03日

続・32BitFloatアルファブレンド

先日のアルファブレンドテストのソースを綺麗にしてみた。

・シェーダバージョン3が必要なのにバージョンチェックをしていない
・デバイス再生成部分を書いていない

という恐ろしいソースコードですが、コア部分はちゃんと書いたのでGeForce6シリーズを持っている奇特な方と、自分でソースコードを書き換えられる方はどうぞ。

Download file

アーカイブの中身は.NET2003のプロジェクト一式。
ちなみに、Summer2004のEmptyProjectを元に、追記部分には日本語コメントが入っているので、割とわかりやすいと思いますよ?

#誰が見るんだろうな

投稿者 togabito : 14:30 | コメント (0) | トラックバック

2004年09月02日

お金が貯まらない理由。

手持ちの金がなくなったので、銀行へ行ってきました。んで、思ったこと:

…カネ、たまんねんーなぁ…

とりあえず液晶ディスプレイが欲しいなぁ、せっかくだから19インチとか萌えるよね、八万くらい出すと買えるし。

とか思っていたんですが、今それだけの支出をすると、一ヶ月分の生活費が足りなさそうです。っていうか、何故カネが無いのか。ハガレンの引き落としはまだだし、ここ一ヶ月秋葉で散在してないし。なんだだろう…と考えながら帰宅したわけですよ。

すると、一通のメール便が。
20040902_cedec2004.jpg
あぁ、そうか。こいつに20000ほどつぎ込んでいたんだった…(ついでにTGSでのフォーラムに+5000)。

一ヶ月のバイト代の四分の一以上かかっているわけで、金が貯まらないのも当然でした。笑えない。


ところで、どう考えても19インチってでかすぎるな。応答速度16msをきろうとすると八万じゃ買えねーよ。17で探しなおすか。むしろその前に机が欲しいけど。PCラック使いにくすぎ。

投稿者 togabito : 18:38 | コメント (0) | トラックバック

32BitFloatでアルファブレンドはできるか

ちょっとDirectXの技術的なお話。

参考資料は二つ。

一つはt-pot半透明描画の話と、ITmediaのDX9のテクスチャフォーマットの話
前者はDirctX8でアルファブレンドをするための基本で、後者はテクスチャフォーマットによってブレンディングとかできたりできなかったりするよっていう資料。

さて、現在PC用のVGAとして最強と名高いGeForce6シリーズがあります。このVGAの地味な特徴の一つとして、D3DFMT_A32B32G32R32F、つまりARGB各要素が32BitFloatの精度を持つという激しいテクスチャへの対応が挙げられます。

ちなみに調査不足のため、いつの時点のVGAからこのフォーマットへの対応が始まったのかわかっていません。すいません。

VGAで32Bit精度というと、RADEONとGeForceFXの例の対決(RADEONは24Bitに抑えたためにH/W量が少なくコストパフォーマンスが高いという話)も有名ですが、ここでは置いておきましょう。24Bitなんていう中途半端な精度は眼中に無いので。

ところで、GPUコンピューティングという、グラフィックハードウェアを用いて色々な演算をしようという研究が近年にわかに注目を浴びています。描画処理を数値演算処理として扱うことで、VGAがベクトル計算機になるわけですね。細かい説明は省きましょう。

で、本題。アルファブレンドっていうのは、画像の重ねあわせの処理です。既に書かれている色と任意の割合で重ねあわせる加算描画、乗算描画、減算描画etc。これらはGPUコンピューティングにおいては加算、乗算、減算etcに相当する、基本的な演算です。その一方、GPUコンピューティングは基本的に数値計算なので、演算精度が高いと喜びます。もしくは演算精度が低いと見捨てられます。そしてGPUコンピューティングではテクスチャへの描画がレジスタへのデータの格納に相当します。

以上から、DirectXを使った(OpenGLを使うパターンも多いので念のため)GPUコンピューティングのためには、D3DFMT_A32B32G32R32Fでのアルファブレンドが必要不可欠になります。

で、やってみました。D3DFMT_A32B32G32R32F形式でD3DUSAGE_RENDERTARGETなテクスチャを作り、SetRenderStateで加算描画指定をして描画っ。
→結果:無理でした
あるフォーマットのテクスチャがアルファブレンドをできるかどうかはCaps Viewerでチェックすればわかるはずですが、私はその項目を知りません。ただ言える事は、D3DFMT_A8B8G8R8にしたら同じ処理で予想通りの色がついたということだけです。

さて、困りました。D3DFMT_A32B32G32R32Fでアルファブレンドができません。t-potの中の人のシェーダ本には、アルファブレンド関係はいまだに固定機能シェーダだという記述があるため、シェーダを使っても解決できそうにありません。

ちょっと待ってください。要するに複数のテクスチャの色を任意に混ぜ合わせて描画できればいいんですよね。ということは、複数枚のテクスチャを利用するピクセルシェーダを利用し、色情報を単純計算してあげればいいのではないでしょうか。

と、いうわけで実践。D3DFMT_A32B32G32R32Fでテクスチャを作成。SetTextureで二枚のテクスチャをセット。パスを指定してDrawPrimitiveUpで単純に描画。
HLSLのポイントは、
float4 PS_ADD ( VS_OUTPUT In ) : COLOR
{
float4 Color;

Color = tex2D( Samp1, In.Tex ) + tex2D( Samp2, In.Tex );

return Color;
}
という単純な加算という簡単プログラム。
→結果:見事に加算されました。

そんなわけで、D3DFMT_A32B32G32R32Fなテクスチャをアルファブレンドしたければ、シェーダを使えってことみたいです。簡単ですしね。

ちなみにこのアルファブレンド、一つのeffect->Begin~effect->End内で、
SetRenderTarget(texA);
SetTexture(num, texA);
SetTexture(num, texB);
DrawPrimitiveUp(...);
みたいに、描画対象のテクスチャをソースとしたブレンドをしてもちゃんと描画されるようなので、かなり使えそうですよ。


間違いが含まれてても責任は取りませんが、指摘してくれると血涙を流して喜ぶのでお願いします…。

D3DFMT_A32B32G32R32FがD3DFMT_A32R32G32B32Fになっていたので修正(笑えない)

投稿者 togabito : 17:45 | コメント (0) | トラックバック