- 2D の基本的な描画
- 3D の基本的な描画
- 画像ファイルローダー
- シンプルなファイル選択
- シンプルなダイアログ
- 簡単なメニュー機能
- ビットマップフォント
- カラー定義、管理
- グラフィックス関係の操作
ファイル名 | 機能 |
---|---|
afont.hpp | ASCII フォントクラス |
font6x12.hpp | 6x12 ASCII フォントクラス |
font6x12.cpp | 6x12 ASCII フォントリソース |
font8x16.hpp | 8x16 ASCII フォントクラス |
font8x16.cpp | 8x16 ASCII フォントリソース |
kfont.hpp | 漢字フォントクラス |
kfont16.cpp | 16x16 漢字フォントリソース |
kfont16.bin | 16x16 漢字フォントバイナリー(240キロバイト) |
font.hpp | フォント |
color.hpp | カラー定義 |
graphics.hpp | 2D 描画クラス |
monograph.hpp | 2D ビットマップ描画クラス |
simple_filer.hpp | シンプル・ファイル選択クラス |
simple_dialog.hpp | シンプル・ダイアログ(モーダルフレーム) |
root_menu.hpp | ルートメニュークラス |
img.hpp | イメージ定義クラス |
img_in.hpp | 画像定義 |
pixel.hpp | ピクセル定義 |
bmp_in.hpp | BMP ファイルローダー |
jpeg_in.hpp | JPEG ファイルローダー |
png_in.hpp | PNG ローダー |
picojpeg.h | picojpeg ヘッダー |
picojpeg.c | picojpeg ソースコード |
picojpeg_in.hpp | picoJPEG ローダー |
scaling.hpp | スケーリングパイプクラス |
glmatrix.hpp | OpenGL マトリックスクラス |
tgl.hpp | TinyGL(Tiny OpenGL) クラス |
shape_3d.hpp | 3D シェープ(簡単なモデル) |
- img_in.hpp{:target="_blank"}
- scaling.hpp{:target="_blank"}
通常、画像ファイルを扱う場合、一旦メモリにロードして、スケールなど行いフレームバッファに書き込みます。
しかし、画像ファイルは巨大なメモリを使用するので、内蔵メモリでは、足りない場合もあります。
この画像ローダーテンプレートでは、テンポラリメモリを使用しないで、直接フレームバッファに描画します。
スケーリングテンプレートクラスを描画ファンクタの間に定義すれば、スケーリングしながら描画を行う事が出来ます。
構造上、スケーリング品質は、簡易的なものですが、ある程度、エイリアシングを除去する事が出来るように工夫してあります。
スケーリングでは、縮小時に平均を行う為、描画先のフレームバッファを「黒」でクリアしておく必要があります。
- img::img_in クラスによる BMP, PNG, JPEG 画像のロードと展開(自動判別)
- 「展開」を行うファンクタをテンプレートで指定する構成(省メモリ)
- img::scaling クラスを経由する事で、拡大、縮小が可能
typedef img::scaling<RENDER> SCALING;
SCALING scaling_;
typedef img::img_in<SCALING> IMG_IN;
IMG_IN img_in_;
// constructor: scaling_(render_), img_in_(scaling_),
scaling_.set_scale();
render_.flush();
img_in_.load("/NoImage.jpg");
- 単独で、ダイアログを表示する事が出来る。
- メッセージを表示し、タッチで消える、簡単なポリシー
- OpenGL ライクな API を持った3Dグラフィックスライブラリ
- リアルタイム表示を行う為には、ダブルバッファが必要(RX72N、RX72M)
- OpenGL と互換性のある行列演算と API (glmatrix.hpp)
※現在開発中
MIT