电子商务网站建设可运用的技术seo怎么优化网站排名
news/
2025/9/29 4:19:41/
文章来源:
电子商务网站建设可运用的技术,seo怎么优化网站排名,淘宝网页版消息在哪里,php wordpress开发教程一、渲染概述
我们首先看到渲染技术的发展 游戏渲染面临的挑战#xff1a; 一个容器中同一时刻有大量的游戏对象需要进行渲染#xff0c;并且不同对象渲染的形式、算法还有所差异#xff0c;这些使得游戏的绘制系统变得非常复杂#xff1b;其次#xff0c;游戏引擎的渲染…一、渲染概述
我们首先看到渲染技术的发展 游戏渲染面临的挑战 一个容器中同一时刻有大量的游戏对象需要进行渲染并且不同对象渲染的形式、算法还有所差异这些使得游戏的绘制系统变得非常复杂其次游戏引擎的渲染还要与当代的硬件适配同时游戏引擎需要保证渲染的稳定性即使进入非常巨大复杂的场景也要在至少1/30ms内完成绘制随着玩家需求的提高这一时间甚至可能被缩短到1/60ms、1/120ms之内游戏引擎的渲染还要考虑到可用的计算资源一般渲染可用资源只能占到百分之十左右还需预留资源用于GamePlay等系统。
二、渲染流水线
这一过程将一个个顶点数据进行投影Projection、光栅化Rasterization形成许多像素点许许多多的像素点便组成了我们看到的画面。
2.1 着色
在着色的时候我们会对某些常量/变量进行访问比如说屏幕长和宽的像素数量会进行一些数学运算比如计算光照时寻找法线的位置以及光线的衰减程度还会进行纹理采样等计算。
2.2 纹理采样Texture Sampling
为了防止走样现象也就是为了防止在游戏中当我们的视角由近及远移动时产生的画面抖动我们会在层级与层级之间进行插值还会在每个层级中的相邻像素点之间进行插值构成多级渐远纹理Mipmap。
2.3 GPU的概念
对于图形程序中的复杂计算我们交由另一独立硬件处理——GPU也正是GPU不断的发展进步才有了现在越来越精致的画面。
SIMD and SIMT
SIMD指单指令多数据流Single Instruction Multiple Data一般是用于处理矩阵变换等复杂运算SIMT指单指令多线程Single Instruction Multiple Threads,一条指令交由多个线程处理这即是GPU算力远高于CPU的原因 2.4 GPU Architecture
图形处理集群Graphics Processing Cluster用于计算、光栅化、着色、纹理处理的专用硬件块流式多核处理器Streaming Multiprocessor作为GPU的一个组成部分用于运行CUDA纹理单元Texture Units用于采样和过滤纹理的纹理处理单元CUDA核心 允许不同处理器同时处理数据的并行处理器 2.5 CPU到GPU的数据流
数据在不同的运算单元之间读取传输是十分消耗资源的所以一般只让数据由CPU单向流动到GPU。
2.6 缓存Cache
我们在存放数据时一般集中存放就是为了便于缓存的读取即缓存命中数据Cache hit若缓存不断的无法读取数据Cache miss不断的重新读取将会大大降低处理的效率。 现代计算机的结构就是一条流水线每一个环节的效率低下都可能限制整体的表现。
一个应用的表现就受限于
内存算术逻辑单元纹理贴图带宽
三、Renderable可渲染对象
3.1 Mesh 起初的网格体数据储存方式并不高效它储存每个点的位置法线朝向等属性进而储存每三个点组成的三角形的数据而这一个个三角形的数据便构成了这个网格体的数据。 因为每个顶点是由多个三角形公用的所以我们可以通过只储存每个顶点的数据和对应的索引值绘制三角形时根据索引值顺序绘制来提高效率。 为什么每个顶点都需要定义法线方向 当绘制表面有折线时可能会出现顶点位置一样但法线方向完全不同的情况所以每个顶点都需要定义法线方向。 3.2 Materials 材质决定了物体的外观和被光线照射时的表现 比较著名的材质模型有Phong Model、PBR Model等等 3.3 纹理Texture是材质的一种非常重要的表达方式 3.4 着色器Shaders也是Renderable对象的一个重要组成部分
四、渲染方程
1986年元老级人物James Kajiya提出了渲染方程式这一方程可抽象概括所有的渲染计算。 渲染方程式表明经过任意点x反射到观察点中的辐射通量由x点自身发光和其他点反射到x点的辐射通量组成其中其他点反射到x点的光照又可分为直接光照和间接光照。
4.1 面临的挑战 1.阴影Shadow是我们判断物体空间关系的重要条件我们该如何模拟出真实的阴影呢 光源的复杂性光源有点光源、方向光源、面光源等不同种类在实际应用中光照强度也有所不同。 radiance指光照射到物体上反射出的能量而irradiance则指入射的能量。 如何高效的对双向反分布函数BRDFBidirectional Reflectance Distribution Function和入射辐射率的乘积进行积分。因为光可以反射所以全局范围内任何一个物体都可以作为光源即一束Output的光下一次可能作为Input输入这样形成了一个递归的过程典型案例Cornell Box。
五、简易光照解决方案
5.1 光源的简化 我们使用方向光源、点光源、锥形光源等作为Main Light取Ambient Light作为除主光外的环境光的均值以此简化复杂的计算。 对于能够反射环境的材质我们可以设计一种环境贴图通过采样环境数据来表现 5.2 材质的简化 基于一个光照可以线性叠加的假设在渲染方程式中也有用到Blinn-Phong模型通过叠加Ambient环境、Diffuse漫反射、和Specular高光来简单粗暴的描述材质的着色计算 当然Blinn-Phong模型也有缺陷。
能量不保守使用Blinn-Phong模型的出射光照能量可能大于入射光照的能量这在计算光线追踪时会带来很大的问题这一过程在光线追踪中经过无限次反弹后会使得本该暗的地方变得过于明亮。难以表现真实的质感Blinn-Phong模型虽然比较经典但它却很难表现出物体在真实世界中的模样总是有一种”塑料“感。
5.3 阴影的简化 Shadow简单说来就是人眼可见区域中光线无法照到的地方。在过去十几年中对于Shadow最常见的处理方式便是Shadow Map Shadow Map的思想可以简单概括为第一次先在光源处放置相机以z-buffer的方式储存一张对应的深度缓冲第二次将相机放置在观察的位置并将视锥内的点的深度和深度缓冲中的对应点三维坐标转换为二维坐标后在平面坐标系中对应的点的深度进行对比若前者大于后者则认为视锥中的点处于阴影中 Shadow Map在使用时也会出现问题光源处的采样率和观察处的采样率不一样会出现走样最经典的就是处理精细结构时的自遮挡问题 到这里我们就实现了对于三个挑战的一个简易光照解决方案
六、基于预计算的全局光照
只用直接光照会使得场景的平面感很强而使用全局光照直接光照间接光照能很大程度上的还原真实情况 如何表现全局光照
我们需要储存数以万计的光照探测器因此我们需要一个很好的压缩比率材质的BRDF卷积运算涉及到复杂的多项式积分运算我们需要利用数学方法简化积分运算
6.1 卷积定理Convolution Theorem
对于空间域中的一个数字信号下图以照片为例我们可以通过傅里叶变换将其转化为频率域的一段频率截取频率的一小段就可以实现对频率整体的一个粗糙的表达这时我们再通过反向傅里叶变换就可以得到原数字信号的大概情况。通过这一数学性质我们不需要再去进行复杂的乘积累加和运算 6.2 球谐函数Spherical Harmonics
球谐函数就是一组基函数的集合并且基函数越多它的表达能力就越强我个人理解就是回归性越强
球谐函数有以下性质
正交性这些基函数卷积在一起时值为0 球谐函数的二阶导数为0它的图像变换是光滑的 使用球谐函数我们就可以通过一阶多项式近似的表达一个球面光照低频信号 6.3 Lightmap 有了球谐函数这一便捷工具我们就可以将许多几何物体拍下存放在一张贴图上这张贴图通常被称为“atlas”这一过程又分为几个步骤
首先我们需要将几何物体进行简化而后在参数空间内为每个几何物体分配近似的texel精度 下面我们在场景内加入全局光照就可以表现出非常真实的效果 相应的使用Lightmap有以下优缺点
Pros1.实时运行效率很高2.可以表现出全局光照的许多细节 Cons1.漫长的预计算时间2.只能处理静态的场景和静态的光照3.内存换时间占用空间较大
6.4 Light Probe 我们可以在空间内放置许多采样点对于每个采样点采集其对应的光场当有物体移动经过某一采样点时通过寻找附近的采样点并计算插值就可以得到该采样点的光照 那么这么多的采样点我们该如何生成呢我们首先在空间内均匀的产生采样点再根据玩家的可到达区域和建筑物的几何结构进行延拓相对均匀的分布采样点 6.5 Reflection Probe 我们还会做一些数量不多但采样精度非常高的Reflection Probe用于表现环境一般它们与Light Probe分开采样 综合使用Light Probes和Reflection Probes我们已经可以实现一个不错的全局光照的效果它给我们带来以下好处
实时运行效率很高既可以处理动态物体又可以处理静态物体并且可以实时更新既可以处理漫反射也可以处理镜面着色
当然它也有一些缺陷
大量的Light probes需要我们进行预计算相比于Lightmap它对于全局光照和重叠部分的软阴影的细节处理精度较低
七、基于物理的材质PBR
7.1 微平面理论Microfacet Theory 这一理论的思想可以概括为一个平面表面的光滑程度取决于它的法向量的聚集度法向量全都集中在一起时它的反光就相对较好 7.2 基于微平面理论的BRDF模型 通过微平面理论我们可以将BRDF分为两部分一部分是漫反射diffuse这一部分的积分值为c/Πc取决于入射的能量另一部分则是高光spectual在该部分中引入了CookTorrance模型其中DFG模型是CookTorrance模型中的核心元素。漫反射和高光的区别在于材质是金属还是非金属金属中的电子能够吸收光子它的高光就比较明显而非金属中的电子不能吸收光子光子只能在其内部进行一系列的漫反射 DFG模型中的D指法向分布方程Normal Distribution Function、F指菲涅尔现象Fresnel Equation、G指微表面几何内部的自遮挡Geometric attenuation term 7.3 MERl BRDF 为了便于艺术家们的使用引擎工作者们对大量现实物体采样构造出了MERL BRDF数据库其中包含大量材质的BRDF参数 7.4 PBR主流模型
Specular GlossinessSG这个模型中Diffuse控制漫反射部分Specular控制菲涅尔现象Glossiness控制材质的光滑程度。这一模型的参数设置较少便于艺术家们使用但也因其过于灵敏而容易导致奇怪的现象 Metallic RoughnessMR这一模型中首先设置一个Base Color而后通过金属度Metallic来控制Diffuse和菲涅尔现象。仅调节金属度虽然使得灵活度下降了但却不容易出问题这也使得MR模型现今被更多的使用
八、 基于图像的光照(IBL)
如果能给对环境光照进行提前的处理我就能计算出环境光对场景中物体的影响。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921421.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!