opengl3d添加二维文字

opengl3d添加二维文字,第1张

具体方法:

1、创建一个BMP的纹理图,确定文字的位置,颜色和阴影效果等内容。

2、使用JOGL创建GLSL(OpenGLShadingLanguage)着色器程序,该程序将用来渲染文字。

3、使用JOGL的绘制程序,将着色器程序绘制到图片中。

4、将绘制后的图片添加到OpenGL3D图中,在图中可以看到添加的文字内容。

wglUseFontBitmaps

函数显示文字

----使用wglUseFontBitmaps()将ASCII字符装入显示列表,然后使用glCallLists()函数利用显示列表序列显示文本。

wglUseFontBitmaps有四个参数,分别是当前使用的DC、从第几个ASCII字符起始装入列表、装入列表的ASCII字符数和起始的列表序号。

glListBase()指定glCallLists执行的起始列表序列号。glCallLists()含有三个参数:执行列表序列的个数、列表值的类型和所要显示的文本。

注意如果所要显示的文本是字符串,它所提供的信息是相对于起始装入ASCII字符的偏移量,因此最终所显示的ASCII字符是从glListBase()所指定的列表起始号在经过glCallLists()中偏移后的列表,因此wglUseFontBitmaps的从第几个ASCII字符起始装入列表参数、glListBase()指定的 glCallLists执行的起始列表序列号和glCallLists()中的所要显示的文本参数都可以影响最终显示结果。

由于显示的是ASCII 字符,因此不能显示汉字。glRasterPos3f函数决定在 OpenGL视景体坐标系下的偏移。具体函数实现如下:

void CTextView::DrawListText()

{

wglUseFontBitmaps(wglGetCurrentDC(),0,256,1000)

glListBase(1000)

glRasterPos3f(-5.0f,0.0f,0.0f)

glCallLists(20,GL_UNSIGNED

_BYTE,“Draw with List Text.")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11429864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存