我正在绘制四边形作为背景,因此我可以应用渐变。有关我如何执行此操作的详细信息,请参阅类似的问题:https://stackoverflow.com/questions/1064840
在没有渐变背景的情况下,按预期绘制2D光栅文本(屏幕文本)。但是,当绘制渐变背景时,文本消失(我假设在背景四边形后面)。
¿任何想法?
我正在通过调用
创建字体wglUseFontBitmaps HDC, 32, 96, FontID
并使用
绘制文本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
请注意,我的3D文字正在使用
在所有情况下成功绘制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)
它是等效的绘图程序。
修改:已解决
我正在弹出一个我不应该弹出的矩阵。
答案 0 :(得分:4)
使用
绘制文本时应禁用Z缓冲区glDisable(GL_DEPTH_TEST)
并在使用
完成文本后启用它glEnable(GL_DEPTH_TEST)
Visual Basic中是否有OpenGL?绝对有点......