Three.js 索引教程

发布时间:2026/7/13 0:26:12

Three.js 索引教程
索引 ·Index· ▶ 在线运行案例案例合集三维可视化功能案例threehub.cn开源仓库github地址https://github.com/z2586300277/three-cesium-examples400个案例代码:网盘链接你将学到什么索引绘制vs非索引绘制的区别geometry.index如何用 4 个顶点拼出 2 个三角形同一 Geometry 可同时用于 Points、Line、Mesh效果说明同一组顶点数据同时以黄色点、红色线、蓝色面三种方式渲染展示 WebGL 不同图元模式points / lines / triangles。核心概念非索引 vs 索引| 方式 | 顶点数矩形 | 说明 | |------|--------------|------| | 非索引 | 6每三角独立 3 顶点 | 网格 案例 | | 索引 | 4 顶点 6 索引值 | 顶点可复用节省内存 |// 4 个唯一顶点const vertices new Float32Array([ 0, 0, 0, // 索引 0 50, 0, 0, // 索引 1 50, 0, 50, // 索引 2 0, 0, 50, // 索引 3 ]);// 索引表每 3 个索引构成一个三角形 const indexes new Uint16Array([ 0, 1, 2, // 三角面 1 0, 3, 2, // 三角面 2 ]); geometry.index new THREE.BufferAttribute(indexes, 1); geometry.attributes.position new THREE.BufferAttribute(vertices, 3);同一 Geometry三种 Object| Object | Material | 渲染模式 | |--------|----------|---------| |Points|PointsMaterial| GL_POINTS | |Line|LineBasicMaterial| GL_LINE_STRIP 等 | |Mesh|MeshBasicMaterial| GL_TRIANGLES |实现步骤定义 4 顶点 6 索引分别创建 Points、Line、Mesh 加入 sceneOrbitControls 交互代码要点import * as THREE from three; import { OrbitControls } from three/examples/jsm/controls/OrbitControls.jsconst scene new THREE.Scene();// 网格模型Mesh其实就一个一个三角形(面)拼接构成 const geometry new THREE.BufferGeometry(); const vertices new Float32Array([ 0, 0, 0, 50, 0, 0, 50, 0, 50,// 0, 0, 0, 0, 0, 50, // 50, 0, 50, ]);// 下面索引值对应顶点位置数据中的顶点坐标 // 第 0、1、2这三个点构成一个三角形 // 第 0、3、2这三个点构成一个三角形 const indexes new Uint16Array([ 0, 1, 2, 0, 3, 2, ])geometry.index new THREE.BufferAttribute(indexes, 1);geometry.attributes.position new THREE.BufferAttribute(vertices, 3);// 点渲染模式 const material2 new THREE.PointsMaterial({ color: 0xffff00, size: 10.0 //点对象像素尺寸 }); const points new THREE.Points(geometry, material2); //点模型对象 scene.add(points);// 线材质对象 const material1 new THREE.LineBasicMaterial({ color: 0xff0000 //线条颜色 }); // 创建线模型对象 const line new THREE.Line(geometry, material1); scene.add(line);// 网格 const material new THREE.MeshBasicMaterial({ color: 0x0000ff, side: THREE.DoubleSide, }); const mesh new THREE.Mesh(geometry, material); scene.add(mesh);// AxesHelper const axesHelper new THREE.AxesHelper(150); scene.add(axesHelper);// 相机 const camera new THREE.PerspectiveCamera(); //相机 camera.position.set(200, 200, 200); //相机位置 camera.lookAt(0, 0, 0); //相机观察位置// 渲染器 const renderer new THREE.WebGLRenderer(); // 创建渲染器 const box document.getElementById(box); renderer.setSize(box.clientWidth, box.clientHeight); //渲染区域 renderer.render(scene, camera); //执行渲染 box.appendChild(renderer.domElement);;const controls new OrbitControls(camera, renderer.domElement); controls.addEventListener(change, function () { renderer.render(scene, camera); });完整源码GitHub小结本文提供索引完整 Three.js 源码与在线 Demo建议先运行案例再改 uniform/参数做二次实验更多 Three.js 实战案例见 three-cesium-examples 合集 与 GitHub 开源仓库

相关新闻

2026年AI编程工具横评:Trae/Cursor/Claude Code/Windsurf深度对比

2026年AI编程工具横评:Trae/Cursor/Claude Code/Windsurf深度对比

2026/7/12 8:17:13

CSDN 2026年7月热榜:AI编程工具已从"代码补全插件"进化为"全链路开发引擎"。Trae(字节)凭借SOLO智能体模式成为中文开发者首选,Cursor推出Agent模式,Claude Code开放MCP生态,Windsurf聚…

2026年揭秘:品牌设计本土化服务商实力大比拼!

2026年揭秘:品牌设计本土化服务商实力大比拼!

2026/7/11 23:12:15

"【本土匠心独运】2026年,品牌设计本土化服务商实力揭秘!谁将引领行业风潮?"在这个全球化与本土化并存的时代,品牌设计不再是简单的视觉呈现,而是深入文化底蕴、体现地域特色的艺术表达。2026年,…

Goby实战指南:从安装到漏洞扫描的完整流程解析

Goby实战指南:从安装到漏洞扫描的完整流程解析

2026/7/12 22:22:32

1. 项目概述:为什么我们需要Goby这样的工具?在网络安全领域,无论是企业安全团队进行内部资产梳理和风险评估,还是安全研究人员进行渗透测试前的信息收集,一个高效、直观的资产测绘与漏洞扫描工具都是不可或缺的。过去&…

NestOS与openEuler社区:深度探索云底座操作系统的协作开发模式

NestOS与openEuler社区:深度探索云底座操作系统的协作开发模式

2026/7/13 1:35:28

NestOS与openEuler社区:深度探索云底座操作系统的协作开发模式 【免费下载链接】nestos-website nestos-website is the source code repository for the NestOS website 项目地址: https://gitcode.com/openeuler/nestos-website 前往项目官网免费下载&…

BiSheng-Autotuner社区贡献指南:如何参与开源项目开发

BiSheng-Autotuner社区贡献指南:如何参与开源项目开发

2026/7/13 1:35:28

BiSheng-Autotuner社区贡献指南:如何参与开源项目开发 【免费下载链接】BiSheng-Autotuner BiSheng-Autotuner is a automate tuning command line tool for LLVM. 项目地址: https://gitcode.com/openeuler/BiSheng-Autotuner 前往项目官网免费下载&#xf…

Altium Designer 高效布线:自定义5个核心快捷键,布线效率提升30%

Altium Designer 高效布线:自定义5个核心快捷键,布线效率提升30%

2026/7/13 1:35:28

Altium Designer 高效布线:自定义5个核心快捷键,布线效率提升30%在PCB设计领域,效率就是生产力。对于每天需要处理复杂布线任务的中级用户来说,Altium Designer(AD)的默认快捷键配置往往无法满足个性化需求…

摆脱论文困扰!!2026 最新降AI率软件测评与推荐

摆脱论文困扰!!2026 最新降AI率软件测评与推荐

2026/7/13 1:35:28

2026年真正好用的AI论文降重与改写工具,核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …

MySQL 索引底层原理与实战优化全技术文档

MySQL 索引底层原理与实战优化全技术文档

2026/7/13 1:35:28

索引是MySQL数据库性能优化的核心基石,合理使用索引可以大幅降低SQL查询的IO开销、减少数据扫描行数,极大提升数据库读写性能。本文将从SQL完整查询执行流程、三大基础索引模型、InnoDB核心索引机制、索引优化原则、索引选型策略全方位拆解MySQL索引底层…

[具身智能-585]:RDK X5 板载蓝牙 5.4 完整用途(基于 Ubuntu 22.04 + BlueZ 协议栈)

[具身智能-585]:RDK X5 板载蓝牙 5.4 完整用途(基于 Ubuntu 22.04 + BlueZ 协议栈)

2026/7/13 1:25:28

RDK X5 集成蓝牙 5.4 双模(经典蓝牙 BR/EDR BLE 低功耗蓝牙),适配机器人、边缘 AI、工业物联网、智能视觉四大场景,分 6 大类核心用途:一、机器人无线遥控(最主流场景)适配 ROS/TogetheROS.Bot…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)在口腔微生物分子机制研究中,SepM 蛋白酶是调控变异链球菌群体感应、致龋菌素合成的核心功能蛋白,体外功能验证、抗体开发均依赖高纯度可溶性 SepM 蛋白。当前原核表达体系针对 SepM 存在三大技…

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)基因工程、蛋白质组学、生物制药研发流程中,蛋白质分离纯化是决定下游实验成败的关键环节。当前实验室常规蛋白质分离纯化工艺存在三类难以标准化的技术瓶颈:传统离子交换、分子筛层析无特异性…

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

2026/7/13 0:05:25

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…