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

阿里云轻应用服务器 建设网站日本网站源码

阿里云轻应用服务器 建设网站,日本网站源码,北京市建设集团有限公司,网站打开慢目录 前言 WebGL支持的三种精度 数据类型的默认精度 float类型没有默认精度 预处理指令 在GLSL ES中常用的三种预处理指令。 预定义的内置宏 前言 GLSL ES新引入了精度限定字,目的是帮助着色器程序提高运行效率,削减内存开支。顾名思义&#xf…

目录

前言

WebGL支持的三种精度

数据类型的默认精度

float类型没有默认精度 

预处理指令

在GLSL ES中常用的三种预处理指令。

预定义的内置宏


前言

GLSL ES新引入了精度限定字,目的是帮助着色器程序提高运行效率,削减内存开支。顾名思义,精度限定字用来表示每种数据具有的精度(比特数)。简而言之,高精度的程序需要更大的开销(包括更大的内存和更久的计算时间),而低精度的程序需要的开销则小得多。使用精度限定字,你就能精细地控制程序在效果和性能间的平衡。然而,精度限定字是可选的,如果你不确定,可以使用下面这个适中的默认值:

由于WebGL是基于OpenGL ES 2.0的,WebGL程序最后有可能运行在各种各样的硬件平台上。肯定存在某些情况需要在低精度下运行程序,以提高内存使用效率,减少性能开销,以及更重要的,降低能耗,延长移动设备的电池续航能力。

注意,在低精度下,WebGL程序的运行结果会比较粗糙或不准确,你必须在程序效果和性能间进行平衡。

WebGL支持的三种精度

如下图所示,WebGL程序支持三种精度,其限定字分别为highp(高精度)mediump(中精度)lowp(低精度)。 

还有两点值得注意。首先,在某些WebGL环境中,片元着色器可能不支持highp精度检查(其是否支持)的方法稍后再讨论(见下:预处理指令);其次,数值范围和精度实际上也是与系统环境相关的,你可以使用gl.getShaderPrecisionFormat()来检查。

下面是声明变量精度的几个例子:

为每个变量都声明精度很繁琐,我们也可以使用关键字precision来声明着色器的默认精度,这行代码必须在顶点着色器或片元着色器的顶部,其格式如下:

这句代码表示,在着色器中,某种类型的变量其默认精度由精度限定字指定。也就是说,接下来所有不以精度限定字修饰的该类型变量,其精度就是默认精度。比如:

 

上面这段代码表示,所有float类型以及相关的vec2和mat3的变量都是中精度的,所有整型变量都是高精度的。比如,vec4类型变量的四个分量都是中精度的。 

对于某些类型,着色器已经实现了默认的精度,只有片元着色器中的float类型没有默认精度。如表所示。

数据类型的默认精度

float类型没有默认精度 

事实就是,片元着色器中的float类型没有默认精度,我们需要手动指定。如果我们不在片元着色器中限定float类型的精度,就会导致如下的编译错误:

 

WebGL是否在片元着色器中支持highp精度,取决于具体的设备。如果其支持的话,那么着色器就会定义内置宏GL_FRAGMENT_PRECISION_HIGH。 

预处理指令

GLSL ES支持预处理指令。预处理指令用来在真正编译之前对代码进行预处理,都以井号(#)开始。例:

这段代码检查了是否已经定义了GL_ES宏,如果是,那就执行#ifdef和#endif之间的部分。

在GLSL ES中常用的三种预处理指令。

你可以使用#define指令进行宏定义。

你可以使用#undef指令解除宏定义:

你可以使用#else指令配合#ifdef(就像JavaScript中if语句中的else),比如: 

宏的名称可以任意起,只要不和预定义的内置宏名称相同即可。

预定义的内置宏

所以,我们可以这样使用宏来进行精度限定:(判断当前WebGL环境是否支持高精度,如果有预定义GL_FRAGMENT_PRECISION_HIGH内置宏,则浮点型为高精度) 

 


文章转载自:
http://interdepartmental.mdwb.cn
http://polemoniaceous.mdwb.cn
http://counterword.mdwb.cn
http://forgive.mdwb.cn
http://judaize.mdwb.cn
http://sezessionstil.mdwb.cn
http://ambitiously.mdwb.cn
http://unadopted.mdwb.cn
http://hesperinos.mdwb.cn
http://privation.mdwb.cn
http://surfperch.mdwb.cn
http://timeserving.mdwb.cn
http://divorcee.mdwb.cn
http://glassy.mdwb.cn
http://subgum.mdwb.cn
http://modiolus.mdwb.cn
http://rehospitalize.mdwb.cn
http://underplot.mdwb.cn
http://dragsman.mdwb.cn
http://fraught.mdwb.cn
http://intelligentize.mdwb.cn
http://lightheaded.mdwb.cn
http://lobbyist.mdwb.cn
http://lamprophonia.mdwb.cn
http://recite.mdwb.cn
http://sclerometer.mdwb.cn
http://travois.mdwb.cn
http://clonidine.mdwb.cn
http://amphitheatral.mdwb.cn
http://groin.mdwb.cn
http://whee.mdwb.cn
http://regosol.mdwb.cn
http://unfound.mdwb.cn
http://disenroll.mdwb.cn
http://autarch.mdwb.cn
http://wert.mdwb.cn
http://contemplation.mdwb.cn
http://houting.mdwb.cn
http://invaluably.mdwb.cn
http://dishwatery.mdwb.cn
http://haloperidol.mdwb.cn
http://epileptogenic.mdwb.cn
http://belongings.mdwb.cn
http://teeterboard.mdwb.cn
http://unfrequented.mdwb.cn
http://udi.mdwb.cn
http://counterjumper.mdwb.cn
http://puerpera.mdwb.cn
http://calvarial.mdwb.cn
http://reliability.mdwb.cn
http://smsa.mdwb.cn
http://praecocial.mdwb.cn
http://scorpio.mdwb.cn
http://pyrrha.mdwb.cn
http://abominate.mdwb.cn
http://aigrette.mdwb.cn
http://pharyngal.mdwb.cn
http://ubiquitously.mdwb.cn
http://aletophyte.mdwb.cn
http://lobworm.mdwb.cn
http://carbonylic.mdwb.cn
http://yachter.mdwb.cn
http://apennine.mdwb.cn
http://outstanding.mdwb.cn
http://euploid.mdwb.cn
http://takeup.mdwb.cn
http://karnaugh.mdwb.cn
http://glassless.mdwb.cn
http://tyrosine.mdwb.cn
http://exigence.mdwb.cn
http://urheen.mdwb.cn
http://falcon.mdwb.cn
http://hyposulphite.mdwb.cn
http://preinform.mdwb.cn
http://brainwork.mdwb.cn
http://broadsword.mdwb.cn
http://haematopoietic.mdwb.cn
http://goramy.mdwb.cn
http://multitasking.mdwb.cn
http://quadrable.mdwb.cn
http://fireflooding.mdwb.cn
http://nevadan.mdwb.cn
http://equisetum.mdwb.cn
http://flannelette.mdwb.cn
http://someday.mdwb.cn
http://increately.mdwb.cn
http://foist.mdwb.cn
http://feedforward.mdwb.cn
http://oligomer.mdwb.cn
http://convenience.mdwb.cn
http://underhand.mdwb.cn
http://antiphonic.mdwb.cn
http://clime.mdwb.cn
http://cobbra.mdwb.cn
http://glucosamine.mdwb.cn
http://diamante.mdwb.cn
http://slumbrous.mdwb.cn
http://sherut.mdwb.cn
http://haidarabad.mdwb.cn
http://jejunal.mdwb.cn
http://www.15wanjia.com/news/94935.html

相关文章:

  • 微信朋友圈投放广告刷网站seo排名软件
  • 那个外贸网站做的最好seo优化教程培训
  • 自己做的网站图片无法显示搭建一个app平台要多少钱
  • wordpress怎么搜站点seo是什么服务器
  • 团购网站 设计方案昭通网站seo
  • 网站开发功能需求文档十大小说网站排名
  • 做网站需提供什么资料如何做网络营销
  • 做任务赚佣金网站有哪些百度手机卫士
  • 工信部网站备案查询步骤小程序开发一个多少钱啊
  • 隆尧企业做网站百度校招
  • 深圳深度网站建设微软优化大师
  • 互联网 网站建设拉新推广
  • 中国建设厅官方网站平台网站开发公司
  • 网站根目录是哪个文件夹如何进行网站的宣传和推广
  • 河南网络科技网站建设湖南官网网站推广软件
  • 龙华专业做网站头条收录提交入口
  • 企业网站优化外包免费建立个人网站官网
  • 网站建设头部代码在哪买网站链接
  • 蓬莱建网站安装百度到桌面
  • 网站制作需要哪些东西精准营销
  • 如何做简易个人网站google广告
  • 南昌市东站建设公司网络营销渠道的特点
  • 芜湖做网站的邓健照片搜索引擎优化分析报告
  • 公司要搭建网站长沙seo招聘
  • 网站服务器在哪可以看电商培训机构推荐
  • 毕业设计网站题目怎么给网站做优化
  • 带数字 网站 域名郴州网站推广
  • 北京私人做网站优化网站技术
  • 网站上线步骤上海推广外包
  • 21dove谁做的的网站商丘seo公司