program

VC2005だと色々ダメ

Proce55dl(http://d.hatena.ne.jp/tattyu/00000001)を簡単なフレームとしてなんかテストしようと思ったら色々引っかかったのでメモ Win32用のGLUTのインストール 相変わらず見つけにくくて軽くイライラする。 http://www.xmission.com/~nate/glut.html ここ…

嘘フレネル項

水面に対してフレネル項ってちゃんと計算するとやたら透明になってしまったりするのでその辺を考慮して適当に処理してみようみたいな。 計算もなるたけ減らしたいしね。

コンバイナ

3ステージ目を使うとおかしくなる。 ドライバがバグってるのか俺のソースがバグってるのか。 とにかく3つ目以降を使えるようにすると意図していない結果(毎回同じ)になる。 2stepしか実行できないならそれはそれで複数passに分割すればいいだけなんだけど…

レジスタコンバイナ

レジスタコンバイナをがんばって使えばpixelshadeを書ける。 glCombinerOutputNVの最後の引数muxSumというのが謎。 The computation of gcc6rgb and gcc4a involves a special "or" operation. This operation evaluates to the left-hand operand if the al…

レジスタコンバイナとかPixelShaderを使わない

register_combinerとかpixelshade使わない場合はテクスチャ同士のブレンド方法を指定する。 DirectXのテクスチャステージ間のブレンド方法を設定するのと同じ感じ。 // 1枚目(最初に処理される)はそのテクスチャの値をそのまま使う. glActiveTextureARB(GL…

glTexCoordPointerでマルチテクスチャ

セットするたびにActiveにしてglTexCoordPointerしないといけないのか? なんかくどい。 頂点のセットは一箇所でまとめてやりたいな。

OpenGLでマルチテクスチャー

相変わらず混沌としてやがるぜ。 DirectXの仕様をそのままOpenにしてほしいぜ。 OpenDirectXとか作ってほしいぜ。 やりながらメモ http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040212 glActiveTextureARB(GL_TEXTURE1_ARB); glBindTexture(GL_TEXTUR…

先人たち

自分が悩んでいるようなことは先人たちがとっくに通過した足跡であり、悩んでてもしょうがないよね男の子なら。みたいな。 もんしょの巣穴blog http://monsho.blog63.fc2.com/blog-entry-5.html http://monsho.blog63.fc2.com/blog-entry-6.html http://mons…

スコープとか

globalなlocal変数は分かりにくいのでstatic変数と呼ぶことにする。 Lua 関数に渡せるstatic変数はLuaでは内部で使われている変数が自動的に上位値で渡されているので上限とかがあったりする。 つまり決められた個数以上のstatic変数は渡せないというか使え…

スコープ解決編

function foo(a, f, s) : (table1) { }Luaでは暗黙の上位値渡し(っていうのかな)で渡されてたglobalスコープにあるlocal変数(ややこしい)ですが Squirrelだと自分で渡さなきゃいけないのか? というかlocalつけないと上位値渡ししてもない!とか言われる…

スコープ

table1 = { [0] = 1, [1] = 2, [2] = 3, [3] = 4, }; function foo(a, f, s) { print("Called foo(), a="+a+", f="+f+", s='"+s+"'\n"); local table2 = { [0] = 6, [1] = 66, [2] = 666, [3] = 6666, }; for ( local i = 0; i < 4; i++ ) { print("table1["…

Suirrelのリファレンスを読もう

minimam.c同等のものが動くようになったので、今度はLuaとの相違点とかを知るためにもリファレンスを読もうと言うことですよ。 http://www.squirrel-lang.org/doc/squirrel2.html#d0e442 ざっと眺めた感じだとLuaをC/C++よりに近づけた感じかな。 つうか文法…

Squirrelビルドメモ

普通にVCのプロジェクトファイルが付いてたので[既存のプロジェクト追加]で追加して、 ライブラリが作られるのでそれをリンクするようにしてetcのソースを動くようにしてみた。 Luaよりもあっさりコンパイルが通ったけど、dofileしたら動かなくて10分ぐらい…

bashの書き方とか

自分は典型的なDOSっこのbatch派なので、bashは環境変数にパスを設定するとかエイリアスつくるぐらいしか分からない。 http://furyo.on-air.ne.jp/linux/bash.html 典型的なDOSっこの割にはbatchのループ文とかif文とか使い方よく知らないwbashとかbatchフ…

継承とかその辺

今更書き古されてると思うんだけど、メモる。 __index リストがインデクスや、メンバ名で"参照"されたときに(関数呼び出しを含む)代わりに参照される変数、リスト __newindex リストのインデクスや、メンバ名に"新規代入"されたときに代わりに参照される変…

WindowsScriptingHost

利権を守ることに必死なOPTPiXはマクロ処理をコマンドラインから呼び出しても、 Enterキー等を押さなければいけなくてイライラする。 こんなん自動化しろや!というかmakeから呼べねーじゃないか! ということでKeyを押すだけのマクロのアプリを色々探してた…

GameMonkey

最近は、日本国内でもLuaがかなり流行ってきていると印象を受けるんだけど、 同じくらい「使うな!」指令が出ている話をちらほら聞くようになってきた。 Lua使ったらぶっ殺す http://d.hatena.ne.jp/n5v2/20060106 使っては見たものの処理オチが酷くて導入し…

テクニックとかメモ

値を複数受け取る時 local function foo() return 1,2 end local val1,val2 = foo()上記のように記述してもval2はローカル変数として扱われる。 Cの関数で置き換え var = { foo = function() 〜処理〜 end, } var.foo()Cでhogeを作ってluaに登録. var = { fo…

テンプレート

テンプレートなんてstlとかboost以外ほとんど使わないんだけど、stlは環境によっては色々問題が起きるので、具体的に(自分が)書く必要が迫ったのですが、意外とテンプレートの書き方についてそれなりに深く扱ってるサイトが無いっていうかよく見たらC#の説…

ローカル変数の罠2

昨日の問題はlua_getstackをあらかじめ行っておくことで解決できるかと思ったんだけど、 lua_getstackで取ってくるスタックの位置が相対的な状態で結局参照できなかった。 ファイル単位でのグローバルスコープにあるローカル変数は、 参照がない時はほとんど…

ローカル変数の罠

--test.lua local a = 1 local b = 2 local c = 3 local d = { 1, 2, 3, 4, 5, } lua_test = { OnUpdate = function(this) print("call lua_test::OnUpdate( a=" .. a .. ",b=" .. b .. ",c=" .. c .. " )\n") end, OnFinalize = function(this) a = nil b =…

luaのlocal functionをCから呼び出す

って書くと普通に関数名を積んでgettableしてからpcallなりすればいいじゃんて思われそうですが、local関数だとC側からlocalのスコープを特定できないので呼び出せないわけですよ。 他のluaファイルにも同じ関数名とかあるだろうし。 ということでpcallでき…

ネームスペース風の改造

このエントリ(http://d.hatena.ne.jp/tattyu/20050927#p3)で書いたやり方なんですけど、 FarCryのLuaを眺めていたらよりネームスペースのように書ける事に気がついた。 --lua_test.lua lua_test = { abc = 10, OnUpdate = function(this) print("call lua_te…

データドリブン

今まではシステムをちまちま作ってきた! けど、アプリはあれだ! 力技でごりごり書いてく事にしました! もちろんデータ(lua)で。 今時コードドリブンはないよね。 かといってシーケンスまで全部デザイナーに振るのはありえない。 ソースにデータが書いてあ…

ジャンプ命令

http://lua-users.org/lists/lua-l/2004-09/msg00244.html ジャンプ命令あるんだー。 そうそう、Luaって一旦読み込んで実行したらシンボルとかファンクションとかずっとLuaの管理領域メモリに残るわけじゃないですか。 そういうのってどうやって消せばいいん…

へっぽこチャンクネームスペース風メソッドコール

C側の実装 void Call(lua_State *L, const char *chunk, const char *func ) { lua_pushstring( L, chunk ); lua_gettable( L, LUA_GLOBALSINDEX ); lua_pushstring( L, func ); lua_gettable( L, -2 ); const int result = lua_pcall( L, 0, 0, 0 ); if ( r…

Luaでnamespace風

Luaではnamespaceは使えないというのが定石らしいがなんとなく呼べそうな気もする。 Winで実験。 fabsfがねーとかいってリンクで怒られるのが意味不明。 math.hだけじゃ駄目なんだっけかなぁ。 fabsfからfを取ったらリンクできた。謎。 つうかdoubleで処理し…

in.out.side: the shell

http://www.pouet.net/prod.php?which=17357 Luaのチャンク毎のlocalな関数をC側から呼び出す方法をググッてたら見つけたデモ。 Luaとはまったく関係ないけど。

LuaJIT

怖くて眠れないのでアンテナめぐり http://luajit.luaforge.net/ Luaって結構思ったより高速に動作してるんだけど、JITの効果はどの程度あるのか気になるところ。 明日というか今日会社で試してみよう。

クラス関数

http://d.hatena.ne.jp/tattyu/20040922 昔こんなの書いたと思うんですけど、PS2だとクラス関数のポインタがconstになってしまうみたいで代入出来ない。 代入できないと思っていたら、単純にメンバ関数のポインタのサイズが12バイト!になっていて、4バイト…