*FK Tips [#me68c1ec] #contents このページではFK Tipsについて掲載しています。 現在掲載している他にも注意しておきたい点がありましたらどんどん編集していってください。 **FKの便利な使い方 [#pdba9100] FKの便利な活用方法を紹介します。 ***テクスチャのピクセル色をそのまま表示する方法 [#r0367f78] 光源やマテリアルの影響を受けずにテクスチャのピクセル色をそのまま表示するには以下のように記述する。 fk_Texture texture;//テクスチャを表すクラス texture.setTextureMode(FK_TEX_REPLACE);//画像モード **マテリアル関連 [#ec672f5d] 色などの材質に関するTipsです。 ***マテリアルの初期化 [#hc6c4f85] FKでマテリアルを扱うためには、マテリアルの初期化を行う必要がある。 初期化は1度だけで十分なので、Fl_Windowのend関数の直後あたりで行えばよい。 // マテリアルの初期化 fk_Material::initDefault() 初期化を行わないと、色を指定しても正しい色にならないので注意すること。 ***FKにおける材質要素 [#q0328b63] fk_Materialが持つ要素は以下の6つである。 ごく簡単な説明と共に紹介する。 : alpha | 透明度: 物体の透明度の設定(エントリー順に注意しないと正しく描画されない) : ambient | 環境反射係数: 光が当たっていない部分の色 : diffuse | 拡散反射係数: 光が当たっている部分の色 : emission | 放射光係数: 物体自体が発光しているような表現に用いる(光源にはならない) : specular | 鏡面反射係数: 鏡のような反射の色合いの設定(他のオブジェクトが反射して映ることはない) : shininess | 鏡面反射のハイライト: ハイライトの大きさ(値が大きいほどハイライトは小さく鋭くなる) ***線と点の色 [#o9073d4b] 物質の色はfk_ModelのsetMaterial関数によって設定するが、線と点の色はそれぞれ別の関数によって設定する。 // 物質の材質設定 fk_Model model; fk_Block block; model.setShape(&block); model.setMaterial(White); // 線の色設定 fk_Line line; model.setShape(&line); model.setLineColor(0.0f, 0.0f, 1.0f); // 点の色設定 fk_Point point; model.setShape(&point); model.setPointColor(1.0f, 0.0f, 0.0f); **fk_Solid関連 [#j656848c] 半稜線構造や、fk_Solid関係の使い方に関するTipsです。 ***位相要素のID [#odb59c48] fk_Solidの位相要素(fk_Vertex, fk_Half, fk_Edge, fk_Loop)のIDは1から始まる。 ***fk_Loopは5角形以上の多角形に対応 [#w453bfcb] fk_Loopは5角形以上の多角形を生成できます。 生成方法に違いはありません。 **FLTK関連 [#x18220a3] GUIを作るためのFLTK関連のTipsです。 ***FLTKで日本語を扱う [#s637ac58] FLTKは標準では日本語に対応していない。 FLTKで日本語を扱うには、FLTKがデフォルトで扱うフォントに日本語を指定する必要がある。 Fl::set_font(FL_HELVETICA, "フォント名"); // 例 Fl::set_font(FL_HELVETICA, "メイリオ"); 指定する場所はマテリアルを初期化するあたりがお勧めです。 FL_HELVETICAについての説明は割愛。 ~ ~ ~ ~