0
私はグラデーションを適用できるように背景として四角形を描画しています。私がこれをやっている方法の詳細は、同様の質問で見つけられます。https://stackoverflow.com/questions/1064840OpenGLのラスターテキストが背景の後ろに消えます
2Dラスタテキスト(スクリーンテキスト)は、グラデーションの背景なしで期待どおりに描画されます。しかし、グラデーションの背景が描かれると、テキストが消えます(私は背景のクワッドの後ろにいると思います)。
¿任意のアイデアですか?
私は
wglUseFontBitmaps HDC, 32, 96, FontID
を呼び出すことにより、フォントを作成していて、テキストが
wglUseFontOutlines HDC, 0, 255, FontID, 0, 0, WGL_FONT_LINES, GMF(0)
or
wglUseFontOutlines HDC, 0, 255, FontID, 0, 0, WGL_FONT_POLYGONS, GMF(0)
を使用して、私の3Dテキストは、すべてのケースで正常に描画されている
glRasterPos3d X, Y, Z
glListBase FontID - 32
glPushAttribute GL_LIST_BIT
Dim B() As Byte
B = StrConv(TextString, vbFromUnicode)
glCallLists Len(TextString), GL_UNSIGNED_BYTE, B(0)
glPopAttribute GL_LIST_BIT
注意を使用して描画されます
と同等の描画ルーチンです。
編集:私は、私が飛び出るされていないはず行列をポップた
を解決しました。
Zバッファを無効にしても問題は解決されませんでした。そして、はい、VB6でOpenGLは絶対に恐ろしいです。 – JRS
Zバッファがないので、何も後ろには何もないでしょう。あなたが描く最後のものはテキストです。どうやってそれがうまくいかないのか、より具体的になりますか? – shoosh
私の元の試みでは、私はglDisableとglEnableを逆にしました。私はあなたの提案に正しく従ったので、テキストは背景の上に現れます。しかし、これは最適な解決策ではありません。なぜなら、シーン内の(背景ではない)オブジェクトの後ろにあっても、テキストが常に現れるからです。 – JRS