首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Threejs入门之十:认识缓冲几何体BufferGeometry(三)

比如我们通过下面一组数据来创建一个几何体const vertices = new Float32Array([ 0, 0, 0, //顶点1坐标 100, 0, 0, //顶点2坐标...在这组数据中,顶点1坐标和顶点4坐标是重合的,顶点3坐标和顶点5坐标是重合的,这时,我们就可以使用几何体的顶点索引geometry.index,把重复的顶点位置坐标删除const vertices = new Float32Array...在数学上,我们知道在一个平面上,法线就是该平面的垂线,如果是光滑曲面,一点的法线就是该点切面的法线;Three.js中法线是通过顶点定义,默认情况下,每个顶点都有一个法线数据,我们通过一个类型数组来标识各个点的顶点法线...;// 每个顶点的法线数据和顶点位置数据一一对应const normals = new Float32Array([ 0, 0, 1, //顶点1法线( 法向量 ) 0, 0, 1, //顶点...,如果我们使用了顶点索引,顶点法线数据也要和顶点位置数据一一对应// 矩形平面,有索引,有2个顶点重合,有4个顶点// 每个顶点的法线数据和顶点位置数据一一对应const normals = new Float32Array

1.1K20

3D绘图小帮手WebGL入门与进阶(中)——着色器的基本编程

gl.vertexAttrib3f(aPosition, 1.0, 1.0, 0.0); //或者使用Float32Array来传参 var p = new Float32Array([1.0, 1.0...gl.uniform4f(vColor, 1.0, 0.0, 0.0, 1.0); //或使用Float32Array来传参 var color = new Float32Array([1.0, 0.0...buffer: 自己创建的缓存区对象, 接下来,我们需要做的是填充刚刚申请的缓存区,我们需要使用一个符合GLSL语法的数据格式,Javascript中可用Float32Array类型来创建支持GLSL的数据...([ 1.0, 1.0, 1.0,1.0 ]) 代表2个顶点 如为4,则 new Float32Array([ 1.0, 1.0, 1.0,1.0 ]) 代表1个顶点 现在缓存区已经存在多个顶点数据...first: 绘制的开始点, count: 需要绘制的图形个数, 让我们先来创建多个点,上一课已经讲过,WebGL的坐标与真实坐标会有一些出入,所以我们需要转换一下,并且数据我们需要使用Float32Array

1.2K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券