2012-05-01から1ヶ月間の記事一覧

まっぷたつシェーダ

マウスでドラッグするとその位置、方向の直線で画像を真っ二つにするシェーダ。マウスで線を描く。 しゃきーん。 どうやっているのかというと、マウスでドラッグした範囲をベクトルとしてシェーダに渡し、ドラッグ開始位置と描画する点のベクトルとの外積を…

スペハリシェーダ

軽く作ってみた。 すごく適当に3Dパース付で描画するシェーダ。実行するとスペースハリアーの地面みたいにスクロールするし、上下の変化もする。 require 'dxruby' hlsl = <<EOS texture tex0; sampler Samp0 = sampler_state { Texture =<tex0>; AddressU = WRAP; AddressV = WRAP; }; float4 PS(float2 input : TEXCOORD0) : C</eos>…

びよ〜ん

1.3系のインストールデモはシェーダを使って少しだけ見栄えをよくしてみたが、1.2系はシンプルなものになっている。1.2の機能で何かできないかと考えていて、こんなものができた。 スクリーンショットを見るだけだと文字が伸びているだけなのだが、動かして…

DXRuby1.3.5devリリース

Wikiに置いといた。 Imageに三角を描いたり、色定数を追加したり円と矩形の判定を追加したり、と言ったところ。 古いsampleはclassic_sampleディレクトリに移して、new_sampleディレクトリを作った。 あと、DOCディレクトリにHLSLチュートリアルをなんとなく…

多関節キャラ2

マウスのほうを向くようにして、オマケで角度に乱数を導入してみたらなんかすごく気持ち悪い動きになったので置いておく。 #!ruby -Ks require 'dxruby' class Parts < Sprite attr_accessor :prev, :joint_xp, :joint_yp, :joint_xn, :joint_yn, :joint_ang…

多関節キャラ

リクエストがあったので簡単な多関節キャラを作ってみた。 理屈としてはオブジェクトに次のオブジェクトとの接続位置を持たせて、自分の姿勢にあわせて接続位置を回転して、次のオブジェクトはその位置をベースに自分を回転させて、という処理を再帰的に行え…

サンプルLaser.rb作り直し中

DXRubyのサンプルにLaser.rbというのがある。この記事で作ったやつだ。 http://d.hatena.ne.jp/mirichi/20100125/p1 判定にDXRubyExを使っているが、それでもレーザーを三角2つで表現するために自前で回転させたりして面倒だった。DXRuby1.3系ではSpriteクラ…

追加機能

とりあえず1.3系に入れるが、別にSpriteやShaderに依存するわけではないので1.2系にも入れる。 Imageに三角形を描画するtriangleとtriangle_fillを追加した。とくに塗りつぶす三角形は自前でやろうとすると大変面倒なのであるとラクだ。 Window/RenderTarget…

Sprite#checkを作った

画面をマスで区切ってマウスで選択する場合、座標をいちいち計算するのは面倒くさい。特に、マップエディタなんかの場合に左側にマップ、右側にチップとかすると面倒くささが増大する。しかもマスのサイズを小さくしてマップを広く見るモードとかを追加しよ…

ブラー

Maverick Projectさまを参考に。 http://maverickproj.web.fc2.com/pg30.html DXRuby1.3devで動作するよう修正してみた。いろいろいじったけど、変数名とか元のままで動くのでそのままコピペすればよかった。 passを自由に指定できるようにしたほうがよいか…

簡易エッジ抽出シェーダー

ふと思いついたのでテキトーに作ってみた。テキトーすぎてあまり品質はよろしくない。 α値が変化している部分を残す方法なので、アンチエイリアスがかかった画像だと綺麗にならない。どんな絵でもうまくできるようにするのも大変だから、どっちかというと絵…

ocraの罠

RubyのプログラムをWindows用に配布するにはocraが便利だ。ウィルススキャンが反応したりすることもあるが、それでも便利なので使う。 今回はそのocraの話。プログラムで使っている拡張ライブラリやrbファイルをまとめて圧縮してexeに含めてくれるのがocraだ…

DXRuby1.2.2リリース

最近は1.3系開発版をずっといじっていたのだが、そっちで見つけたバグの修正や追加したメソッドなどをバックポート。 RenderTargetのα合成変更、Image#saveのPNGサポートあたりが大きな変更と言えるだろう。

Pox Bullet Night

DXRubyと物理演算ライブラリのChipmunkを使って作られたゲームが公開されたのでご紹介。 シンプルな弾幕アクションゲームだ。難易度は高いがテンポよく繰り返しができるので、ひたすらチャレンジしてコツをつかむべし。 ちょっとずつ上手くなっているのが実…

DXRuby1.3.4dev

Wikiに置いた。 今回は大きな修正は特に無いのだが、ここまでの修正を1.2系にバックポートするという区切りの意味でリリース。 基本的に1.3系に入っている修正のうち、Sprite、Shaderにかかわらない部分は全部取り込む予定。 つまり、 ・Imageのテクスチャ多…