OpenGL ES纹理贴图
来源:互联网 发布:linux给目录赋权限 编辑:程序博客网 时间:2024/04/25 00:10
本文针对对OpenGL es有一定了解的人群,一些基础概念不多解释。
一、三角形纹理映射
OpenGL的平面映射首先是需要区分平面正反方向,一般默认右手定则,面向平面,顶点顺序按平面周边逆时针方向的为正向。默认不打开背面裁剪。可通过如下方法设置:GLES20.glEnable(GLES20.GL_CULL_FACE);//打开背面剪裁 默认不打开GLES20.glFrontFace(GLES20.GL_CW);//设置顺时针为正 默认逆时针为正GL_CCW现在想把下面的贴图映射到三维空间的三角形上,需要定义顶点数组和纹理坐标数组。
1、顶点数组
首先定义三维空间的顶点坐标,下图是省略z轴坐标后的简化效果,其实是z坐标为0的模拟。当然有很多的顶点排列顺序,现在以最简单为例:A->B->C 。这样可得顶点数组如下:
{
0, 1, 0,
-1,-1, 0,
1,-1, 0,
}
2、纹理坐标数组
纹理坐标空间与三维空间是倒向的,就是说y坐标方向和t坐标方向是相反的。所以针对上图的空间顶点坐标,可以得到下图所示纹理坐标空间的坐标,坐标顺序是:A1->B1->C1 。这样可得纹理坐标数组:
{
0.5f,0,
0, 1,
1, 1
}
二、四边形纹理映射
现在想把下面的贴图的左上角的四分之一部分映射到三维空间的四边形上面。
1、顶点数组
三维空间四边形顶点坐标依然采取逆时针方向,当然逆时针起点不同也有不同顺序,这里采取的顺去是:A->B->C->C->D->A 。这样可得顶点数组如下:
{
-1, 1,0,
-1,-1,0,
1,-1,0,
1,-1,0,
1, 1,0,
-1, 1,0
}
2、纹理坐标数组
根据上面顶点顺序,以及要求只取图片左上角的四分之一的部分作为贴图,可知只需取纹理坐标空间左下角部分即可:A1->B1->C1->C1->D1->A1 。这样可得纹理坐标数组:
{
0, 0,
0, 0.5f,
0.5f,0.5f,
0.5f,0.5f,0.5f,0,
0, 0
}
0 0
- OpenGL ES纹理贴图
- OpenGL ES纹理贴图
- OpenGL ES纹理贴图
- OpenGL ES 纹理贴图
- Opengl ES 学习笔记 3:纹理贴图
- android opengl es 纹理贴图资料
- opengl es纹理贴图效果实例
- Android Opengl ES 2.0 纹理贴图
- OpenGL ES二维纹理坐标贴图规则
- OpenGL ES绘制3D纹理贴图
- OpenGL ES入门05-OpenGL ES 纹理贴图
- Android OpenGL es 纹理坐标设定与贴图规则
- Android OpenGL es 纹理坐标设定与贴图规则
- Android OpenGL es 纹理坐标设定与贴图规则
- OpenGL ES教程VI之纹理贴图(原文对照)
- Android OpenGL es 纹理坐标设定与贴图规则
- Android OpenGL es 纹理坐标设定与贴图规则
- Android OpenGL es 3D Rubik Cube 多纹理贴图
- RS232/RS485
- 杭电ACM1010(dfs+剪枝)
- android开发者的42个必读网站
- sql的for xml path 和 stuff 结合使用
- 时间间隔方法参考
- OpenGL ES纹理贴图
- js 强制类型转换
- ArcGIS教程:成本距离工具工作原理(一)
- [LeetCode249]Group Shifted Strings
- 安装sql2000时提示:“写时无法打开指定的文件。请确保该文件没有使用,然后重新启动安装程序”
- 9、Java基本数据类型包装类String类
- Fragment完全解析(下)
- 开发:点击空白处收起虚拟键盘的方案和原理(触发分发流程)
- 微信公众平台上传图片,自动回复图片