マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

テクスチャ画像の読み込み

BMPファイルを読み込めば、MMDのデフォルトのモデルは表示できるので、Google先生に聞いたらRubyでBMPファイルをあつかうを発見した。さっそくダウンロードして、readを使い画像を読み込みこんだ。あとはpgetを使いOpenGLで扱える形式に変更すればOK。OpenGLに渡す形式はunsigned byteにしたため、Rubyでは文字列としてバイナリを扱うようにした。あとは描画するのみ!

def get_raw(bitmap)
    image = ""
        
    bitmap.height.times do |y|
        bitmap.width.times do |x|
            rgb = bitmap.pget(x, y)

            index = (y * bitmap.width + x) * 3
            image[index] = rgb[0]
            image[index + 1] = rgb[1]
            image[index + 2] = rgb[2]
        end
    end

    return image
end