program

0を集合から除外する

nが0の時は0、0以外のときは1にしたい時は以下のようにすべし 1-0^nmath.minでクランプするのでもいいけど長すぎる。 計算は遅いだろうけどgolfだからモウマンタイ。

WaveParticle

http://www.cemyuksel.com/research/waveparticles/ http://www.cemyuksel.com/research/waveparticles/waveparticles_sketch_slides.pdf チョッパー(とがった)波が表現できるのはすげぇ。 かなりのリアリティ。 結構動作も軽そうだし実装してみますか。 …

2項演算子を使った3項演算子風実装

exp and val1 or val2expがtrueならval1、falseならval2を返す。 trueとfalseを返すような使い方をすると難しいけど、(val1がfalseだとval2が選択されてしまう)そういう使い方しなければ便利。 expがtrue val1(nil,false以外)が選択され、orは左の項がfalse…

glPushMatrix

pushしてpopすると元と違う値が入ってておかしくなるバグに出会う。 push/popの回数は辻褄があっているのでますます混乱。 http://d.hatena.ne.jp/mts/20040913#p1 正解はPROJECTIONにしっぱなしのままpopしていた。でした。 PROJECTIONにもスタックあるって…

brainf*ck

http://www.kmonos.net/alang/etc/brainfuck.php Brainfuckみたいな言語は作るの簡単そうだし、 単純ゆえにいろいろなものに応用できそうな気がする。気がするだけだけど。 代入とか2項演算ぐらいはサポートしてもいいかも。

BurrowsWheelerTransformの逆変換

逆変換する場合、ソートされてるから逆もソートされてるんだよっていう部分は 一旦は納得したもののそれでもなんとなくしか理解できてなかったんだけど、 ようやっと意味がわかった。のでメモ。 "数字 文字列" ってフォーマットだけど文字列は単に並び替えて…

BurrowsWheelerTransform

http://golf.shinh.org/p.rb?BWT アナゴル鯖が復活したのでいろいろとLuaでチャレンジしてるんですが、新しく登録されたBWTとかいうやつの変換法則がわからなかったので調べた。 サンプルアウトプットを見る限りだとなんか圧縮しやすそうな変換に見えるけど …

Cでswitch-caseでhalt(yield)

昔どこかで__LINE__とswitchでhaltを実装してC言語内でスクリプト風に記述するというの読んだ事があるんだけど、いっくら探しても見つからないので思い出しながら書いてみた。 #define coroutine static unsigned int s_pc = 0;switch(s_pc) #define co_init…

スクリーンキャプチャ

glReadPixelsでバックバッファを読み取ってくると毎回必ず同じ場所(出てくる間隔は一定ではない)にゴミが1byte挿入されてしまいめちゃくちゃになってしまって困っています。 glFlush() glReadBuffer( GL_BACK ); glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );…

2項演算子(論理演算子)

"or" "and"は2項演算子として機能する or...左辺がnil/falseの場合右辺の値を返す。それ以外は左辺の値を返す and...左辺がnil/falseの場合nil/falseを返す。それ以外は右辺の値を返す きもすぎるが、orは結構使える。 関数のど頭で引数がnilだったら仮の値…

リスト定義時のtips

local var = { [3] = "A", [4] = "BB", [5] = "CCC", [8] = "DDDD", } for i=1,8 do print( var[i] ) end ======================================= (nil) (nil) A BB CCC (nil) (nil) DDDD リスト定義時にリスト内の任意の場所に値をセットできると。そんだ…

SDL_Joystick

ビューポートで糞ハマってイライラしてその後悲しくなったのでジョイスティックに対応してみたりした。 http://www.tacoworks.jp/software/SDLdoc-jp/html/joystick.html 日本語のSDLオンラインリファレンスのトップぺージのリンクからだとジョイスティック…

http://www.watch.impress.co.jp/game/docs/20070307/cry2.htm 雲の表現がアイデア賞。素晴らしいと思います。 自然が多い屋外って表現がすごくむづかしいよね。 うまく作ってあってもどうしてもCGっぽくなっちゃうし。 まぁそんなことよりも最近のGPUだとこ…

便利になった部分

剰余算命令の追加 '%'で剰余が求められるようになった。便利ですね。 テーブルサイズの取得演算子 '#'をテーブル名の前につけるとサイズが取ってこれるようになりました。便利ですね。 table.getn()とかやんなくて済むのでいいですが、演算子だとパッと見わ…

導入してみた

Lua5.1を導入してみてつまづいたところ一覧 lua_dofileが無い luaL_dofileで解決 luaopen_loadlibが無い luaopen_base以外はluaL_openlibs テーブルをなめるfor文が通らなくなった local tbl = {1,2,43,56,7,8,} for i in tbl do io.write( "tbl[" .. i .. "…

ロストプラネット

http://www.watch.impress.co.jp/game/docs/20070131/3dlp.htm?ref=rss 石田さんってOPEN PROGRAMINGの中の人らしい。 カプコンは良い買い物をしましたね。 ここまで設計できる人中々居ないですよ。 で、相変わらずゼンジーは適当な事を言ってる訳ですが、 …

Win32

わけあって超久々にWin32のコードを書いてたりするんだけど、いやぁ難しいですね。 なんていうかプログラミング能力というよりも辞書引く能力だったり、ちまちま挙動を探ったりする要するに根気の要る文系でも出来る簡単で辛いお仕事です。時給700円くらい。…

STL vector

C++からCにポーティング中に気が付いたのだけれども、 今まで、コンストラクタとsize()とcapacity()とresize()とreserve()の挙動を勘違いしてたっぽい。 http://www.wakhok.ac.jp/~sumi/stl/header/vector.html STLでググルと最初に出てくるのが上のURLなん…

似たような

似たような箇所はまとめて関数とかにして欲しいなぁ。ステート変更する奴とか。 セットアップ処理なんかはコールバックにしたらすっきりするじゃん! コピー&ペーストは1日3回まで。

ループしたコースティクスの作成

時間軸と境界でループしたコースティクスを作る必要があったので作ってみた。 波 まず波の実装。 波動方程式を解くタイプの波だと境界でループさせるのは簡単なのでとりあえず実装。 時間軸方向にループさせるとなるとちょっとオラには出来そうに無いので、 …

行列

OpenGLのここがいや ・列ベクトルベースなので要素を直接操作するときに混乱する ・射影行列がDirectXと違う ・資料が少ない ・GLESで使えないAPIが結構あるがどれが使えるのかよく分からない。 ・標準のmathクラスぐらいは用意して欲しかった。 ・右手系は…

OptimusMiniThree

今作ってるゲームに無理やり組み込んでみたんだけど、入力も5fpsっぽくてぶっちゃけ反応悪い。 USBで繋ぐけど中身はシリアルなんだって。 全部USBにして欲しかった。 SDKはかなりシンプルなので組み込むのはすごく簡単。 OptimusMiniHelperクラスを使うと楽…

モデルフォーマット

コンテントパイプラインが使えないのでモデルは自分で定義しないといけない。 ので実装中。.xを簡単にコンバートする方法はD3DXLoadMeshFromXを使って読み込んでから自分の好きなフォーマットに変換してくのがいいと思う。テンプレートを自前でパースするの…

.X File

んん?もしかして.Xファイルのローダーとかが無い予感? SpaceWarの使ってるCommonを使うようにしたのはいいんだけど、.swmですか。 SpaceWarMeshってことですか。 自前でコンバータ書けってことね。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID…

.XNB

http://blogs.msdn.com/xna/archive/2006/08/29/730168.aspxStreamにしたらWinampが立ち上がったでDLがお勧め。 じっくり100万回ぐらい見れば理解できそう。 ムービーみたいにビルドアクションにXNA/Meshみたいなのが指定できないんですけど。。 日本語版だ…

ContentManager

C#ではincludeは廃止。その代わりにusingでネームスペースを宣言すれば省略できる。んだよね? サービスプロバイダは class ServiceProvider : IServiceProvider { }ってnamespaceの中に書いて、IServiceProviderにマウスを合わせて右クリック→インターフェ…

asset file

assetってあんまり聞きなれないですよね。resource,data,mediaがメジャーな感じ? http://blogs.msdn.com/shawnhar/archive/2006/08/25/724737.aspx でアセットファイルを追加してってあるけどどうやって追加するのか分からなくて泣きそうです。 ソリューシ…

XNA Game Studio Express

落としたけどC#でつまづく。 なんかメンバ変数?が変なページに張り付いてるんですけど、そういうものなの? 手で書いたりしちゃいけないのかな?

MSVCR80.dll解決編

どうにもDebugで実行するとmsvcr80.dllを要求されてしまう。 いくらなんでもデバッグできないのはありえんでしょ。 グーグル先生に質問しまくったら分かった。 http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200509/05090039.txt YuO [E-Mail] 2005…

VC8最悪

プロジェクトを跨いだヘッダがテンプレートを使おうとすると変な意味不明なエラー 「テンプレートは”C”のリンケージでは使えません」 見たいなのが出る テンプレートのヘッダを外でincludeしたら大丈夫だった。 どっちもC++だし、extern "C"とかしてないのに…