穿越火线内部辅助_WebGL 基础知识

http://www . Sina.com/OpenGL-OpenGL es-OpenGL es 2.0-web GL

穿越火线内部辅助_WebGL 基础知识

OpenGL Embeded Subset是OpenGL的子集,可为嵌入式和移动端提供功能简化和性能优化

WebGL以OpenGL ES 2.0标准为基础,默认情况下,将原始C语言的API和配置项迁移到Javascript,消除不兼容的部分

web GL 2.0基于OpenGL ES 3.0

背景介绍

穿越火线内部辅助_WebGL 基础知识

渲染管道(PipeLine)

初始化数据(使用3D建模工具等生成的模型顶点)

Vertex Array: 顶点数组

计算坐标、颜色等顶点相关数据,相关概念:

Samplers:是计算Uniforms:所需的常量数据,是从Attributes:顶点数组中获取的每个顶点的初始数据,表示材质(Texture)的特殊常量,顶点明暗器是可选的shaderprogram 3360明暗器程序。用明暗器语言(与C语言相似的Shading Language)编写的可执行程序代码指定了Varying Variables 3360 Vertex Shader的输出需要对顶点进行哪些计算和处理,从而指定了每个计算出的顶点相关数据attribute vec4 a_Position

属性vec4 a _ Color

Uniform mat4 u _ MvpMatrix

Varying vec4 v _ Color

Void main() {

GL _ position=u _ MVP matrix * a _ position;

V _ Color=a _ Color

}

Vertex Shader: 顶点着色器

根据计算出的顶点信息和绘制命令,绘制基本图形,包括:三角形(Triangle)、直线(Line)、点(Point-Sprite)。通常,3d图形由三角形组成

Primitive Assemply: 图元组装

使用“插值”(interpolation)方法计算顶点之间的边和边之间的内部点的数据。计算出的数据将作为输入传递给Fragment Shader,其中需要绘制的所有像素点都将被传递给Fragment Shader

穿越火线内部辅助_WebGL 基础知识

通常,在栅格化之前需要裁剪(clipping,删除可见区域范围之外的点)。卷曲,背部朝向可见的方向,通过去除完全不可见的面来减少计算量

Rasterization: 栅格化

在此阶段,您可以应用材质(Texture)逐像素处理颜色,相关概念:

Varying Variables:栅格化的结果是计算每个计算像素点相关数据Uniforms:所需的常量数据Samplers:表示材质(Texture)的特殊常量shaderprogram 3360着色器程序。使用着色器语言(类似于C语言的Shading Language)编写的可执行程序代码指定了必须在像素点执行的计算和处理方法。varying vec4 v _ Color

Void main() {

Gl _ FragColor=v _ Color

}

Fragment Shader: 片段着色器, 像素着色器

对像素执行一些可选后处理

穿越火线内部辅助_WebGL 基础知识

Scissor test:将矩形区域限制为仅更新像素stencil test:像素级遮罩(stecil buffer),定义更新哪些遮罩区域,默认情况下不更新depth test:处于打开状态,测试像素深度,确定哪些像素3358wh

GL Context可以有多个帧缓存,用于存储可渲染区域中与像素相关的数据

Per-Fragment Operations: 逐像素处理

通常,将坐标变换应用于顶点明暗器,以计算每个顶点的最终坐标位置

穿越火线内部辅助_WebGL 基础知识

Framebuffer: 帧缓存

指通过算法或建模软件生成模型时的坐标系,通常使用模型本身的中心点作为坐标原点

穿越火线内部辅助_WebGL 基础知识

坐标变换 图形变换

通过平移、旋转、缩放等图形转换方法,将模型放置在较大的坐标系中

穿越火线内部辅助_WebGL 基础知识

本地坐标系(local coordinate system)

所有图形转换都可以用矩阵表示。不同变换的叠加可以用矩阵乘法计算。是的

    • 2会员总数(位)
    • 4266资源总数(个)
    • 7本周发布(个)
    • 0 今日发布(个)
    • 1523稳定运行(天)

    365卡盟提供最优质的游戏辅助