!!新年明けましておめでとうございます。今年も技術デモをなるべく多く公開していきたいと思います。お願いします!さて、2012年に入って学生の皆さんも就職活動本番に突入してく時期になっていますが今回はゲーム就職作品に役立てられそうなプログラムをひとつ紹介してみたいと思います。3D作品にDirectXを使用しているとテクスチャの読み込みに対しては特に不便を感じることなく簡単に読み込むことができます。様々な画像形式をテクスチャとしてロードすることができます。場合によってはOpenGLなどの別のプラットフォームで制作することもあったりすると途端にその恩恵にあずかることができなくなってしまいます。BMP形式は比較的簡単なフォーマットですので自作してもさほど苦労はしないと思います。PNGやJPEG形式などはその形式独自の圧縮アルゴリズムがあり、自力で展開して利用するのは非常に骨の折れる実装になってしまいます。実際にはそんなことにならないようにオープンソースライブラリでlibpngやlibjpegのように展開を肩代わりしてくれるものが提供されています。これらを活用することで比較的簡単に画像を読み込むことができるようになります。■libjpeghttp://libjpeg.sourceforge.net/【図】それぞれの形式専用の展開ライブラリを適用して読み込みオープンソース系のライブラリはlibpngのようにライセンス的にも緩く簡単に活用できるものが存在しています。応用できるところには適切に導入していくことで制作の労力を大幅に軽減できます。プログラミングを始めて経験が浅い時には、このようなライブラリを組み込む事自体にも難易度が高く感じたりすることがあると思います。敷居が低い方法で簡単に実現できる方法があれば嬉しいですよね。Windows環境限定になりますが、WindowsXP以降には「GDI+」というグラフィックAPIが拡張新設されています。そのなかに画像ファイルの読み込みをサポートするモジュールも存在しており、最初から簡単に利用できるようになっています。GDI+を使用して画像ファイルを読み込む場合は同じロード処理で複数の画像形式に対応することができます。【図】GDI+では様々な画像形式を共通のAPIで扱うことができる早速ですが、ソースコードを御覧ください。WindowsXPであることを指定します。APIを利用するため、WindowsXP以降が必要になります。【注意】本来はこの箇所は文字列バッファ長の考慮の他に文字列終端コードを処理するよりセキュアな対応が好ましいです。result;}いかがでしょうか?わずかこれだけのプログラムでBMP形式だけでなく、PNG形式やJPEG形式まで読み込むことができます。上記の方法ではパレットを持ったデータも全てフルカラー形式に展開されてしまいますのでご注意下さい。アルファ成分もロード可能ですので、テクスチャのロードに活用出来ると思います。ソースコード内で■記号をつけた部分にメモリ確保とデータ書き込みの処理を追加して使うことになります。クラス実装に拡張したりして活用していただけたら幸いです。この方法はWindows環境のみでしか利用できませんので、他の環境の場合はlibpng/libjpegといったオープンソースライブラリで対応する必要があります。ヘキサドライブでは先月12月から新卒採用スタートしています。教育には師弟制度があり、先輩と共に知識や能力を高めあっていく環境づくりをしています。一緒にゲーム作品を作っていきませんか?採用情報詳細は下記情報を御覧ください。いぬねこRECRUIT大阪・東京共にスタッフを募集しています。Inc.CONTACTFACEBOOKTWITTERYOUTUBE。