用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方向坐标就可以了,不用改变纹理坐标,纹理将自动生长。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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实现折线和矩形的橡皮筋绘制技术(可完全脱离鼠标)

这学期开始学计算机图形学基础,课后有个习题让用OpenGL实现折线和矩形的橡皮筋绘制技术,只要求了用右键菜单实现功能的选择。老师嫌有些简单,就说要加上教材上基于键盘实现的代码,可教材上的代码还是要先把...

用OpenGL实现 Breseham画圆算法

#include #include #include using namespace std; int xs = 0; int ys = 0; int r = 0; void Bresen...

空间圆弧作图算法,基于OpenGL实现!

///////////////////////////////////////////////////////////////////// int CGLBasic::DrawCircle(XPoin...

Computer Graphics Project3(OpenGL实现机器人走动及层级结构)

Computer Graphics Project3
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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