天天看点

WebGL入门基本概念

WebGL是一套API(Javascript接口),是基于OpenGL ES 2.0。      
其中ES是 Embedded Systems————嵌入式系统      
1.WebGL架构:
OpenGL ——> OpenGL ES ——> WebGL



        
WebGL入门基本概念
2.WebGL坐标系: 本地坐标系 世界坐标系 试图坐标系 剪裁坐标系(二维坐标系,原点为左上角) 3.WebGL术语:
透视摄像机(3D):
角度:45deg/50deg
width/height=4/6(6/9)
n=0.1(1) 近裁剪面
l=1000(>300) 远裁剪面      
其中n与l之间的空间是视锥体,是可见区域。

       
正交摄像机(2D):      
除了n,l,其他没有默认属性      
基本图元:
点,线,线带,三角形面/带/扇    (WebGL只支持三角形面)
OpenGL支持(三角形面和矩形面)

网格模型:3D网格(Mesh)通常叫模型(model)。

灯光:
点光源:point,位置,光照范围,光照强度
平行光源:direction,位置,光照范围,光照强度,光照方向
聚光光源:spot
环境光源:Ambient

材质:网格外观属性,颜色,反射光类型等
纹理(全称:纹理映射 texture map):网格外观的位图

着色器:       
GLSL ES(着色器语言,用于描述三维坐标点和三维图形之间的关系)      
顶点着色器:描述顶点特性(位置,颜色等),顶点指2D/3D空间中的点。
片元着色器:逐片元处理过程,片元简单理解为像素(图像的基本单位)。

GLSL语法&概念:部分强类型语言特性。

变量类型:float,int,bool,隐式转换/显式(强制)转换      
structor & function(和C类似)      
限定字:      
const 常量      
uniform 顶点和片元共享的数据,必须是全局变量,只读,除Array和Structor之外的其他数据类型均可。      
attribute 顶点独有数据,必须是全局变量,变量数据类型为float,vec2-vec4,mat2-mat4,      
varying 由顶点传送给片元的数据,必须是全局变量,需同时在顶点和片元中声明,且数据类型,变量名都必须相同;变量数据类型同attribute。      
声明变量(常量)语法:      
限定字 + 变量类型 + 变量名称(关键字不能用作变量名);      
例:attribute vec4 vertexColor;      

继续阅读