2010-01-01から1年間の記事一覧
変えようかな。
hsb形式での色の指定のサポートとpixelsを作成するための便利な関数の作成。 そろそろモジュールの階層関係や関数の定義位置などを見直した方が良いかもしれない。 手軽にpixelsを作成する関数を作成 pixels-generator。 こういうものが簡単に作れるようにな…
anything-occurでバッファ中のoccurをanythingで引けるのだけれど、複数のバッファを行き来して作業しているときなどに「どのバッファに書かれているかわからないけれど、どこかのバッファにあるということが分かっている。」というような状況で一度に複数の…
久しぶりにscheme自体で遊んでみました。ふと、オブジェクトの状態に対するアクセサを多値で返すという風にしていくとどうなるだろうと思ったのでやってみました。 クロージャの利用 よくクロージャの実例としてカウンタの作成が引き合いにだされます。 例え…
この記事で作ったモジュールのリポジトリはgithubにあります。http://github.com/podhmo/gauche-perlinnoise はじめに gaucheにはschemeで書かれたモジュールの他にCで書かれた拡張モジュールがあります。 拡張モジュールを作る足場を作るためのツールが実は…
gaucheの拡張モジュールの作り方を調べていてわかったことなどをまとめようと思います。 まとめようと思った理由は、ネット上で見つかる拡張モジュールの作成のためのドキュメントが難しいという印象を受けたからでした。 Gauche:拡張ライブラリ入門 Cで書く…
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は座標系によっては上下が反転してしまうことがあるみたい。 例えば、このようなコードを書いてデフォルトの座標系で画像を表示した際には、上下が正しく表示される。 (use gl.processing) (define texture #f) (define draw (draw-once$ (^ () (with…
前々からテクスチャを読み込む機能は加えていたのだけれど、なぜか2枚のテクスチャを生成した際には 2枚目のテクスチャが表示されないので困ってました。今日テクスチャを3枚にしてみたら、2枚目までが表示されていました… というわけで、バグが取れたので無…
http://processing.org/reference/text_.html に書いてあるチュートリアルと同様の結果になるようにしてみました。 でも、まだ透明度とz座標による表示順序を考慮していないです。 あと、glのpixelsのままでtextureではないのでrotateなどが効かないとおもい…
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…
標準ではprocessingと同様に左上隅が(0,0)、xの増加は右方向、yの増加は下方向の座標系。 http://processing.org/learning/drawing/setup$にoptionを付けることで座標系を変換できる。 (use gl.processing) (define draw (draw$ (^ () (fill 0 0 0) (ellipse…
processingのgetting startedのexample2.2と同様なものができるようになった。 実行結果例(これはProcessingのサイトの画像) code 右クリックで描いた円を消去するのも加えている。 ;; Getting Started \ Processing.org http://processing.org/learning/get…
実行時の画面を画像ファイルとして保存できると便利。 画像の読み込み(load-image)書き出し(save-image)の際には、imlib2の機能を利用している。 今までは画像を保存する際にはこのように書いていた。 (use graphics.imlib2) (define draw (draw-once$ (lamb…
実行(できそうな)コードと結果だけを書かれても、読んでいる人は何のことだか分からないかもしれないので、 もう少し説明を加えることにする。 この日記はたぶん、「gauche-gl-processing(gl.processing」というscheme処理系のGaucheで利用できるライブラ…
quesoglを利用した。利用できるフォントは locate -r "\\.afm$" で見つかるものたちみたい。これを見つけるのに苦労した。 code まだ整形していないので汚いけれど。 (extend gl.processing) (use gauche.uvector) (use graphics.imlib2) (use gl.glc) (defi…
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にコードを載せている。(ただし、見るに値するほどのものじゃない。今のところ) 名前の由来…
id:podhmoでblogを始めてみることにしました。 したいこと 今作っているソフトウェアについて文章で記述する。 gauche-glを使いやすいようにwrappingしてprocessingのような自分にとってのsketch-toolを作っている。 先週から少しずつ手をいれていたのだけれ…