当前位置: 首页 > news >正文

CIMRTS材质美化--放大采样、缩小采样

最新的CIMRTS v1.0.10中在要素管理中的材质美化增加「放大采样」「缩小采样」参数,对于透明树叶可以达到较好效果。

在CesiumLab中,一棵树处理完成后,在EarthSDK中,就是呈现这样缩小就会有树叶丢失的情况。效果如下:

图片

在CIMRTS中通过改变采样参数已经解决了这个问题。效果如下:

图片

如何做到的呢?

首先进入编辑创建的数据集页面,在要素管理页面选中纹理,点击下面的材质美化

图片

打开材质美化的设置面板

图片

决定树叶半透明纹理在缩小时不消失的关键就在最下面的「放大采样」「缩小采样」

图片

图片

这里的采样就涉及到OPENGL中的纹理相关知识,百度一下都有现成的文档说明,在这里就简单说下我的理解吧,这里分放大和缩小两种情况

放大采样

  • NEAREST:最临近点采样,选择中心点最接近纹理坐标的那个像素,这种方式会带来纹理放大的时候会有锯齿感或者颗粒感。

图片

  • LINEAR:线性采样,采样会基于纹理坐标附近的纹理像素,计算出一个平均值,近似出这些纹理像素之间的颜色。这种方式产生的纹理放大效果更加平滑,边缘没有明显的锯齿,视觉效果更为柔和。但是因为与周围的像素做加权平均了,纹理放大的时候会变模糊,这是正常现象。

图片

最后有一点提醒下,由于无需进行复杂的插值计算,GL_NEAREST模式在性能上通常优于GL_LINEAR。

缩小采样

  • NEAREST:和放大采样中的最临近点采样原理一致,在缩小采样中适用于半透纹理(树,栏杆,护栏)。所以示例模型材质缩小采样就是适合这种方式。

图片

  • LINEAR:和放大采样中的线性采样原理一致,在缩小采样中适用于纹理中有很多线的情况

  • NEAREST_MIPMAP_NEAREST :当纹理需要缩小时,会预先计算多个不同分辨率的纹理图像,并选择最接近当前纹理尺寸的Mipmap级别,并使用最临近点采样方法来生成最终的像素颜色。

  • LINEAR_MIPMAP_NEAREST:选择最接近当前纹理尺寸的Mipmap级别,并使用线性插值进行纹理坐标的采样

  • NEAREST_MIPMAP_LINEAR:在两个最匹配像素大小的Mipmap之间进行线性采样,使用最临近点采样方法来生成最终的像素颜色。

  • LINEAR_MIPMAP_LINEAR:CesiumLab一直采用这种,在两个最匹配像素大小的Mipmap之间进行线性采样,并使用线性插值进行纹理坐标的采样。这种采样方式就会导致半透明的贴图丢失。就如文章开始介绍的那棵树模型用CesiumLab处理后在预览缩小时会有树叶消失的情况。

综上所述,针对这棵树模型而言,要效果平滑,另外还要像素颜色正确,可以在纹理被缩小的时候使用最临近点采样(NEAREST),被放大时使用线性采样(LINEAR)

那肯定有人要问在处理不同的模型的时候应该如何去设置这两个参数呢?这个真没有标准答案,其实这个纹理采样的选择也不是完全绝对的,大家可以多试几次,达到最优的情况。

这也就是我们为什么会把这两个参数放到材质美化里面:一般来说使用CIMRTS来处理模型,这两个参数本不必要设置,只是针对特殊的材质(特别是带有半透的纹理),我们处理完再预览的时候发现有问题,才会回到材质美化中来调整效果。

http://www.lryc.cn/news/527201.html

相关文章:

  • P8738 [蓝桥杯 2020 国 C] 天干地支
  • PyCharm接入DeepSeek实现AI编程
  • Java编程语言:辉煌的历史与未来前景
  • 麦田物语学习笔记:保存和加载场景中的物品
  • 页高速缓存与缓冲区缓存的应用差异
  • 深度学习 Pytorch 单层神经网络
  • 一文读懂 HTTP:Web 数据交换的基石
  • 算法知识补充2
  • Vue.js组件开发-实现对视频预览
  • SSM开发(三) spring与mybatis整合(含完整运行demo源码)
  • .NET MAUI进行UDP通信(二)
  • 14-6-3C++STL的list
  • AAAI2024论文解读|HGPROMPT Bridging Homogeneous and Heterogeneous Graphs
  • WPA_cli P2P命令详解及使用
  • 【竞技宝】LPL:IG3-1击败RNG
  • sqlite3 学习笔记
  • Visual Studio Community 2022(VS2022)安装方法
  • 项目集成RabbitMQ
  • 3097. 或值至少为 K 的最短子数组 II
  • Linux 35.6 + JetPack v5.1.4之编译器升级
  • [MoeCTF 2022]ezhtml
  • 活动回顾和预告|微软开发者社区 Code Without Barriers 上海站首场活动成功举办!
  • 使用 Redis List 和 Pub/Sub 实现简单的消息队列
  • 本地项目上传到码云
  • Ansible入门学习之基础元素介绍
  • 大数据治理实战指南:数据质量、合规与治理架构
  • leetcode_链表 234.回文链表
  • [Dialog屏幕开发] 屏幕绘制(下拉菜单)
  • deepseek v1手机端部署
  • CVPR 2024 无人机/遥感/卫星图像方向总汇(航空图像和交叉视角定位)