次の例では、Text関数をTranslateおよびRotateメッセージと連動させて使っています。
scene = Scene Box( 600, 600 ); // OpenGLシーンを保持するScene Boxを作成する
New Window( "例2", scene ); // シーンをウィンドウに配置する
// レンズは45度、近い距離(near)はカメラから3単位、遠い距離(far)は7単位
scene << Perspective( 45, 3, 7 );
// カメラで原点(0,0,0)が見えるように移動する
scene << Translate( 0.0, 0.0, -4.5 );
// Y軸(画面の縦方向)を中心に最初のテキストを回転させる
scene << Rotate( 30, 0, 1, 0 );
scene << Color( 1, 0, 2 ); // マゼンタ
scene << Text( "center", "baseline", .2, " Top magenta string " );
// 次のテキストをカメラからもっと遠ざける
scene << Translate( 0.0, 0.0, -2.0 );
// 2番目のテキストをY軸(画面の縦方向)を中心に回転させる
scene << Rotate( 30, 0, 1, 0 );
scene << Color( 0, 1, 1 ); // 水色
scene << Text( "center", "baseline", .2, " Back aqua blue very long string" );
// 現在の表示リストを使って、ウィンドウ内のディスプレイボックスを更新する
scene << Update;
図13.14 テキスト文字列の回転と移動
水色の文字列の一部は、遠い方のクリップ平面を超えて後方に位置しています。Perspectiveの7を10に変更すると、文字列の最後が表示されます。