自前メッシュ

require 'dxruby'

image = Image.load("ruby.png")

p1 = Polygon.new
p1.vertex = [-1, -1, 0, 1, -1, 0, 1, 1, 0]
p1.tutv = [0, 0, 31, 0, 31, 31]
p2 = Polygon.new
p2.vertex = [-1, -1, 0, 1, 1, 0, -1, 1, 0]
p2.tutv = [0, 0, 31, 31, 0, 31]

m = Mesh.new([p1, p2], image)

Window.loop do
  Window.drawMesh([300,240,-300], [0, 0, 0], [200,200,200], m, -10)
end

このまえ書いたのとちょっと変えた。
テクスチャはポリゴンに持たせるんじゃなくて、メッシュを作るときに指定するようにした。
どうせ同じじゃないと作れないから。
でもDirect3Dのメッシュってサブセットの集合体で、それごとにマテリアルやテクスチャをもてるから、そのようにしようと思ったら中間になんかクラスを作らないといけないかもしれない。


ま、ともかくとりあえず基本部分はできたということで。
綺麗に描画するためにはライティング関連もしっかり作らないといけないのだけど、これはまだまったくわかってないのでそのうち。
なんかシンプルな3Dダンジョンとか作れそうな感じにはなってきた。