OpenGL中更新一个已绑定的贴图内容(转,作者CloneCenter)

   最近使用VB.NET完成了一项和OpenGL相关的项目,OpenGL是其中实现该软件的核心功能,软件中需要使用一个根据用户的不同需求实时改变已绑定的贴图图片功能,主要是字体颜色的变化。因为刚刚涉及OpenGL的编程,很多东西不懂,这里写出的方法也有可能是愚蠢、曲折的。 

    在创建OpenGL窗口过程中,借鉴了Nehe教程,初始化窗口的时候创建纹理,因为程序里面需要处理很多图片,所以装载的速度比较慢,我们需要更改字体颜色的图片也在这个过程中同时创建,初步估计,在我的机器上使用了5秒左右。

    改变字体颜色,就需要对这个纹理进行处理,纹理的原始内容是从System.Drawing.BitMap创建过来的。我在使用glGenTexture和glBindTexture之后,进行了一些OpenGL纹理的参数设置,似乎这个BitMap就不能正常访问了,可能是里面的内容已经被OpenGL修改了。本来是想对这个原始的BitMap重新处理的,但是由于不能访问,我一时不知所措。

    冷静下来之后,决定将这个BitMap重新创建,然后讲纹理重新绑定,理论上是可行的。试验了一下,果然成功。步骤如下:

'  创建BitMap
textureImage( 2 =  CreateMyBitMap(...)
'  重新绑定纹理
Gl.glBindTexture( 3 , textureImage( 2 ))
'  下面的代码进行OpenGL纹理参数设置。
Gl....
嘻嘻,大功告成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值