webgl GLSL 内置函数 webgl GLSL 内置函数float abs(float x) 此函数会返回x的无符号绝对值,即如果x大于0则返回x,否则返回-x。 float sign(float x) 此函数又称为符号函数,如果x>0返回1.0,如果x=0返回0.0,否则返回-1.0 float floor(float x)向下取整。 float ceil(float x)向上取整。 float 2024-11-06 webgl
webgl 纹理贴图 webgl 纹理贴图在三维图形学中,有一项很重要的技术就是:就是将一张图像(就像一张贴纸)映射(贴)到一个几何图形的表面上去。这就是纹理映射(texture mapping)。此时,这张图片又可以称为纹理图像(texture image)或纹理(texture)。 纹理坐标 纹理坐标是纹理图像上的坐标,通过纹理坐标可以在纹理图像上获取纹素颜色。WebGL 系统中的纹理坐标系统是二维的。为了将纹理 2024-11-06 webgl
webgl 中 drawArrays 和drawElements webgl 中 drawArrays 和drawElements使用 drawArrays 绘制正方形1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787 2024-11-06 webgl
webgl 反射天空球 webgl 反射天空球下面图片的场景中,湖水把天空的云朵,晚霞都反射出来了。现在我们也来模拟一下这个场景,天空球之前已经实现了。 这次要实现的效果,如下图所示,正方体表面是光滑的,可以反射天空球中的图像。 在绘制天空盒的时候,摄像机在盒子内部,所以需要看到盒子里面,可以使用 gl.cullFace(gl.FRONT) 删除外面 当绘制正面正方体的时候,而箱子在摄像机外部,正常情况要 2024-11-06 webgl
webgl 图元 webgl 图元WebGL有七中绘制图形的方式 gl.POINTS gl.LINES gl.LINE_STRIP gl.LINE_LOOP gl.TRIANGLES gl.TRIANGLE_STRIP gl.TRIANGLE_FAN 归纳起来技术三种基本图形元素:点、线段、三角形。 假如依次传入v0,v1,v2,v3,v4,v5六个顶点 gl.POINTS:依次画六个顶点 gl.LINE 2024-11-06 webgl
webgl 的 attribute、 uniform 、 vary 变量 webgl 的 attribute、 uniform 、 varying变量webgl 中可以使用 attribute、 uniform 、 varying给 Shader 传参 。 关键字(变量类型) 数据传递 声明变量 attribute javascript——>顶点着色器 声明顶点数据变量 uniform javascript——>顶点、片元着色器 声 2024-11-06 webgl
webgl 着色器 webgl 着色器要使用 WebGL 进行绘图就必须使用着色器。 WebGL 需要两种着色器。 顶点着色器(Vertex shader)∶顶点着色器是用来描述顶点特性(如位置、颜色等) 的程序。顶点(vertex)是指二维或三维空间中的一个点,比如二维或三维图形的端点或交点。 片元着色器(Fragment shader)∶进行逐片元处理过程如光照(的程序。片元(fragment)是一个WebGL 2024-11-06 webgl
冯氏光照模型-yee的MacBook Pro 冯氏光照模型现实生活中的光照效果是得长复杂的,要精确模拟这种效果是不现实的,所以需要一种能够近似现实光照效果的简化模型。比较著名的是冯氏光照模型(Phong Lighting Model)。 在冯氏光照模型中,生活中的光照有三种类型:环境光(Ambient)、漫反射(Diffuse)和镜面高光(Specular) 1总光照效果 = 环境光 + 漫反射 + 镜面高光 环境光某些光从光源发出 2024-11-06 webgl
冯氏光照模型 冯氏光照模型现实生活中的光照效果是得长复杂的,要精确模拟这种效果是不现实的,所以需要一种能够近似现实光照效果的简化模型。比较著名的是冯氏光照模型(Phong Lighting Model)。 在冯氏光照模型中,生活中的光照有三种类型:环境光(Ambient)、漫反射(Diffuse)和镜面高光(Specular) 1总光照效果 = 环境光 + 漫反射 + 镜面高光 环境光某些光从光源发出 2024-11-06 webgl
基本的矩阵变换:旋转、平移、缩放 基本的矩阵变换:旋转、平移、缩放矩阵变换时,一定要注意以下三点: 所使用的向量是行向量还是列向量。 如果是行向量,按照数学领域中矩阵相乘的规则,向量要放在左侧相乘。 如果是列向量,向量要放在右侧相乘。 矩阵是行主序还是列主序。 如果是行主序,内存存储矩阵的数组的前四个元素表示的是对应数学矩阵的第一行 如果是列主序,内存存储矩阵的数组的前四个元素表示的是对应数学矩阵的第一列 多个矩阵变 2024-11-06 webgl