webgl 初识1

1.  webgl是什么?

   WebGL其实是一个非常简单的API。好吧,“简单”可能是一个不恰当的描述。 它做的是一件简单的事,它仅仅运行用户提供的两个方法,一个顶点着色器和一个片断着色器,

     去绘制点,线和三角形。虽然做三维可以变得很复杂,但是这种复杂只是作为程序员的你, 是一种复杂形式的“着色器”。WebGL API只做光栅化处理并且在概念上十分容易理解。

2. 怎么调用webgl?

    通过program(着色程序)

    WebGL在电脑的GPU中运行。因此你需要使用能够在GPU上运行的代码。 这样的代码需要提供成对的方法。每对方法中一个叫顶点着色器, 另一个叫片断着色器,并且使用一种和C或C++类似的强类型的语言 GLSL

    (GL着色语言)。 每一对组合起来称作一 个 program(着色程序)。

3 webgl怎么工作?

   着色器分为顶色着色器和片段着色器,各司其职

   顶点着色器的作用是计算顶点的位置。根据计算出的一系列顶点位置,WebGL可以对点, 线和三角形在内的一些图元进行光栅化处理。

   当对这些图元进行光栅化处理时需要使用片断着色器方法。

   片断着色器的作用是计算出当前绘制图元中每个像素的颜色值。

   先假设下,你想画很多三角形要怎么处理? 

   方法有很多,但基本上不变的是 先设置(顶点)数据,然后draw(三角形).

   想要webgl渲染的话,同样需要做这些工作

   设置数据

         每个顶点,包含了删格化需要的一切数据(包括位置,法向量,纹理坐标,顶点颜色值等)

         先思考个问题,想要对所有的顶点都有效,怎么办呢? 答案全局变量

         即然webgl是一个删格化的引擎,那顶点就是核心,因为它提供了删格化的一切数据. 数据才是核心

   draw

        设置好数据后,就可以开始让"gpu"工作,drawArrays/drawElements

   先介绍到这里,后面在慢慢介绍,一边写博客一边学习

  https://webglfundamentals.org/webgl/lessons/zh_cn/webgl-fundamentals.html

原文地址:https://www.cnblogs.com/honghong87/p/8940129.html