2011-01-01から1年間の記事一覧

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

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

ctypesでWindowのクラス化をやってみる

http://hp.vector.co.jp/authors/VA025927/prog/winclass.html と http://code.activestate.com/recipes/208699-calling-windows-api-using-ctypes-and-win32con/ を合体してみた。c++でwin32apiを使っているとなんとなくやりたくなるウィンドウをクラス化す…

momo9のusbドライバ

SDKのusbドライバをインストールすると、 C:\android-sdk\extras\google\usb_driver にドライバが入る。 これに中華PadたるMOMO9を登録する。 #C:\android-sdk\extras\google\usb_driver\android_winusb.infに追記 #とりあえず[Google.NTx86]と[Google.NTamd…

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…

android-maven-pluginでnativeライブラリが含まれると毎回cleanが必要な件

http://code.google.com/p/maven-android-plugin/issues/detail?id=200メモ

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…

libgdx続き(androidサブモジュール)

サブモジュール作成 $ mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DgroupId=jp .ousttrue.gdxsample -DartifactId=android -Dplatform=3 ビルドするとテスト時にエラー java.lan…

デスクトップとandroid両用でOpenGL ESなコードが書けるlibgdxの使い方

http://code.google.com/p/libgdx/のHelloWorldプロジェクトをmaven管理にする手順。Windows7上のcygwinからmavenを使う環境cygwin上でmavenを使う - 三次元日誌。 インストール libgdxのインストール。 http://code.google.com/p/libgdx/downloads/listから…

ListView+SimpleCursorAdapter練習

練習に郵便番号をリストビューに表示する。 元データはこちら。 http://www.post.japanpost.jp/zipcode/dl/kogaki-zip.htmlListView, SimpleCursorAdapter, SQLiteOpenHelper, AssetManager, CSVReaderあたり。 プロジェクト生成 プロジェクト名zipcodeとし…

mavenでandroid開発

Windows7(64bit)上のcygwinからmavenでandroid開発する。 android-sdkをインストールする。 cygwinからパスを指定するのに扱いやすい場所にした方がいい。 C:/android-sdk にインストールした。 cygwin 以下にpathを通す /cygdrive/c/android-sdk/tools /cyg…

heroku(lift編)

Windows7+cygwinでherokuにliftを乗せる手順。 $ mvn -version Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900) Maven home: C:\Java\apache-maven-3.0.3 Java version: 1.6.0_26, vendor: Sun Microsystems Inc. Java home: C:\Java32\jdk1.6.0_2…

heroku(scala編)

sbtインストール(cygwin上) https://github.com/harrah/xsbt/wiki/Getting-Started-Setup から sbt-launch.jar をダウンロードする。sbt-launch.jar を保存したディレクトリに shellスクリプトsbtを作成して実行権限を付与する。 SBT_DIR=`dirname $0` java …

heroku(java編)

前回でruby@herokuできるようになったので次のjavaに進む。環境はcygwin上でmavenを使う - 三次元日誌参照。 以降の手順 http://devcenter.heroku.com/articles/java ベース heroku login $ heroku login Enter your Heroku credentials. Email: ousttrue@gm…

cygwin上でmavenを使う

Windows7(64bit)上。32bitの方のjdkを使っている。 javaをインストールする。 jdkをインストールして、cygwinにjdkへのパスを通す。 JDKはスペースを含むProgram Filesは避けて、C:\Java32にインストールした。 .bash_profile export PATH="/cygdrive/c/{jdk…

herokuことはじめ(ruby+sinatra)

herokuの開発にはruby+git+opensshがきっちり動く環境が必要なので、そのあたりの整備を兼ねて一番簡単?なruby+sinatraの場合からはじめる。 Windows7(64bit)+Cygwinを使う記録。 cygwinの替わりにmsysgitを使ってもできると思うがrubyのネイティブモジュー…

premake4によるライブラリ管理

Windows上のC++で開発をする場合、わりと依存ライブラリの調達がネックになる。単一のライブラリにだけに依存している場合は使うライブラリが提供しているdllをそのまま組み込めばよかったりするのだが、スタティックライブラリで単一のexeにしたかったり、…

swigサンプル

swigのサンプル。 typemap(in) char * + int lenの引数をStringとして扱う typemap(ignore)とtypemap(argout) 出力用のポインタを返り値で返す(複数あったらtupleにつめる) numpyのarray入出力 downcast などexample.h #include <string> #include <array> class String { s</array></string>…

IrrlichtMLを取り込むところまでできた

先週は忙しくて全然できなかったが、今日から作業再開。 IrrlichtMLのfreetypeを使ったフォント表示と日本語入力のところを合体するところまでできた。 irrlichtをswigを使ってpythonバインディングにしたもので、 01.HelloWorld.py 02.Quake3Map.py 03.Cust…

irrlichtのpythonラップその2

Irrlichtのexampleの10番までがだいたい動くようになった。https://bitbucket.org/ousttrue/onibi/src/tip/swigirr/python/examplesswigに慣れてきたので、あっさりglslのサンプルを動かすことができた。あと、pythonラッパをirrlichtのnamespace毎に分割し…

irrlichtのpythonラップ

irrlicthのpythonラップができた。 とりあえず、HelloWorldがそのまま動くようになった。 当面は、Irrlichtのexampleの動作を確認しながら足りない要素のラップを進める方針。あと、データの読み込みが不便なので、python側でデータをロードしてirrlichtのメ…

irr::core::stringのラップ

Irrlichtはいい描画エンジンなのだが、なにもかもC++でやるとつらいのでスクリプト導入のターンとなるわけです。 そういうわけで、swigで半自動でCモジュールを作るのだがはまりポイントがある。 irr::core::stringであります。 以前、lua版作ったときも同じ…

premake4でirrlichtの詰め合わせ作成

bullet-2.79のプロジェクトファイル生成方法がpremake4になっていたので自分が使いやすいように編集していたら、irrlicht+bullet+glew+irrmmdの詰め合わせになった。とりあえあず、bitbucketに投入した。 https://bitbucket.org/ousttrue/onibi/overviewだい…

-std=c++0xの副作用

gcc

"-D__STRICT_ANSI__"も定義されるので規格外の諸々(M_PIとか_MAX_PATH)とかが無くなってしまう。 必要なときは "-U__STRICT_ANSI__"で"-D__STRICT_ANSI__"を打ち消せる。

pmx版のpmcaを作った

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

epydocのreStructuredText

ディレクトリ指定で中身を全部処理するタイプのものがこれしか無かったので、docstringをhtml化するツールとしてepydocを選択している(sphinxとかpydocでもできるのかしら?)。 で、マークアップ方式にrestructuredTextを指定すると途中で死ぬ。 > epydoc.py…

1要素のtuple

前から書きながら気になっていたtupleと演算の優先度変更の括弧の区別をどうしているのかという問題があったのだが、今日気付いた。 >>> (1) 1 >>> (1,) (1,)1要素のtupleは上記のように カンマを打たないといけないのであった。 逆にカンマが無いと一切tup…

pyc掃除

findコマンドあればわざわざ書かなくてもよいのだけどwindowsだったので #!/usr/bin/env python #coding:utf-8 import os def visit(arg, d, files): for f in files: if f.lower().endswith(".pyc"): pyc=os.path.join(d, f) print(pyc) os.remove(pyc) os.…

python3.2でnoseインストール

インストーラがこける。setup.pyの63行付近以下のように改造。contents引数がstrのときとbytesのときの両方があるみたいだ。 def wrap_write_script(self, script_name, contents, *arg, **kwarg): if type(contents) is bytes: bad_text = re.compile( b"\n…

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>…