2004-11-01から1ヶ月間の記事一覧

ああ、やっぱりお前か...

はじめに言っておきます。仕事で使いましたが、ハイパーな量のデータ(数万ファイル)に対して、自前で作ったツールで処理をする場合(C/C++コンパイラーの呼び出しなどのSConsの正常な利用法ではなく、自前のツールをSConsにプラグインを書く感じで依存関係を…

なんだかすごい回り道

う〜ん、BoostBookを勉強するハメに...。そして、いつの間にか Boost.Build V2 を調べるハメに。(約1時間後)く...やっぱ全部を Boost.Build V2 で書ききるには、そして、Boost 狂信者として全てを Boost で固めるには、俺の力では足りなかったか...。結局、d…

アルファ版ぐらいの木ができた

まとめてみると... イテレーターに関して当初予定していた機能はほぼ実装できた 全てのイテレーターで親子兄弟に自由に移動可能 今のところ全てのイテレーターがポインタしかメンバがない 直接の子のみを走査する sibling_iterator と pre-order, post-order…

死んだ牛肉はBSE?

仕事でDirect3D触っていたら、解放済みのインターフェースに0xDEADBEEFって入っていた。俺は気づかなかったんだけど、アメリカ人とペアプロしていて、そいつが気づいて笑ってた。確かに、16進数で書けるね。みんなもゴミ値に使え 0xDEADBEEF!32bit限定だ…

木がいい感じ

行けるかも!?

木構造のSTLライクなデザインの難しさ

昔からのテーマなのですが、木構造 ( std::map のように木を中に持っていて外からは配列的に扱えるものではなく、子や兄弟など階層をなすもの ) の STL ライクなデザインがなかなか難しい。http://www.damtp.cam.ac.uk/user/kp229/tree/今のところ上の tree.…

gl継続中

なんか、ライティングモデルが、よくわからない。glColor(...)で指定した色を無視するにはどうするのだろう...。とりあえず、時間なので、ご飯食べて出かけます。

試作:GLSL互換ベクトルクラス

シェーダーのベクトルはswizzle機能が最高です。これをC++で実現するのは長年の夢でした。さらに、SIMDを実装に用いれれば...最高です! 一応、こんなことができるところまで行きました。 using namespace glsl_math; vec4 a( 1, 2, 3, 4 ), b( 5, 6, 7, 8 )…

STLとの共存のための妥協案

D3DXMATRIXA16でも、同様の手法で SIMD を使っているようです。 // まず、アライン指定無しの構造体を宣言 struct none_aligned_vec4 { union { float array[ 4 ]; struct { float x, y, z, w; }; struct { float r, g, b, a; }; }; none_aligned_vec4( floa…

STLと仲が悪くなるのはなぜ?

__m128 と vector なら... __m128 a = { 0.1f, 0.2f, 0.3f, 0.4f }; std::vector v; v.push_back( a ); コンパイル通ります。 でも、継承したベクトルクラスなんかを作ると... class vec4 : public __m128 { ... }; std::vector v; v.push_back( vec4( 0.1f,…

足し算

#include "stdafx.h" #include #include int _tmain(int argc, _TCHAR* argv[]) { // _mm_add_ps __m128 a = { 0.1f, 0.2f, 0.3f, 0.4f }, b = { 0.5f, 0.6f, 0.7f, 0.8f }; __m128 c = _mm_add_ps( a, b ); for ( int i = 0; i

へぇ〜

OpenSG と Open Scene Graph は別物です。現在調査中。

プロジェクション行列を作る際のハメ

プロジェクション行列は一定なので、起動時に一回作るだけで終わろうと思ったのですが、うまく行きませんでした。原因は、 std::auto_ptr window( new Fl_Gl_Window( 640, 480 ) ); window->show(argc,argv); glMatrixMode( GL_PROJECTION ); glLoadIdentity…

適当に60フレーム固定

Windows専用。 DWORD lastTime = timeGetTime(); while ( 1 ) { ... // 何かの処理 window->redraw(); Fl::check(); DWORD curTime = timeGetTime(); const DWORD frameTime = 1000 / 60; // 1フレームの長さ const DWORD strictWaitTime = 2; // 頻繁に Sl…

まだまだfltk

fltk+OpenGLではなく、SDL+OpenGLを薦められる。ちょっと見てみたが、なんだかめんどくさくなってきたので、しばらくはSDLに手を出すのは、やめておきます。 でも、SDL結構よさげです。

キーのポーリング

左キーを検出する場合は、こんな感じ。 if ( Fl::get_key( FL_Left ) ) { printf( "l" ); }

GLウインドウを作る

こんな感じ。 Fl_Gl_Window *window = new Fl_Gl_Window( 640, 480 );

シューティングゲームアルゴリズムマニアックスを読み始める

お家でのプログラムを少しずつ再開し始める...。

クォリティーとトータルリードタイムを意識したコスト削減

当たり前のことを、また考えてしまいました。 韓国ネットゲーとか、PC基盤のアーケードゲームとか、そんなに悪くないプラットフォームで平気で2Dのゲームが出回ってますよね。最近、苦しくなって、「クォリティーを追及するのはもう無理!次世代はゲーム性重…

あれ?NEC負けてるジャン...

新しいチップ使っても勝てないジャン!!!なんか、Blue Gene って、ちょっとの間に倍近く速くなってる!!!あ〜、ベクトルコンピューターの時代は終わりですか?NECの時代は終わりですか? 誰か、気休めで良いんで、日本勢再勝利っぽい話をしてください(TT…

セル生産方式勉強開始

一人屋台だけがセル生産方式じゃないんですね!知ってるつもり!?でした。アジャイル系の開発プロセスと哲学的に近さを感じます。 ただ、セル生産って見込み生産から、受託生産体制を目指していくというのが大きな目標としてあるのですが、ゲームソフト屋っ…