Image#render_in_perspective
StarRubyのTexture#render_in_perspectiveのDXRuby移植版。
結論から言うと挫折した。
きちんとアルゴリズムを理解していればできたかもしれない。
とりあえず、動くことは動いて、画面にそれっぽい絵が出たのだが、どこか変な絵となった。
絵の変さがよくわからない画像を貼ってごまかすことにする。
require 'dxruby' require 'dxrubypp' class Image include PP end image = Image.new(128, 128).boxFill(0, 50, 100, 100, [255, 0, 255, 0]) image1 = Image.new(640,480) options = { :camera_x => 100, :camera_y => 100, :camera_height => 25, :camera_yaw => Math.atan2(1, 1), :intersection_x => 160, :intersection_y => 0, :blur => :background, :loop=>true } image1.render_in_perspective(image, options) Window.loop do Window.draw(0,0,image1) end
そしてCのソースは元がなんだったのかわからないよ−な、この世のモノとは思えない悲惨な有様となってしまったので、このまま封印することにする。
ていうか消す。
恥ずかしくて見せられない。
なにはともあれ、外部のライブラリからテクスチャを直接いじることができる、というのはよくわかった。
Imageクラスの拡張はDXRuby本体をいじらなくても、これで好きなようにできるはずだ。
俺以外の人でも。