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

原创 2007年09月22日 21:58:00
   最近使用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....
嘻嘻,大功告成。

OpenGL中更新一个已绑定的贴图内容

    最近使用VB.NET完成了一项和OpenGL相关的项目,OpenGL是其中实现该软件的核心功能,软件中需要使用一个根据用户的不同需求实时改变已绑定的贴图图片功能,主要是字体颜色的变化。因为刚刚...
  • CloneCenter
  • CloneCenter
  • 2007年03月19日 15:19
  • 1394

OpenGL(十二) 纹理映射(贴图)

OpenGL绘制纹理的步骤: 1. 开启纹理功能 使用glEnable(GL_TEXTURE_2D)开启2D纹理功能,使用glDisable(GL_TEXTURE_2D)关闭纹理,默认情况下纹理是关闭...
  • dcrmg
  • dcrmg
  • 2016年11月16日 07:15
  • 4816

OpenGL纹理贴图 旋转的立方体

由于vs2008没有对glaux的支持,所以该工程需要在vc6.0里面实现,对vc6.0的opengl设置在上一篇博客中源码如下:#include //引用相关包 #include #inc...
  • doublepengchao
  • doublepengchao
  • 2011年01月07日 22:40
  • 2030

OpenGL阴影贴图

阴影贴图算法综述: 对于阴影场景的渲染需要两个步骤来完成。第一步是产生阴影图本身,第二步是将阴影图应用到场景中。根据实现方式以及光源数目的不同,阴影场景渲染过程可能需要两个或者更多的绘制过程。 ...
  • wang15061955806
  • wang15061955806
  • 2016年08月03日 10:40
  • 705

opengl纹理贴图是黑白的原因

贴图是彩色的,可是贴图后显示的却是黑白的。。。。。 开始不知道什么原因,后来才知道。 贴图图片是我用画图板剪切保存为bmp格式创建的 因为剪切的时候是随意裁减的,所以图片宽高的像素值是任意的 ...
  • u010547283
  • u010547283
  • 2016年04月14日 20:16
  • 466

openGL之纹理贴图---openGL学习笔记(十三)

把图像贴到所绘制的图形上的技术,在openGL中叫做纹理贴图。 使要用纹理贴图要实现以下步骤: 1.启用纹理贴图---纹理贴图同样是状态机,所以启用方法为:gl.glEnable(GL10.GL_...
  • a358333644
  • a358333644
  • 2016年03月16日 17:41
  • 5397

Android中使用OpenGL ES实现纹理贴图以及实现多重纹理混合

OpenGL ES中最常用的纹理是2D纹理,也就是一个图像的二维数组,当我们使用纹理时,需要使用纹理坐标作为纹理图像中的索引。纹理坐标用(s, t)指定,或者(U, V)。纹理坐标如下图所示,纹理原点...
  • lb377463323
  • lb377463323
  • 2017年03月21日 17:48
  • 3052

opengl笔记2(二次曲面的纹理映射)

今天看了看二次曲面的纹理映射,二次曲面是用glu库画的。 下面的三个函数是主要代码。 quadratic=gluNewQuadric();// 创建二次几何体 gluQuadricNormal...
  • gaotengguojianhong
  • gaotengguojianhong
  • 2011年09月09日 21:02
  • 1539

opengl 绘制简单的带纹理贴图的立方体

#include #include #include #include #include #include #include "ourProgram.h" #include "SOIL....
  • IAccepted
  • IAccepted
  • 2015年03月29日 13:00
  • 4804

iOS原生OPENGL之贴图

iOS平台上学习OpenGL的资料比较少,加上深度也不够,比如贴图,只能用系统提供的effect类去绘制,在这里我将我整理得到的一些关于贴图的知识分享出来,希望能帮到不了解又想学gl知识的人.完整代码...
  • enghou123
  • enghou123
  • 2017年03月27日 00:02
  • 797
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenGL中更新一个已绑定的贴图内容(转,作者CloneCenter)
举报原因:
原因补充:

(最多只允许输入30个字)