// 三角形
// 创建几何体
const geometry = new THREE.BufferGeometry()
// 创建顶点,3个顶点,逆时针方向绘出顶点,即正面
const positionsArray = new Float32Array([
0,0,0,
0,1,0,
1,0,0
])
// 创建顶点属性,3个顶点
const positionsAttribute = new THREE.BufferAttribute(positionsArray,3)
geometry.setAttribute('position',positionsAttribute)
// 四边形
// 创建几何体
const geometry = new THREE.BufferGeometry()
// 创建顶点数据 32位浮点数数组 以逆时针顺序渲染顶点,展示为立方体正面
const vertices = new Float32Array([
// 三角面1
-1.0, -1.0, 0.0,
1.0, -1.0, 0.0,
1.0, 1.0, 0.0,
// 三角面2
1.0, 1.0, 0.0,
-1.0, 1.0, 0.0,
-1.0, -1.0, 0.0
])
// 创建顶点属性 3个数值为一个顶点数据
geometry.setAttribute('position',new THREE.BufferAttribute(vertices,3))
- 创建一个四边形,由2个三角形组成(共用顶点),共4个顶点
// 四边形(共用顶点)
// 创建几何体
const geometry = new THREE.BufferGeometry()
// 使用索引绘制
const vertices = new Float32Array([
// 四边形4个顶点
-1.0, -1.0, 0.0,
-1.0, 1.0, 0.0,
1.0, 1.0, 0.0,
1.0, -1.0, 0.0,
])
// 创建顶点属性 3个数值为一个顶点数据
geometry.setAttribute('position',new THREE.BufferAttribute(vertices,3))
// 创建索引 0, 1, 2组成一个面,2, 3, 0也组成一个面
const indices = new Uint16Array([0, 1, 2, 2, 3, 0])
// 创建索引属性
geometry.setIndex(new THREE.BufferAttribute(indices, 1))