uniform 表示一次渲染过程中保存不变的,GPU的工作模式是多管道的,相当于一个像素点对应着一个管道,
    当然并不是说有这么多管道,只是表示他是一一对应并且一起处理;那么把整个屏幕处理时uniform       是持不变的

attribute 表示是实时在改变的,比如通常我们用了存放顶点,和颜色

varying 用来着色器之间的通讯,也就是顶点着色器和片段着色去之间的桥梁;比如你要传一个顶点颜色,你需要在两个着色

器里声明一个变量,然后你把颜色传入到顶点着色器中,并在main()函数里赋值,这才能把赋值给你声明的varying vec4 color

但是他们并不是一个变量;如下:

<script id="vs" type="x-shader/x-vertex"> attribute vec3 position; attribute vec4 color; uniform mat4 mvpMatrix; varying vec4 vColor; void main(void){ vColor = color; gl_Position = mvpMatrix * vec4(position,1.0); } </script> <script id="fs" type="x-shader/x-fragment"> precision mediump float; varying vec4 vColor; void main(void){ gl_FragColor = vColor; } </script> </head>

webgl中uniform、varying、attribute的差别相关推荐

  1. webgl中解决深度冲突-多边形偏移

    1.webgl中解决深度冲突-多边形偏移 1.什么是深度冲突? 就是当几何图形或者物体的两个表面极为接近时,就会使得表面看上去斑斑点点,这种现象就是 深度冲突. 看看这个缓冲区渲染出的效果 缓冲区数据 ...

  2. C#中Property和Attribute的区别

    Attribute 字段 Property 属性(get;set;) 属性的正常写: private string name; public string Name { get { return na ...

  3. webgl限制帧率_也聊webgl中的大场景性能优化

    随着项目越来越复杂,很多对大场景渲染支持已经成为了"刚需".但是,对于很多经验有限的同学,似乎找不到相关思路.那么,我们就来聊聊,如何进行 webgl 的性能优化. 首先性能优化是 ...

  4. 解决PyCharm中报出 “Instance attribute xxx defined outside __init__“ 的警告

    解决 PyCharm 中报出 "Instance attribute xxx defined outside \_\_init\_\_" 的警告 问题描述: Pycharm 提示 ...

  5. DOM中Property与Attribute的区别

    property和attribute的汉语翻译几乎相同,都有"属性"的意义(这里姑且称attribute为"特性",以方便区分),而他们的取值也经常相同,但有时 ...

  6. JavaScript 中 Property 和 Attribute 的区别

    转自:http://www.cnblogs.com/elcarim5efil/p/4698980.html property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(pro ...

  7. Python中uniform的用法

    Python中uniform的用法 作为python初学者,在网上找uniform的用法时收集到一些知识.下面将我遇到的uniform的用法进行演示. 1.只输出一个随机数 import random ...

  8. SuperMap iClient3D for WebGL中加载地方天地图

    作者:taco 在实际的场景应用中,通常都会在场景中添加一些底图.官网示例中已经包含了本地底图,iserver发布的底图,必应底图等.但是这些底图的清晰度并不能满足大部分人的需求.这时候我们就选择到了 ...

  9. GLSL中Uniform块

    Uniform块 当着色器程序变复杂时,用到的uniform变量数量也会上升.通常会在多个着色器程序中用到同一个uniform变量.由于uniform变量的位置是着色器链接的时候产生的(也就是glLi ...

最新文章

  1. [Android Pro] 精确记录和恢复ListView滑动位置
  2. centos6.5下升级gnutls
  3. [How TO]-ubuntu下快速搭建http
  4. 3种设计模式java小程序_Java设计模式之单例模式(3种实现方式)
  5. ASP.NET Core 生成验证码
  6. spring-mvc教程_使用MVC模式制作游戏-教程和简介
  7. 微信小程序服务器域名修改生效时间,微信小程序修改request合法域名不生效及解决方法...
  8. 一个脚本就能明白Shell 脚本中的位置参数的含义
  9. oracle数据库dblink创建语句_「运维实验」——达梦数据库间DBlink配置
  10. oracle 11g r2 rac中节点时间不同步,Oracle 11gR2 安装RAC错误之--时钟不同步
  11. cpu爆了怎么排查和处理_CPU飙高,系统性能问题如何排查?
  12. 第一个应用成功上架了-武林世界
  13. 服务器自带raid功能吗,服务器的 RAID 功能介绍
  14. ISO50001认证咨询,新版标准更加强调持续改进能源绩效主要体现在以下方面
  15. 问题解决:com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H'
  16. 2021年下半年软考系统集成项目管理工程师真题及答案解析
  17. 数据分析实战(五)基于R语言的Kmean聚类分析实战
  18. WPF 实现无边框窗口两种方法
  19. Spring Data JPA 之 理解 Persistence Context 的核心概念
  20. 【C4】【搜索】拔河比赛

热门文章

  1. 在Ubuntu19.04下安装Aria2与Aria2WebUI AriaNg
  2. rabbitMQ初识及其入门
  3. Spring面试题汇总3:SpringBoot面试题及答案整理
  4. 在全国断网的情况下我们如何上网?
  5. AspNet控件开发(1)---入门介绍
  6. 【Effection C++】读书笔记 条款32~条款33
  7. (四)研发阶段(包括医疗领域等各种领域)涉及DHF、DMR、DHR 、LHR、FMEA、SFMEA等标准规范。
  8. 开一家咖啡店应具备什么
  9. 用Python绘制词云图——表白为我们拼过命的白衣天使
  10. 小学生学Arduino-------初始物联世界