用OpenGL实现纹理自动生长(蒋立华,秦雪,刘晓东,刘归荣)

原创 2007年09月24日 22:45:00

1. OpenGL 中滤波方式的不足
   OpenGL中各种效果的模型体都是在同一个平面上,可以通过放大纹理坐标得到各种不同的效果,也可以实现纹理的自动扩展。但是一旦模型变化了,纹理的坐标也要随之变化,这时就需要重新进行计算。这不仅会增大计算量,而且可能会和模型的增长产生不匹配,因此这个方式在动画过程中实际效率不是
很好。
2. 切分面方法
    滤波参数的作用对一个面的应用虽然有一些限制,但是它的自动扩展,还是给利用小幅图像生成大纹理一些提示。利用滤波参数的自动纹理生成功能,笔者设计了一种针对循环纹理可以自动随模型生长而不用重新计算纹理坐标的方法。
   2.1切分平面
   把原始平面在将要变化的方向(假设为M 方向)切分为两个相邻的平面,得到切分面-1、切分面2。

2.2对切分面’ 进行贴图
相对原始图一样的方法对切分面’ 进行贴图处理,对滤波方向进行控制如下:
glTexParametef(GL_TEXT2D,GL_TEXTURE_WRAPS_S,GL_REPEAT);
glTexParametef(GL_TEXT2D,GL_TEXTURE_WRAPS_T,GL_CLAMP);
切分面’ 可以做得很小,这样对应的纹理也可以做得很小,有效地节省了空间。
 开启S方向生长
glEnable(GL_TEXTURE_GEN_S); 

切分面2 生长
生长的时候,只要改变切分面2的S方向坐标就可以了,不用改变纹理坐标,纹理将自动生长。

 

OpenGL实现正方体各个面纹理映射

  • 2011年06月20日 09:05
  • 1.28MB
  • 下载

openCV读入图片,openGL实现纹理贴图

本文结合结合openCV,openGL的优点,实现混合编程。 (1)OpenCV提供图形处理和计算机视觉方面的通用算法,读入二维图片很方便; (2)OpenGL是跨平台的图形程序接口,它用于二维,...

billboard 的OpenGL实现&&OpenGL多线程创建纹理

http://hi.baidu.com/atyuwen/blog/item/5355f17370ef9b1b8701b098.html虚拟现实技术与算法的大作业需要用到billboard技术,写了这样...

OpenGL实现视频自动剪辑(一) 环境搭建

系统环境: 虚拟机环境为Ubuntu 16.04 安装QT: ubuntu上一个不错的c/c++IDE。 命令如下 sudo apt-get install cmake qt5-default q...

openGL实现地球自动围绕太阳转

  • 2012年06月21日 10:25
  • 1.08MB
  • 下载

OpenGL实现的烟花粒子系统

OpenGL实现的烟花粒子效果,Win32和Android平台,非常漂亮。
  • ynnmnm
  • ynnmnm
  • 2011年10月27日 14:48
  • 6363

opengl实现直线扫描算法和区域填充算法

1、 采用直线扫描算法绘制一条线段,直线由离散点组成 2、 利用区域填充算法绘制多边形区域,区域由离散点组成...

用OpenGL实现射线拣取对象

第一步:  实现屏幕坐标到三维世界空间坐标的转化,利用函数 gluUnProject直接可以得到屏幕坐标相应的三维空间坐标。 [cpp] view plaincopy ...
  • thenile
  • thenile
  • 2013年04月27日 12:26
  • 3746

项目实践与用OpenGL实现OBJ模型文件的读入

读OBJ文件

双三次插值算法的OpenGL实现

双三次插值算法的OpenGL实现说明最近写一个图像缩放的接口,考虑到自己有现成的OpenGL图像处理引擎,还是直接写shader用GPU实现方便。为了效果好一些,采用了双三次插值算法。 算法相关公式...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用OpenGL实现纹理自动生长(蒋立华,秦雪,刘晓东,刘归荣)
举报原因:
原因补充:

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