- 博客(126)
- 收藏
- 关注
原创 深入解析 meshoptimizer:基于 meshopt_computeSphereBounds 的层级包围球构建与 DAG 优化
本文探讨了现代工业级渲染引擎中层级细节有向无环图(LODDAG)构建的核心挑战,重点分析了meshopt_computeSphereBounds函数如何通过创新算法解决空间边界计算的内存瓶颈问题。该函数采用升维策略,将包围球计算从依赖顶点改为基于子节点包围球数据,避免了传统递归方法导致的缓存未命中问题。文章详细解析了该函数的高效贪心算法实现,包括极轴确立和动态扩张机制,在保证合理精度的同时实现计算速度的指数级提升。
2026-04-13 16:18:49
341
原创 深入解析 meshoptimizer:基于 meshopt_spatialClusterPoints 的空间聚类与 Mesh Shader 前置优化
本文探讨了meshopt_spatialClusterPoints函数在工业级数字孪生渲染中的关键作用。该算法通过空间填充曲线对顶点数据进行降维排序,实现内存连续性到空间连续性的映射转换。其核心价值在于:1)大幅提升GPU缓存命中率;2)生成紧凑包围盒优化剔除效率;3)适配MeshShader的并行计算需求。虽然该纯空间划分方法可能破坏网格拓扑关系,但作为预处理步骤,它能显著提升后续复杂拓扑算法的处理效率。该函数为处理超大规模CAD模型提供了基础性解决方案,是现代渲染管线实现高效几何处理的重要工具。
2026-04-13 16:04:56
98
原创 C++ 内存瘦身秘籍:带你彻底弄懂 shrink_to_fit()
C++容器(std::vector/std::string)的内存分配机制存在"容量不随元素减少而收缩"的问题。本文深入解析C++11引入的shrink_to_fit()解决方案:1) 该函数可请求容器释放多余内存,使capacity匹配当前size;2) 使用时需注意其非强制性特性及迭代器失效风险;3) 对比传统Swap技巧,展示更优雅的内存优化方式;4) 推荐在大型临时数据处理和内存受限设备中使用,但避免在频繁变化的容器上滥用。
2026-04-13 11:47:14
112
原创 告别 Shared Memory 瓶颈:Vulkan Subgroup 架构解析与硬核实战指南
Vulkan Subgroup技术通过直接访问GPU寄存器级数据交换,突破了传统共享内存的性能瓶颈。文章剖析了Subgroup的硬件本质(如NVIDIA的Warp、AMD的Wavefront),并给出关键优化建议:避免低效的local_size配置和动态分支分化。重点介绍了三大实战场景:1)使用subgroupAny实现快速剔除;2)利用subgroupBallot消除原子操作;3)通过subgroupShuffleXor实现高效并行归约。最后指导开发者如何在C++端检测硬件支持。
2026-04-10 14:41:06
848
原创 图形 API 的前沿试车场:Vulkan 扩展体系深度解析与引擎架构实践
本文深入解析Vulkan扩展体系的设计哲学与生命周期,揭示其在现代C++仿真引擎开发中的关键作用。Vulkan采用"微内核+庞大扩展"架构,通过Vendor扩展(硬件厂商专用)、EXT扩展(跨厂商标准)、KHR标准(官方认证)三级演进路径,实现技术创新与兼容性的平衡。以MeshShader为例,展示了从NV专有扩展到EXT通用标准的技术演进过程。
2026-04-10 13:52:24
350
原创 告别传统 Dispatch:使用常驻 Compute Shader 打造 GPU 后台任务队列
将 Compute Shader 作为后台常驻线程池来处理 LOD 队列,是 GPU-Driven 思想迈向极致的一种体现。它要求开发者跳出“图形 API 调用者”的思维,真正站在并行计算架构师的角度去压榨硬件性能。如果你在做超大世界地形渲染或者类似 Nanite 的密集网格管线,这绝对是一项值得深入研究的核武器。
2026-04-09 10:32:19
297
原创 一文看懂内存拷贝神器:memcpy() 函数详解】
本文介绍了C语言中的memcpy函数,详细讲解了其功能、参数和使用方法。memcpy用于内存块的无差别拷贝,能处理字符串、数组等各种数据类型,但仅视为二进制字节流。文章通过代码示例演示了字符串和整型数组的拷贝方法,强调必须正确计算字节数(元素个数×单个元素大小)。特别警告了内存重叠问题的风险,指出此时应改用memmove函数。最后总结关键点:memcpy高效但不处理重叠,使用时要确保目标与源内存无重叠,并正确计算拷贝字节数。
2026-04-08 17:50:31
279
原创 深入图形学底层:揭秘顶点属性中 vec3 法线与 vec4 切线的数学博弈
摘要: 在实时渲染中,切线(Tangent)通常定义为vec4而非vec3,其第四分量并非内存对齐的副产品,而是一种巧妙的“数学黑客”方案。法线贴图需构建TBN矩阵(Tangent、Bitangent、Normal),传统方法需存储三个vec3,但为节省显存带宽,副切线(Bitangent)可通过叉乘实时计算。然而,UV镜像会导致局部坐标系旋向性反转(右手系变左手系),引发光照错误。切线的第四分量(w)作为符号位标记旋向性(1为右手系,-1为左手系),在着色器中动态修正副切线方向,从而兼顾内存优化与光照精度
2026-04-08 16:26:16
693
原创 C++ 硬核剖析:if 语句中的“双竖杠” || 到底怎么运行的?
本文深入解析C++中的逻辑或运算符||的核心特性与应用技巧。首先从布尔代数角度介绍其数学本质,通过真值表展示运算规律。重点剖析其短路求值机制,通过代码示例验证编译器优化行为。同时指出与逻辑与混用时的优先级陷阱,建议使用括号明确逻辑。最后介绍德·摩根定律在条件取反时的应用,展示如何简化复杂判断。全文揭示了这个简单运算符背后包含的布尔逻辑、性能优化、运算优先级和代码重构等深层知识。
2026-04-08 10:50:39
312
原创 一文读懂后端性能起飞的秘密:什么是“快速哈希缓存”?
摘要:快速哈希缓存(FastHashCache)是提升系统性能的核心数据结构,它通过内存存储和哈希算法实现高速数据访问。缓存将高频数据存放在内存中,避免频繁查询慢速数据库;哈希算法则通过键值对(Key-Value)存储实现O(1)时间复杂度的快速定位。缓存机制包括数据写入(Set)、读取(Get)和淘汰策略(如LRU算法)。典型应用场景包括热点数据查询和用户状态管理,代表性技术有Redis、Memcached和本地内存缓存如Caffeine。
2026-04-07 12:00:29
157
原创 暴力美学与极致性能:深度解析 Meshoptimizer 的 Sloppy 减面算法
《Sloppy减面算法:突破传统LOD优化的性能极限》摘要 meshoptimizer库中的Sloppy减面算法通过颠覆传统思路,为实时渲染中的极限性能优化提供了创新解决方案。与传统QEM算法不同,Sloppy算法完全抛弃拓扑约束,仅基于空间距离进行顶点合并,利用空间网格哈希技术强制聚合离散网格碎片。
2026-03-31 19:03:34
399
原创 告别 Warp 发散:利用 Vulkan Subgroup 级负载均衡与任务压实
摘要:本文探讨了在Vulkan GPU编程中优化树形结构遍历性能的方法。通过分析Subgroup执行模型与树遍历的固有矛盾,提出利用Vulkan 1.1的Subgroup扩展指令实现任务压实与重分配。核心解决方案包括三个步骤:使用Ballot指令进行状态收集,通过ExclusiveScan计算目标索引,最后用Shuffle指令实现数据重分配。这种方法能显著提高硬件利用率,减少分支发散带来的性能损失,同时保持跨平台兼容性。
2026-03-31 11:12:27
359
原创 深度解析:Vulkan 架构下的层级深度缓冲(Hierarchical Z-Buffer)技术实现
层级深度缓冲(Hi-Z)不仅是剔除工具,更是现代渲染引擎(如 Unreal Engine 的 Nanite)实现微多边形渲染的底层支撑。在 Vulkan 中,通过灵活的计算着色器与间接绘制指令,Hi-Z 将渲染瓶颈从“几何处理”转移到了“可见性计算”,极大地释放了 GPU 处理复杂场景的潜力。
2026-03-30 19:49:24
371
原创 深度解析图形学引擎核心:屏幕空间误差(Screen Space Error)与 LOD 调度艺术
本文深入探讨了3D游戏开发中的核心优化技术——屏幕空间误差(SSE)及其应用。SSE通过计算3D几何误差在2D屏幕上的像素投影,为LOD系统提供精确的切换依据。文章详细推导了SSE的数学公式,解析了其与距离、屏幕分辨率和视野角度的关系,并展示了该技术在大型地形渲染、连续LOD过渡和Nanite技术中的实际应用。最后通过C++和HLSL代码示例,演示了SSE在CPU端和GPU驱动的现代渲染管线中的具体实现方式,揭示了如何通过这一关键技术实现画质与性能的完美平衡。
2026-03-30 17:23:32
492
原创 深入浅出 Dear ImGui 颜色系统:为什么 RGB 变成了 0.0 到 1.0?
本文解释了DearImGui中颜色定义采用0.0f-1.0f浮点数的原因。不同于前端开发常用的RGB(0-255)或十六进制格式,ImGui使用归一化的浮点数表示颜色通道强度(0.0f=0%,1.0f=100%),这是为了适配GPU的浮点计算特性,提高图形渲染效率。文章提供了RGB到浮点数的转换方法(除以255.0f),并指出ImGui其实也支持直接传入整数(内部自动转换)。最后附有常用颜色的对照表,帮助开发者快速适应这种颜色表示方式。
2026-03-30 10:37:28
340
原创 突破渲染极限:微多边形时代的软硬协同光栅化架构
《软硬协同渲染机制突破微多边形渲染瓶颈》摘要:本文揭示了传统GPU硬件光栅化在处理微多边形(投影面积<1像素)时存在的Quad Overdraw性能陷阱(75%算力浪费),并提出革命性的软硬协同渲染解决方案。该方案通过计算着色器实现软件光栅化,结合Visibility Buffer架构,实现像素级精准写入;同时采用动态路由机制,根据三角形屏幕面积智能分配渲染路径(大三角形走硬件光栅化,微多边形走软件光栅化)。
2026-03-04 14:19:48
568
1
原创 解密图形渲染的性能原罪 —— Draw Call
本文深入解析了游戏开发中DrawCall的性能瓶颈问题。从硬件层面看,DrawCall的耗时主要来自CPU与GPU的通信开销,包括用户态/内核态切换、指令翻译和命令缓冲区阻塞等。文章揭示了DrawCall性能损耗的数学模型,并介绍了工业界主流优化策略:静态/动态合批、GPU实例化、纹理图集等,通过减少状态切换来提升性能。现代图形API如Vulkan采用多线程指令录制,有效缓解了单核瓶颈。文章指出,性能优化的核心哲学在于减少CPU与GPU的通信成本,最优方案是剔除或合并DrawCall指令。
2026-03-04 10:56:57
475
原创 深度解析:基于分层 Z 缓冲 (HZB) 的遮挡剔除技术
HZB(分层深度缓冲)是3D引擎中高效的遮挡剔除技术,通过构建深度图Mipmap链实现GPU端快速剔除。相比传统方法,HZB能在渲染前利用上一帧深度信息批量剔除不可见物体,具有并行处理、零CPU消耗和保守正确等优势。其核心是计算物体包围盒与HZB采样深度的遮挡关系,但存在帧延迟导致的闪现问题。该技术是处理大规模场景渲染的关键解决方案。
2026-03-02 11:26:13
744
原创 突破几何渲染的极限:NVIDIA Turing 网格着色器 (Mesh Shaders) 深度解析
NVIDIA网格着色器(Mesh Shaders)技术革新了图形渲染管线,通过引入"分而治之"的Meshlets(网格块)概念和计算编程模型,有效解决了传统渲染管线在处理数十亿级几何体时的性能瓶颈。该技术采用双阶段架构:任务着色器(Task Shader)负责动态生成工作负载和早期剔除;网格着色器(Mesh Shader)则负责几何体组装。
2026-02-28 11:29:04
919
1
原创 深度探索下一代几何管线:基于 Vulkan 的连续集群 LOD (Continuous Cluster LoD) 技术全解析
本文深入解析了NVIDIA开源的vk_lod_clusters实现中的连续集群LOD技术。相比传统离散LOD存在的跳变、内存浪费等问题,该技术将网格切割为微小集群,通过预处理构建无缝缝合的有向无环图(DAG),运行时根据屏幕空间误差自适应选择不同精度集群。核心创新包括:跨边界分组算法解决减面破洞问题;二次误差度量与包围球膨胀确保并行判断无重叠;按LOD层级构建的BVH加速结构实现高效剔除。这套方案完美平衡了几何细节与渲染性能,为现代图形引擎提供了重要参考。
2026-02-27 14:29:24
537
原创 探索连续细节层次(Continuous LOD):深入解析 NVIDIA 的 nv_cluster_lod_builder
本文介绍了基于簇的连续LOD(CLOD)技术在实时渲染中的应用,重点分析了NVIDIA的nv_cluster_lod_builder项目。传统离散LOD存在视觉突变问题,而CLOD通过将网格分割成三角形簇并预计算简化,实现了更细粒度的细节控制。核心原理包括迭代分组减面策略、构建有向无环图(DAG)数据结构,以及运行时基于二次误差度量的簇选择算法。该项目虽然已归档,但其展示的几何流式传输和误差控制理念对大规模场景渲染具有重要参考价值,建议开发者可参考meshoptimizer等活跃项目实现类似功能。
2026-02-02 17:33:13
977
原创 看不见的战争 —— 遮挡剔除技术的演进与终极形态
这是关于遮挡剔除(Occlusion Culling)的深度解析章节。这一部分将从图形学发展的广度出发,对比常见方案的优劣,然后聚焦于 vk_lod_clusters 所采用的现代 GPU-Driven 剔除方案。
2026-02-02 16:58:49
839
原创 核心解构:Cluster LOD 与 DAG 架构深度剖析
摘要:vk_lod_clusters和Nanite技术通过ClusterLOD与DAG结构实现"无限几何细节"。Cluster将渲染单位标准化为64-128个三角形,优化GPU并行处理;DAG则取代传统Octree,支持多级细节的无缝过渡。核心算法通过分组-简化-分裂构建DAG层级,运行时基于屏幕误差动态选择最优Cluster组合。该方案解决了传统LOD的粒度粗、视觉跳变等问题,实现亚像素级切换精度和常数级显存占用,展现了革命性的几何处理能力。
2026-02-02 16:29:19
1106
原创 深入浅出:渲染管线中的抗锯齿技术全景解析
本文深入解析了计算机图形学中抗锯齿技术的发展与应用。从传统的MSAA到现代TAA,分析了FXAA、SMAA等技术原理及优劣势:MSAA精确处理几何边缘但性能消耗大;FXAA轻量但模糊细节;SMAA智能保留锐度;TAA通过时间累积解决各类锯齿但易产生鬼影。针对不同应用场景(如RTS、FPS、VR、移动端)给出了技术选型建议,强调没有万能方案,开发者需根据项目需求在画质与性能间取得平衡。
2026-01-29 18:02:38
1164
原创 深度解构 Forward Shading 与 Visibility Buffer
摘要: 实时渲染架构的核心在于计算、带宽与存储的平衡。传统前向着色(ForwardShading)以物体为中心,直接计算光照,但面临过度绘制和光源数量瓶颈的挑战。可见性缓冲(VisibilityBuffer)则通过解耦几何与着色,先记录图元ID再统一计算,显著降低带宽压力,支持海量几何(如UE5 Nanite),但牺牲了抗锯齿灵活性。未来趋势是混合架构:高模用VisibilityBuffer,动态物体用延迟渲染,半透明保留前向。
2026-01-29 11:30:59
627
原创 [Vulkan 实战] 深入解析 Dynamic Uniform Buffers:高效绘制多物体的利器
本文介绍了Vulkan图形开发中使用Dynamic Uniform Buffers高效管理大量物体变换矩阵的方法。该方法通过将数据紧凑存储在单一缓冲区中,利用动态偏移来访问不同物体数据,避免了频繁切换描述符集的性能损耗。
2026-01-18 10:34:23
793
原创 [Vulkan 实战] 深入解析 Vulkan Compute Shader:实现高效 N-Body 粒子模拟
本文介绍了基于Vulkan Compute Shader实现高效N-Body粒子模拟的技术方案。系统采用计算-渲染分离架构,通过Compute Shader分两步处理粒子物理模拟:首先利用共享内存分块技术优化引力计算,大幅降低显存访问;随后进行积分更新。图形渲染直接读取计算结果的SSBO,实现完全GPU驻留模拟。文章重点剖析了Vulkan中计算与图形队列间的同步机制,包括资源屏障和信号量处理,解决了不同队列家族间的资源所有权转移问题。该方案展示了现代图形API在大规模并行计算和存储器优化方面的强大能力。
2026-01-18 09:58:49
701
原创 [Vulkan 学习之路] 31 - 多重采样 (Multisampling)
本文介绍了如何在Vulkan中实现多重采样抗锯齿(MSAA)技术,以消除3D模型边缘的锯齿效果。主要内容包括: MSAA原理:通过为每个像素计算多个采样点的颜色并取平均值来平滑边缘 实现步骤: 查询显卡支持的最大采样数 创建支持多重采样的离屏颜色缓冲区和深度缓冲区 修改渲染流程,添加解析操作将多重采样图像转为普通图像 调整管线配置启用多重采样 关键代码修改: 新增颜色资源创建函数 修改深度缓冲区创建参数 重构RenderPass以支持解析操作 更新帧缓冲区和管线配置 最终效果使3D模型边缘更加平滑,显著提升
2026-01-17 00:11:17
898
原创 Windows 下 VS2022 编译运行 Khronos Vulkan Samples 全避坑指南
本文详细介绍了如何配置Vulkan-Samples开发环境,包括安装Visual Studio 2022、Vulkan SDK、Python3和CMake等必备工具,并指导正确克隆包含子模块的源码。文章重点讲解了使用CMake GUI生成工程、编译运行示例的具体步骤,以及常见问题的解决方案,如子模块缺失、Vulkan SDK未识别等。通过手把手教学,帮助初学者顺利搭建Vulkan学习环境,避免常见编译错误。
2026-01-17 00:10:56
650
原创 [Vulkan 学习之路] 30 - 生成 Mipmaps (Generating Mipmaps)
本文介绍了在Vulkan中实现Mipmaps纹理技术以解决远距离纹理渲染时的摩尔纹问题。
2026-01-16 00:31:41
293
原创 [Vulkan 学习之路] 29 - 加载模型 (Loading Models)
本文介绍了如何在Vulkan中加载和渲染3D模型。主要内容包括: 使用tinyobjloader库解析OBJ格式的模型文件(以维京小屋为例) 修改Vertex结构体支持顶点去重,优化内存使用 实现loadModel函数读取顶点坐标、纹理坐标等数据 替换硬编码的矩形数据为真实3D模型 更新纹理加载路径,使用模型对应的贴图
2026-01-16 00:31:21
418
原创 [Vulkan 学习之路] 28 - 深度缓冲 (Depth Buffering)
本文介绍了在Vulkan中实现3D深度缓冲的关键步骤。主要内容包括:1. 将顶点数据从2D升级为3D,添加Z轴坐标;2. 创建深度缓冲资源,包括深度图像和视图;3. 修改渲染管线,开启深度测试并配置比较规则;4. 更新RenderPass和帧缓冲以包含深度附件;5. 在命令缓冲区中同时清除颜色和深度缓冲。通过这些修改,系统能够正确计算物体间的遮挡关系,确保近处物体始终覆盖远处物体,解决了3D渲染中的深度排序问题。最终实现效果显示两个旋转的矩形始终保持正确的空间遮挡关系。
2026-01-16 00:31:09
444
原创 [Vulkan 学习之路] 27 - 组合图像采样器 (Combined Image Sampler)
本文介绍了Vulkan纹理映射的实现过程。主要内容包括:1. 修改顶点数据结构,添加纹理坐标(UV)属性;2. 更新描述符布局和池,增加图像采样器绑定;3. 创建纹理图像、视图和采样器;4. 修改着色器代码,在顶点着色器中传递UV坐标,在片元着色器中进行纹理采样;5. 更新描述符集,将纹理资源绑定到着色器。通过以上步骤,实现了将2D纹理贴图正确映射到3D几何体上的效果。文章还提供了完整的代码示例,包括C++实现和GLSL着色器代码。最后指出下一步将引入深度测试来解决物体前后遮挡问题。
2026-01-16 00:30:14
442
原创 [Vulkan 学习之路] 26 - 图像视图与采样器 (Image View and Sampler)
本章介绍了如何为Vulkan纹理资源创建图像视图(ImageView)和采样器(Sampler)。主要内容包括: 重构了通用的createImageView函数,简化了SwapChain图像视图的创建流程 为纹理图像创建了ImageView,作为访问纹理的眼睛创建了纹理采样器(Sampler),配置了放大/缩小过滤模式、寻址方式和各向异性过滤等参数 在设备创建时启用了各向异性过滤特性 添加了资源的创建和销毁逻辑 这些步骤为后续在Shader中使用纹理资源做好了准备。
2026-01-16 00:30:01
508
原创 [Vulkan 学习之路] 25 - 纹理映射:图像对象 (Texture Images)
本文介绍了在Vulkan中实现纹理贴图的关键步骤。主要内容包括:1. 使用stb_image库加载图片数据到CPU内存;2. 创建暂存缓冲区(staging buffer)并拷贝像素数据;3. 创建VkImage对象和显存分配;4. 通过pipeline barrier实现图像布局转换,从UNDEFINED到TRANSFER_DST再到SHADER_READ_ONLY;5. 封装了辅助函数如beginSingleTimeCommands、transitionImageLayout等;
2026-01-16 00:28:50
598
原创 [Vulkan 学习之路] 24 - 描述符池与描述符集 (Descriptor Pool & Sets)
本文介绍了在Vulkan中实现动态图形的关键步骤。主要内容包括:1) 创建描述符池(Descriptor Pool)为描述符集分配空间;2) 分配描述符集(Descriptor Sets)作为着色器访问数据的"指针包";3) 将Uniform Buffer与描述符集关联;4) 在绘制时绑定描述符集到管线。通过这些步骤,实现了将变换矩阵数据传递给着色器,使矩形能够正确旋转且保持比例不变。这是实现纹理映射前的必要准备。
2026-01-16 00:28:30
628
原创 [Vulkan 学习之路] 23 - 让世界动起来:描述符布局与统一缓冲区
目前的矩形虽然是彩色的,但它是静止的。如果想让它旋转起来,我们需要每一帧更新它的变换矩阵(模型、视图、投影矩阵)。在 Vulkan 中,处理这种“每一帧都会变”或者是“全局通用”的数据(如变换矩阵、光照参数),我们需要使用 Uniform Buffers (统一缓冲区) 和 Descriptor Sets (描述符集)。
2026-01-16 00:26:24
696
原创 [Vulkan 学习之路] 22 - 拒绝浪费:索引缓冲区 (Index Buffer)
本文介绍了Vulkan中使用索引缓冲区(Index Buffer)优化渲染的方法。索引缓冲区通过复用顶点数据来减少显存占用,在绘制矩形等复杂图形时尤为有效。文章详细讲解了如何修改顶点数据、创建索引缓冲区、绑定索引数据以及将绘制命令从vkCmdDraw改为vkCmdDrawIndexed。通过将三角形改为彩色矩形的实例,展示了索引缓冲区的实际应用。这是3D渲染中重要的数据组织方式,为后续处理动态变换矩阵和Uniform Buffer奠定了基础。
2026-01-16 00:25:56
497
原创 [Vulkan 学习之路] 21 - 中转站:暂存缓冲区 (Staging Buffer)
本文介绍了如何优化Vulkan顶点缓冲区性能。通过使用暂存缓冲区(Staging Buffer)技术,解决了CPU可写内存与GPU高速内存之间的矛盾:1) 创建CPU可见的暂存缓冲区;2) 将顶点数据复制到暂存缓冲区;3) 创建设备本地(VRAM)的顶点缓冲区;4) 使用命令缓冲区执行GPU内存拷贝;5) 销毁暂存缓冲区。这种方法虽然增加了初始化的复杂性,但显著提升了渲染时的内存访问速度。
2026-01-16 00:25:34
653
工业异常检测中的多模态大语言模型实战-基于腾讯混元 Hunyuan-Vision 的 MMAD 数据集评测全记录
2025-12-12
从语义到推荐:大语言模型(LLM)如何驱动智能选车系统?
2025-06-21
弗雷德里克 运筹学导论 英文答案Instructor's Solutions Manual
2024-11-01
源码数据可视化:基于 Echarts + Python 实现的动态实时大屏范例-运动健康
2024-11-01
Python基础教程:解释器安装与IDE配置及文件操作
2024-09-30
工业机器人编程与操作-搬运机器人码垛系统编程与仿真
2023-06-22
ABB工业机器人实操与应用技巧第二版
2023-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅