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本体をいじらなくても、これで好きなようにできるはずだ。
俺以外の人でも。