OpenGL

OpenGL ES2.0相当のAPIでユーティリティを開発中

OpenGL ES2.0 プログラミングガイドを参考にして、新しいAPIだけを使ってモデルビューワを作成中。 https://github.com/ousttrue/glbase zipファイルの中のモデルを表示 GLSL vbo interleavedな頂点配列 自前のpersepective行列 attribute変数の取り回し uni…

pyOpenGL向けの便利ライブラリ作ってみた

OpenGLで何がしか書くときにはGUIとOpenGLを連結する部分でいわゆるボイラープレートコードが大量発生するのでそれをライブラリ化してみた。 OpenGLのControllerクラスを規約に沿って作ることで各種GUI間で使い回しができる設計。 http://pypi.python.org/py…

OpenGL ES2.0のプロジェクションなど

http://developer.android.com/resources/tutorials/opengl/opengl-es20.html#projection-and-views libgdx的にはこんな感じvs attribute vec4 vPosition; uniform mat4 uMVPMatrix; void main() { gl_Position = uMVPMatrix * vPosition; }java Matrix4 vpM…

OpenGL ES2.0を使う

android-2.1のXperiaでも、libgdxがJNIのライブラリを提供するのでOpenGL 2.0が使える。 ES1.0のサンプル http://code.google.com/p/libgdx/wiki/MyFirstTriangle ES2.0のサンプル 上記のほぼ同じ内容でshaderを使っているものhttp://www.java2s.com/Open-So…

pmx版のpmcaを作った

だいたいジオングくらいの完成度になったので公開してみる。http://matosus304.blog106.fc2.com/blog-category-7.html で配布されているPMCA的なものをpmxベースで作った。今回はなんとなくBitbacketにリポジトリを作ったのでこちらで配布しております。 htt…

OpenGL.TKのメモ

部品なのでこれだけでは動かないが、tkinterとの接続方法について。 OpenGL.Tk.RawOpenglを使うのがミソで、OpenGL.Tk.Openglはマウス操作等が最初から組み込まれた便利Widgetなのだった。 RawOpenglのコード量は少ないので、直接tkinter.Widgetを継承しよう…

Windows上のPython3でOpenGL.TKを使う

続き。 C:\PyOpenGL-Demo-3.0.1b1\PyOpenGL-Demo\tom>Line.py Traceback (most recent call last): File "C:\PyOpenGL-Demo-3.0.1b1\PyOpenGL-Demo\tom\Line.py", line 9, in <module> __version__ = string.split('$Revision: 1.1.1.1 $')[1] AttributeError: 'modu</module>…

Windows上のPython3でpyOpenGLを使う

PyOpenGL-3.0.2a2.zip を > C:\Python32\python setup.py install したら特に修正しなくても動いた2012/01/20追記 Windows7 64bit python3.2 32bit でpyOpenGLを使う段取りのメモ。 まず、普通にpython3.2をインストール。 http://pyopengl.sourceforge.net/…

swtのlwjglサンプルをscala化して整理

http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java?view=markup&content-type=text%2Fvnd.viewcvs-markup&revision=HEAD をscala化してswtとOpenGLを分離してみた import org.eclipse.swt.…

GlGtkへの道

フル機能のGUIにOpenGLを埋めたいということで、lablGtk上でOpenGLを使いたい。 lablGtkのサイトにThe GLArea widget is also supported in combination with LablGLと書いてあるのでさくっといけるのかと思いきや、Windowsではそんなことはない。 GlGtkが入…

LablGLを使う

glut入手 http://www.xmission.com/~nate/glut.html glut-3.7.6-bin.zipをダウンロード glut32.dllをC:/i686-pic-mingw32/binどっかパスの通ったところにコピー。 LablGL入手 http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html lablgl1.04を入手する…

jpctことはじめ

jpctをはじめてみた。 ダウンロードしたアーカイブの中にあるHelloWorldをmain文だけに改造して動作を確認してみた。 若干Irrlicht風味のAPIで、シーンを作って自前ループを回すというシンプルな構成だった。 もう少し掘り進む。 import com.threed.jpct.*; …

LWJGLを使ったゲームエンジン

LWJGLのリンクを辿っていったらいろいろあった。jME http://www.jmonkeyengine.com/home/ OGREみたいな重厚長大なライブラリと思われる。 現在バージョン3を開発中でpreAlpha。 bulletな物理も入っているそうな。 jPCT http://www.jpct.net/index.php C++で…

swing+JOGL(java)とmqoloader(scala)を合体

とりあえずマテリアル抜きで。 地味にデバッグに苦しんだが、まぁ順調の部類か。 そろそろvimのquickfixとかを導入したい。 あと、syntaxでうまくインデントできないよ。 rubyもそうなんだが、文法が複雑な言語はvimの自動インデントがまともに動かぬので困…

マウス操作まで作る

scalaで書く前にとりあえずjavaで、他の言語で作るときと同様のマウス操作まで作った。 ひとつ前で作ったパーサと合体して頂点配列を描画するようにしたらMQOビューワはできあがり予定。 JOGLAPP.java import javax.swing.JFrame; import javax.swing.JFileC…

vertexarrayメモ

http://www.java-tips.org/other-api-tips/jogl/vertex-arrays-in-jogl.html

JOGL2.0

でNeHeのlesson05を通そうとしているのだが意外に手強い。 なんとかclasspathの通し方あたりはクリアしたと思うのだが、 JOGL2.0がJOGL1系と比べてかなり変わっている。まず、パッケージが配置換えになっている。 かつて import net.java.games.jogl.*; だっ…

プログラムで動画を書き出す方法を調べ中

OpenGLの動画書き出しのサンプルコード http://kiwame-soul.cocolog-nifty.com/blog/2008/08/opengl_fd84.html圧縮されたストリームとキャプチャ http://eternalwindows.jp/winmm/avi/avi00.html 上記の組み合わせでOpenGLの再生結果を圧縮されたaviファイル…

collada調べ始めた

なんかしらウェイト付のボーンメッシュを取り回せるようにしたいので調べ始めた。 colladadomがやたら巨大で大げさすぎるような気がするのだが。 boostとか入っているし。 boost filesystemはリンクしないといけないのに名前が一致しないしどうしたものか。 …

やっとハードウェアスキニングに成功

どうにも気になるのでいろいろ試していたがやっとできた。 pythonでpmdのスキニングをやっても40FPSくらい出るようになった。元が7FPSくらいだったのでだいぶよい。モーフィングとIK解決はやっていないが。とりあえず、使ったシェーダー。PMD用に2ボーンきめ…

GeForceのOpenGL2.0のドライバにはSSEが必要らしい

http://forums.nvidia.com/lofiversion/index.php?t22336.htmlthunderbirdにはsseが無いのでGeForce6200のOpenGLドライバが動かないってことかー。 どおりでDirectXの方だけ動くわけだ。socketAのAthlonXPを調達するか、壊れたSocket939のマザボを調達するか…

チュートリアルを書きはじめた

はじめはC++でやろうかと思ったのだが、コード量が多いとつらいのでpython+OpenGLにしておいた。部分的にC++モジュール化して高速化するのはあるかもしれない。 チュートリアルというよりはサンプルコードの羅列になりそうだが、 とりあえず最初の頂点配列の…

IKがようやく動いた

苦労したよw。 モーション関連でいろいろバグがありそうだったので、スキニングの処理に沿ってデータの読み込みから最終の行列まで途中の値をユニットテストで辻褄を合わせていく作業を敢行した。 まず、リファレンス実装として http://r13n.spaces.live.co…

スキニング実験

xファイルとpmd、vmdを読み込んでみた。 複数のキャラに別の動作をさせる場合は個々にタイムラインが必要なことがわかった。ひとつのタイムラインに焼き付けていくのでもいいが考えておこう。 一応、x形式での行列アニメーションの実装は完了した。 tinyと某…

pyOpenGLをpy2exeする

すんなりとはいかなかった。インストール http://www.xucker.jpn.org/pc/pythonexec.htmlまず、こちらを参考にvcランタイムの問題をクリアする。 http://d.hatena.ne.jp/AMENOHI/20090202/1233575464exeを実行するとpyOpenGLのエラーがでる。 $ ./dist/gui.e…

tinyさん読み込み

去年から作ろうしていたモーション再生プログラムがやっと形になりそうだ。mmdのモーションを読み込んで遊びたい ↓ blenderのimporterを発見して改造(python) ↓ なんとなくデータ構造がわかったのでスタンドアロンの再生プログラムを作ろうとする(python) ↓ …

GLSLスキニング実験

行列パレットの大きさが足りなくて、100を越えるボーンをもつpmdモデルを vertex shaderでskinningするのは難しいようだ。 無理なパターン attribute vec4 my_Vertex; attribute vec4 my_Uv; //attribute mat4 my_BoneMatrix[256]; // 間違い // 確保でき…

GLSLスキニング

glslでスキニングするサンプル http://www.codesampler.com/oglsrc/oglsrc_11.htm#ogl_skinning

やっとスキニングに成功

変換行列の作り方が間違っていたところをようやく修正。 結局、 http://r13n.spaces.live.com/ のツールからポーズ表示だけのミニマムな部分を抽出してオフセット行列や変換行列をダンプ。 で、自作のコードと食い違うところを追跡することで収拾した。 長い…

行列が列優先な理由

http://hexadrive.sblo.jp/archives/20090406-1.html 最適化のためらしい。 どっちが列優先で行優先なのかどうも混乱するな・・・さらに http://hexadrive.sblo.jp/archives/20080404-1.html配列で行列を表現するときの方向が列優先か行優先かということで、…