zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    程序员的基本修养之二
    jQuery学习之二
    面向对象程序的设计模式
    Mysql的复杂语句
    养成良好的做事风格
    前端模板学习bootstrap
    23. Merge k Sorted Lists
    953. Verifying an Alien Dictionary
    Daily Coding Problem: Problem #541
    396. Rotate Function
  • 原文地址:https://www.cnblogs.com/honghong87/p/8940129.html
Copyright © 2011-2022 走看看