OpenGS ES 2.0のバグ

GLES2.0がエラーになっている原因が分かった。 これ、作成してたときは32bit Linuxで作成してたんだけど、今は64bit Linuxになっていてポインタ幅が変わってしまっていることでsegmentation faultしてた。

安直に、clang -m32でコンパイルするとGLESのライブラリは出来上がるんだけど、その後にSDL(Simple Directmedia Layer)を使っているものだから、今度はここで"-lSDL"できないって怒られる。

ターゲットは32bitだから"-m32"で押し通したいんだけど、SDLで表示できないとなるとデバッグしづらいなぁ。

次のように32bit版をインストールしようとしたけど、これもエラー。

% sudo apt-get install libsdl1.2-dev:i386

ん!

いや、まてよ。 たしか、昔もsegmentation faultしてたような気がするなぁ〜。

いやいや、64bitになったからではなくて、segmentation faultしてて、しかも、OpenGL ES 3.xが見え始めて止めたような気がするなぁ。

・・・

調べてわかった、キャスト変換がミスてっる。

修正したのは(int)を付けただけ…

あぁ、これで約10年間ほったからかしにしたバグが治った(^-^;

cocos2d-xがGLES2.0を使ってるって、書いてなかったら、約10年前のソースコードすら思い出してなかっただろうなぁ。

せっかくなので、ソースを綺麗に修正して、高位合成にでもかけてみよぉ〜。

write: 2016/01/08/ 02:35:58