GLUT互換モード

FLTKはGLUT互換のためのヘッダが用意されている (GLUT 3.7 および freeglut 2.4.0と互換性を持つ). これを使うとGLUTを使ったOpenGLアプリケーションを最小限の変更でFLTKに移行できる. つまり,

#include <GL/glut.h>

の代わりに

#include <FL/glut.h>

を使うだけである. だだし,fltk.lib,fltkgl.libをリンクすること.

互換モードではGLUTをそのまま使えるだけでなく, モーダルダイアログの生成で例を示したようなFLTKダイアログウィンドウなども使える.

注意点

  • GLUTシンボルの値 : GLUTのシンボルでその値が同じなのは
    GLUT_DOWN GLUT_UP GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON GLUT_KEY_F1-GLUT_KEY_F12
    だけである.たとえば,修飾キーGLUT_ACTIVE_SHIFTやGLUT_ACTIVE_CTRLはGLUTではそれぞれ1,2だが, FLTKではFL_SHIFT,FL_CTRLと同じ値になっている.単純にif文で値を比べて処理を分けている場合はよいが,数値を直接使って処理をしている場合は注意が必要である.
  • glutSwapBuffers関数は呼び出しても何もしない.FLTKは標準でダブルバッファの切り替えを行っているので必要ない.
  • いくつかの未実装のものもあるので注意.詳しくは,FLTKのマニュアルのGLUT Compatibility参照.
  • glutAddMenuEntryの第一引数がconst char*からchar*になっているので,std::stringのc_str()関数を使ってメニュー名を設定している場合は,
    char ch[256];
    sprintf(ch, "%s", str.c_str());
    glutAddMenuEntry(ch, 0);
    のように変更する必要がある.

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:04