开发技术 - 超腾开源博客 - 第2页 | AI技术、开发实战与软件资源

本文介绍了在Three.js中利用GPU选取物体并计算交点位置的技术,解决了传统Raycaster在大模型(如40万面)场景下的性能瓶颈。核心思想是为每个模型分配独立颜色并渲染到离屏缓冲区,通过读取鼠标位置像素颜色识别物体;交点计算则通过渲染深度信息并反算世界坐标实现。文章详细说明了选取材质创建、颜色分配、深度着色器编码、像素读取及世界坐标反推的完整流程,并给出了顶点与片元着色器代码。该技术适用于鼠标Hover、模型预览、测量工具等高性能交互场景,能在一帧内完成选取和交点计算。
511
0
发布于2026年5月30日
本文介绍了一种利用Three.js创建大小不随场景变化的三维文字标注方法,解决了传统HTML元素无法被模型遮挡以及文字贴图随相机距离缩放的问题。核心步骤包括:在Canvas上绘制带黑色描边的白色文字以确保清晰度,再通过自定义着色器材质将文字渲染到三维场景中。顶点着色器通过计算屏幕坐标固定文字大小,片元着色器通过UV坐标取整避免文字模糊。该方法具有真正的三维遮挡效果和恒定的阅读尺寸,适用于建筑标注、设备标签、游戏UI等场景。文章还提供了完整示例代码和解决文字模糊的实用技巧。
550
0
发布于2026年5月30日
本文从底层着色器原理出发,手动实现了Three.js中四种常用材质:基本材质不受光照影响直接显示纹理;兰伯特材质仅计算漫反射,适合粗糙表面;冯氏材质增加高光反射,表现光滑表面;标准材质基于物理渲染,通过金属度和粗糙度模拟真实材质。每种材质均附有顶点和片元着色器代码,并假设场景仅含环境光和平行光及一张漫反射贴图。文章还对比了各材质的特点与适用场景,并提供了BRDF、光照模型等参考资料。
464
0
发布于2026年5月30日
本文是一位程序员对十多年开发历程中接触技术的梳理,提供了一份技术路线图。内容涵盖编程语言、应用开发、开发工具及其他领域。编程语言部分介绍了Java、C#、Go、PHP用于B/S架构,C/C++和Rust用于高性能场景,Python主导AI领域,以及汇编用于底层开发。应用开发涉及前端、移动端、Node.js、Electron、三维、GIS、游戏引擎、区块链、人工智能和网站建设等。开发工具包括MinGW、protobuf、GitHub、DNS和VPN。其他领域提及了谷歌文档、密码学、论文下载和量子计算。文章旨在为同行提供清晰的技术参考,突出各技术的适用场景和核心价值。
977
0
发布于2026年5月23日
本文系统性地介绍了程序员常用的各类软件工具,涵盖浏览器、编辑器、数据库管理、版本控制、虚拟机、远程桌面、解压软件、下载工具、内网穿透等九大类别,并解读了每类技术的核心价值。浏览器方面列举了360极速浏览器、Chrome、Edge和Firefox;编辑器部分详细介绍了Cursor、VSCode、IntelliJ IDEA等主流IDE及AI编程工具;数据库管理工具包括DBeaver、Navicat等;版本控制重点介绍了Git和GitLab;此外还提及了虚拟机、远程桌面、解压和下载工具等辅助软件。文章旨在帮助开发者了解各类工具的特点与适用场景,提升开发效率。
774
0
发布于2026年5月23日
vtk.js无法直接加载vtu文件,需要通过ParaView进行格式转换。具体步骤包括:下载并安装ParaView 5.13.1及对应Python版本,将其bin目录添加至环境变量;创建Vue项目并安装vtk.js依赖;复制vtk.js自带的转换脚本并修改Python路径;编写convert.py脚本将vtu文件转换为vtk.js可加载的格式;在Vue组件中使用HttpDataSetSeriesReader加载处理后的文件,并实现时间步进动画;最后需要修改HttpDataAccessHelper.js中的解压逻辑,避免vite自动解压gzip文件导致错误。
827
0
发布于2026年5月23日
这篇博客介绍了ArcGISUtils.java这个帮助类,它是在ArcGIS Runtime API和GeoScene Runtime API开发中封装的工具类,旨在方便GIS程序员进行数据库连接、图层获取、数据表获取、图层元素查询、相交元素获取以及Utility Network网络分析等操作。类中提供了包括获取Geodatabase、按名称查找图层、获取要素表、查询相交要素、获取附近要素、获取所有要素、获取公共设施网络、执行路径分析、计算两点距离以及获取GlobalID与图层名称对应关系等核心方法。同时附带了结果封装类R.java,用于统一返回成功或失败状态。
556
0
发布于2026年5月23日
本文介绍了meshoptimizer开源库,它能显著压缩三维模型大小并支持将OBJ转换为GLTF格式,提升Web加载速度。文章详细说明了使用Visual Studio 2022编译项目的方法,并列举了gltfpack工具的完整参数说明,包括基础参数、纹理压缩、网格简化、顶点精度、动画属性等设置。最后提供了常用命令行示例,如查看帮助和压缩GLB文件,帮助开发者快速上手使用该工具优化三维模型。
787
0
发布于2026年5月23日
本文介绍了腾讯云自研的分布式数据库TDSQL,该产品兼容PostgreSQL生态,支持OLTP、OLAP及HTAP场景,具备金融级高可用和弹性扩展能力。文章重点说明了TDSQL PostgreSQL版JDBC驱动的安装方法:由于驱动不在Maven中央仓库,需手动下载1.1.1或1.1.2版本的JAR包,并通过mvn install:install-file命令安装到本地Maven仓库。文中提供了完整的pom.xml依赖配置、安装命令及验证步骤,最后给出了Java连接TDSQL的示例代码,方便开发者快速集成。
852
0
发布于2026年5月23日
使用Mars3D或Cesium开发的三维GIS页面,长时间运行后会出现Fragment shader failed to compile错误。最初刷新浏览器可恢复,但连续运行5-6天后,即使重启浏览器也无法解决,只能重启电脑。根本原因是大量3dtiles模型与Vue使用时未释放资源,导致显存泄漏,WebGL引擎崩溃。崩溃后,即使更换显卡、驱动、浏览器或三维框架,问题依旧存在,浏览器会转为CPU渲染,导致CPU高占用、GPU低占用、页面卡顿。目前没有彻底的解决方案,只能通过减小画布大小、降低使用强度来延缓显卡崩溃时间。
743
0
发布于2026年5月23日