opengl

gl.processing途中経過 (愚痴っぽい。長文であまり価値がない。たぶん)

前書き 今の作業の延長線上に開発のゴールが見えないような気がした。今までprocessingと対応づけるように機能を充実させてきたけれど、実装が進むにつれて、基盤としているopenglとprocessingとの際による挙動のズレが大きくなってきた。そのズレは強引に修…

gl.processing進捗

hsb形式での色の指定のサポートとpixelsを作成するための便利な関数の作成。 そろそろモジュールの階層関係や関数の定義位置などを見直した方が良いかもしれない。 手軽にpixelsを作成する関数を作成 pixels-generator。 こういうものが簡単に作れるようにな…

openglのblendについて

glBlendFuncに渡す引数の数が多すぎて把握しきれていない。 glのコードをラッピングはしていないけれど、とりあえずblendingもできるということで。 code (use gl.processing) (with-simple-draw (200 200) (blend-info) (background 0 0 0) (gl-enable GL_B…

マルチテクスチャについて

意外と簡単でした。(もっとオプションが色々あるのかもしれませんが) draw-mixed-shapeで2つのtextureを混ぜ合わせて表示できます。 まだオプションの部分に直接GL_REPLACEなどのglの引数を直接与えていますが、いずれ:typeA :replaceなどにしようと思いま…

マルチバイト文字にも対応しました。

ただしUTF-8限定。行った方法が正しいのか分からないので行った方法を記しておく。 表示されるサイズの大きさの計算 string-lengthとstring-sizeを使った。 (string-length "aあ") ; => 2 (string-size "aあ") ; => 4 string-lengthは文字数をstring-sizeは…

座標系によるtextureの上下反転について

textureは座標系によっては上下が反転してしまうことがあるみたい。 例えば、このようなコードを書いてデフォルトの座標系で画像を表示した際には、上下が正しく表示される。 (use gl.processing) (define texture #f) (define draw (draw-once$ (^ () (with…

無事複数枚の画像が表示できました。

前々からテクスチャを読み込む機能は加えていたのだけれど、なぜか2枚のテクスチャを生成した際には 2枚目のテクスチャが表示されないので困ってました。今日テクスチャを3枚にしてみたら、2枚目までが表示されていました… というわけで、バグが取れたので無…

glのフォントを表示する機能をprocessing-likeなAPIで包んでみました。

http://processing.org/reference/text_.html に書いてあるチュートリアルと同様の結果になるようにしてみました。 でも、まだ透明度とz座標による表示順序を考慮していないです。 あと、glのpixelsのままでtextureではないのでrotateなどが効かないとおもい…

processingの簡易な記述をgl.processingにも(with-simple-draw)

processingはdrawとsetupを書かなくても実行できたりする。こんな感じに。 processing size(400, 400); // The wrong way to specify the middle of the screen ellipse(200, 200, 50, 50); // Always the middle, no matter how the size() line changes el…

gl.processingでの座標系について

標準ではprocessingと同様に左上隅が(0,0)、xの増加は右方向、yの増加は下方向の座標系。 http://processing.org/learning/drawing/setup$にoptionを付けることで座標系を変換できる。 (use gl.processing) (define draw (draw$ (^ () (fill 0 0 0) (ellipse…

processingと似たようなマウス入力の機能を追加した。

processingのgetting startedのexample2.2と同様なものができるようになった。 実行結果例(これはProcessingのサイトの画像) code 右クリックで描いた円を消去するのも加えている。 ;; Getting Started \ Processing.org http://processing.org/learning/get…

日本語を表示できるようにした。

quesoglを利用した。利用できるフォントは locate -r "\\.afm$" で見つかるものたちみたい。これを見つけるのに苦労した。 code まだ整形していないので汚いけれど。 (extend gl.processing) (use gauche.uvector) (use graphics.imlib2) (use gl.glc) (defi…

openglで日本語表示

QuesoGLC:http://quesoglc.sourceforge.net/ ubuntu sudo aptitude install libglc0 libglc-dev

画像保存時のバグを修正

修正した。

とりあえずこーどだけでもはっておく

glbooks/example8-2.scmを参考に code ;; Example 8-2 Drawing a Complete Font ;;(use gauche.experimental.lamb) (add-load-path "..") (use graphics.imlib2) (use gl.processing) (define draw (draw-once$ (lambda () (fill 0.7 0.7 0) (rect 10 10 100…

今作っているソフトウェア

http://github.com/podhmo/gauche-gl-processing 概要 名前は適切ではないかもしれないけれど、今のところは"gauche-gl-processing"という名前で呼んでいる。 githubにコードを載せている。(ただし、見るに値するほどのものじゃない。今のところ) 名前の由来…