鸿 网 互 联 www.68idc.cn

OpenGL_ES|WinCE纹理贴图的方式绘制字符串

来源:互联网 作者:佚名 时间:2015-10-26 08:27
网上看了几个例子,不是编译一堆错误,就是运行没反映 对OpenGL_ES还是不属性,估计是哪里设置不对。 尤其是坐标,搞晕了。但有时候又觉得其实很简单。 思路:1: 创建内存DC ,为DC选择需要的字体,计算 字符串 在内存DC中的长宽; 2:创建与 字符串 长宽对

网上看了几个例子,不是编译一堆错误,就是运行没反映 

 

对OpenGL_ES还是不属性,估计是哪里设置不对。 尤其是坐标,搞晕了。但有时候又觉得其实很简单。

 

 

思路:1: 创建内存DC ,为DC选择需要的字体,计算字符串在内存DC中的长宽;

 2:创建与字符串长宽对应的设备无关位图,选入内存DC,并把字符串DrawText入内存DC;

         3:处理设备无关位图的数据 (设置位图数据的alpha值,置换R/B值) 

 4:用设备无关位图数据生成纹理

         5:贴图......

 

 

注:BMP图片的字节对齐,在我的机器上模式不对齐也没问题。。。

 

###将字符串生成纹理的函数###

 ###OpenGL_ES平行投影设置函数###

 

###字符串输出封装函数###

 

初始化OpenGL_ES后调用:

gl.TextOut(L"OpenGL_ES泪牛面貌",100,240,250,30);

 

 

乱哄哄的只是实现了下自己的想法,很多地方能够优化 、封装。

 

另一种思路 :根据设备无关位图的像素数据 生成坐标顶点数组,在用glDrawElements将数组输出,有心情再弄吧。

 

网友评论
<