zoukankan      html  css  js  c++  java
  • WebGL中的函数及内置属性介绍

    initShaders()//对字符串形式的着色器进行初始化

    initShaders(gl,vshader,fshader)
    在WebGL系统内部建立和初始化着色器
    参数 gl 指定渲染上下文
    vshader 指定顶点着色器程序代码(字符串)
    fshader 指定片原着色器程序代码(字符串)
    返回值 true 初始化着色器成功
    false 初始化着色器失败

    gl.drawArrays()是一个强大的函数,他可以用来描绘各种图形

    gl.drawArrays(mode,first,count)
    执行顶点着色器,按照mode参数指定的方式描绘图形
    参数 mode 指定的绘制的方式,可以接收以下常量符号:gl.POINTS,gl.LINES,gl.LINE_STRIP,gl.LINE_LOOP,gl.TRIANGLES,gl.TRIANGLE_STRIP,gl.TRIANGLE_FAN
    first 指定从哪个顶点开始绘制(整型数)
    count 指定绘制需要用到多少个顶点(整型数)
    返回值  
    错误 INVALID_ENUM 传入的mode参数不是前述参数之一
    INVALID_VALUE 参数first或count是负值

    gl.getAttribLocation()//获取attribute变量的储存位置

    gl.getAttribLocation(program,name)
    获取由name参数指定的attribute变量的储存地址
    参数 program 指定包含顶点着色器和片原着色器的色器程序对象
    name 指定想要获取其储存地址的attribute变量的名称
    返回值 大于等于0 attribute变量的储存地址
    -1 指定的attribute变量不存在,或者其命名具有gl_或webgl_前缀
    错误 INVALID_OPERATION 程序对象未能成功连接
      INVALID_VALUE name参数的长度大于attribute变量名的最大长度(默认256字节)

    gl.vertexAttrib3f()//向attribute变量赋值

    gl.vertexAttrib3f(location,v0,v1,v2)
    将数据(v0,v1,v2)传给由location参数指定的attribute变量
    参数 location 指定将要修改的attribute变量的储存位置
    v0 指定填充attribute变量第一个分量的值
    v1 指定填充attribute变量第二个分量的值
    v2 指定填充attribute变量第三个分量的值
    返回值  
    错误 INVALID_OPERATION 没有当前的program对象
    INVALID_VALUE location大于等于attribute变量的最大数目(默认为8)
  • 相关阅读:
    九.Protobuf3特殊类型
    八.Protobuf3更新消息类型(添加新的字段)
    七.Protobuf3 嵌套类型
    六.Protobuf3引入其他.proto文件
    五.Protobuf3 枚举
    四.Protobuf3 缺省值
    VC 在调用main函数之前的操作
    Windows下的代码注入
    C 堆内存管理
    VC++ 崩溃处理以及打印调用堆栈
  • 原文地址:https://www.cnblogs.com/luoshang/p/7802588.html
Copyright © 2011-2022 走看看