ユーザーに向きのアイデアを与えるために、左下隅にx、y、z軸があります。これらの軸に適切なx、y、zラベルを付けたいと思います。
Glutは古くて時代遅れであるため、これを実現するためにGlutを使用したくないことはわかっています。また、QPainterを利用してこれらの軸にラベルを付けることができるかどうか疑問に思っていました。
注:私はこれを見ましたが、あまりにも多く見つけました:http: //nehe.gamedev.net/tutorial/bitmap_fonts/17002/
QPainterを使用して、任意のペイントデバイスでテキストを描画できます。QGLWidgetはそのようなペイントデバイスです。QPainterは、OpenGLを使用してテキスト(または描画したいもの)を描画します。QGLWidgetを使用してシーンを描画していると仮定すると、paintEventの最後にQPainterのものを置くことができます。
MyGLWidget::paintEvent(QPaintEvent *event)
{
// draw OpenGL scene
// ...
// draw labels:
QPainter p(this);
p.drawText(..., ..., "X");
p.drawText(..., ..., "Y");
p.drawText(..., ..., "Z");
p.end();
}
QtOpenGLオーバーペイントの例もご覧ください。
(あなたが言ったように)何らかの理由でQPainterにアクセスできないため、OpenGL用のある種のフォントレンダリングライブラリが必要です。FTGLを使用することも、 freetype2を使用して独自のレンダラーを作成することもできます。Qtバージョン4.8.1以降では、QRawFontを使用して(freetypeを直接処理することなく)個々のグリフにアクセスできるようになります。これにより、独自のフォントレンダリングルーチンの実装がさらに簡単になります。
オブジェクトがQPaintDeviceまたはQGLWidgetの場合は、QPainterを使用します。従来のテクスチャフォントよりも遅いかもしれませんが、別のコーディングの問題を回避できます。