OpenGL ES 纹理阵列的实现

OpenGL ES 纹理阵列的实现

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生
-  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

以下是纹理的参数设置,对这些参数,绝对脑袋大好几圈儿。

+ (void)setTextureParameter {

    // It can be GL_NICEST or GL_FASTEST or GL_DONT_CARE. GL_DONT_CARE by default.
    glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
}

不过,今天在三维模型中,想把一个房间的屋顶和地面换成适合的图片,但从网上下载的图片都不太大,我的贴图坐标是整个贴满这个长方体底面儿的所有三角形(这句话,太精炼了,包含了太丰富的内容在里面,不过只有你知道,你才能看得懂)但这张图如果被拉伸后,一整个花铺满地面,确实不好看,我想让它自动的复制拼合成一大张,再贴上去,这样一个地面,就由N多个这个图案的花铺就的了,这样子才好看些。

其实,在 3DMAX 中看到别人这样弄过,即然 3DMAX 能弄,我们OpenGL ES中也应该能弄,不过具体怎样弄,还不知道。

突然想到上面的那堆让人脑袋大好几圈的纹理参数,最后两行是纹理的S坐标和T坐标,换了所有三个:

+ (void)setTextureParameter {

    // It can be GL_NICEST or GL_FASTEST or GL_DONT_CARE. GL_DONT_CARE by default.
    glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT);
}

结果还是一个样子,具体这些参数是重复什么,还真的搞不清楚。

无耐想到一个损招,说它损,是因为要增加很多的与GPU的交互过程,所以看看效果就行了,最好不用,多用些功夫在研究OpenGL ES本身提供的功能上。

这招就是,人为地把那个面上的三角形进行分组,这个需要设计一个算法,然后贴同样的一张图,纹理坐标不变。

说来,我也不会去试它了,耽误工夫,我还是先用photoshop组出一张来为好,这样涉及OpenGL ES的复杂性降到最低,才能突现出研究目标,避勉引入杂质,影响对进程的判断。

时间: 2024-10-30 21:23:53

OpenGL ES 纹理阵列的实现的相关文章

OpenGL ES 纹理贴图的重复与嵌位概念理解

OpenGL ES 纹理贴图的重复与嵌位概念理解 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下有一篇转载的Android中关于纹理贴图规则的文章,很不多. 不过我这里是想要深入研究如果让

OpenGL ES 纹理参数设置方法 glTexParameter

OpenGL ES 纹理参数设置方法 glTexParameter 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下译自官网. 最近几天,会针对该方法的每个参数,做相应的翻译.分析理解和测试

关于OpenGL ES纹理坐标的具体含义

关于OpenGL ES纹理坐标的具体含义 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 关于OpenGL ES的顶点属性信息,包括几何顶点坐标.纹理坐标和法线坐标. 几何顶点坐标,不用说了,用

OpenGL ES 纹理图片解析第一波 - 无耐地放弃重写这一部分

OpenGL ES 纹理图片解析第一波 - 无耐地放弃重写这一部分 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 重写,意味着有个参照,当然啦,我是参照老罗同志的示例代码. 可是纹理图片解析这

从零开始学习OpenGL ES之六 – 纹理及纹理映射

转自:http://bbs.ityran.com/article-9-1.html [转载]从零开始学习OpenGL ES之六 – 纹理及纹理映射 2011-9-14 23:49| 发布者: Iven| 查看: 9206| 评论: 15 摘要: 图形图像, 编程,编程, OpenGL ES, 教程,OpenGL ES 3D 在OpenGL ES中另一种为多边形定义颜色创建材质的方法是将纹理映射到多边形.这是一种很实用的方法,它可以产生很漂亮的外观并节省大量的处理器时间.比如说,你想在游戏中造一个

通过OpenGL ES混合模式缩放视频缓冲区来适应显示尺寸_Android

当开发基于软件模式的游戏时,通过缩放视频缓冲区来适应显示尺寸是最棘手的问题之一.当面对众多不同的分辨率时(比如开放环境下的Android),该问题会变得更加麻烦,作为开发人员,我们必须尝试在性能与显示质量之间找到最佳平衡点.正如我们在第2章中看到的,缩放视频缓冲区从最慢到最快共有3种类型. 软件模拟:3中类型中最慢,但最容易实现,是没有GPU的老款设备上的最佳选择.但是现在大部分智能手机都支持硬件加速. 混合模式:这种方式混合使用软件模拟(创建图像缓冲区)和硬件渲染(向显示屏绘制)两种模式.这种

OpenGL ES 在 iPad Air 上无法正常运行 - 2.0 和 3.0 到底有多大差异?

OpenGL ES 纹理图片解析第一波 - 无耐地放弃重写这一部分 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 最近刚发布测试版,居然无法旋转.缩放以调整视角!这怎么可能,我天天在看的东西呀

通过OpenGL ES混合模式缩放视频缓冲区来适应显示尺寸

当开发基于软件模式的游戏时,通过缩放视频缓冲区来适应显示尺寸是最棘手的问题之一.当面对众多不同的分辨率时(比如开放环境下的Android),该问题会变得更加麻烦,作为开发人员,我们必须尝试在性能与显示质量之间找到最佳平衡点.正如我们在第2章中看到的,缩放视频缓冲区从最慢到最快共有3种类型. 软件模拟:3中类型中最慢,但最容易实现,是没有GPU的老款设备上的最佳选择.但是现在大部分智能手机都支持硬件加速. 混合模式:这种方式混合使用软件模拟(创建图像缓冲区)和硬件渲染(向显示屏绘制)两种模式.这种

OpenGL ES 在 iOS 平台纹理贴图倒置的问题研究

OpenGL ES 在 iOS 平台纹理贴图倒置的问题研究 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. (一大疑惑,为什么android上关于OpenGL ES 开发的资料很多,确涉及该主题