webgl-fundamentals 问答索引指南:WebGL 常见问题与实战解答全览
图形学【免费下载链接】webgl-fundamentalsWebGL lessons that start with the basics项目地址https://gitcode.com/gh_mirrors/we/webgl-fundamentals点击查看免费下载导读本文基于 webgl-fundamentals 仓库韩文版教程体系中的《질문 및 답변QA》索引文档webgl/lessons/ko/webgl-qna.md与英文版 webgl/lessons/webgl-qna.md 一一对应编写而成。该索引汇聚了 78 篇围绕 WebGL 实际开发痛点的问答文章覆盖图像处理、绘制性能、GLSL 着色器、WebGL2 新特性等主题。读完本文你将掌握该问答库的整体知识地图了解每篇问答所解决的具体问题与核心方案并能依据索引链接快速定位到可运行的示例代码将问答中的思路直接落地到自己的 WebGL 项目中。索引文档概述QA 板块的定位与组织结构webgl-qna.md是一份纯粹的主题索引index文档它不包含长篇教程正文而是以“问与答”链接列表的形式将仓库中分散在各处的 WebGL 实战问答统一编排起来。韩文版与英文版在标题、描述、条目数量与顺序上完全一致Title질문 및 답변韩文/Questions and Answers英文Description무작위 질문 및 답변韩文/Random Questions and Answers英文TOC질문 및 답변/Questions and Answers索引整体由若干个以---分隔的分组构成每组包含 36 个链接条目最后单独开辟WebGL2小节。这种分组并非严格按主题领域切分因此文档自述为“random questions”但通读全部条目后仍可归纳出几大类高频问题图像与滤镜效果、绘制调用与性能优化、GLSL 着色器技巧、WebGL 与 WebGL2 的差异与兼容、以及 readPixels/纹理数据读取等 API 细节。索引中绝大多数条目链接到仓库内的问答文章.html链接对应webgl/lessons/下的同名.md源文件仅有一条为外部链接——How to draw thick lines in WebGL用于补充说明“绘制粗线”这一 WebGL 经典难题的通用解法。在整理本文时除该外部条目外其余全部链接均已核对为仓库内真实存在的文件。QA 文章的统一结构问题、解答与可运行示例索引指向的每一篇问答文章都遵循高度一致的写作模板这使得整库具有极强的可读性与可检索性。以 webgl/lessons/webgl-qna-pure-webgl-dashed-line.md 为例其结构为Question问题完整引用来自 Stack Overflow 的真实提问保留用户原始代码与描述例如“如何在纯 WebGL 中绘制虚线、如何在顶点着色器中计算LengthSoFar”Answer解答由 webgl-fundamentals 作者给出深入解答包含原理说明与可复用的代码片段可运行示例以{{{example url../webgl-qna-pure-webgl-dashed-line-example-1.html}}}形式嵌入配套演示页面读者可直接在浏览器中验证版权声明每篇文末标注问题与引用内容的来源Stack Overflow 链接及 CC BY-SA 许可信息。这种“问题→解答→示例”的结构是整套 QA 库的核心阅读方式遇到实际问题时先在索引中按关键词找到对应条目再通过示例 HTML位于 webgl/ 目录命名规则为webgl-qna-主题-example-N.html查看完整实现。核心问答详解一图像与视觉效果类索引中图像处理与视觉特效相关的问答数量最多涵盖从复古像素风到现代滤镜的各类需求Droste 效果与渲染到纹理WebGL Droste 효과WebGL Droste 效果 探讨如何在立方体表面实现经典的 Droste 递归嵌套效果。提问者最初的做法是每帧用 Canvas 2D 上下文对 WebGL canvas 截图再将该截图作为纹理贴回立方体结果性能只有 30 FPS。作者的解答指出正确做法是渲染到纹理render to texture其关键代码为const fb gl.createFramebuffer(); gl.bindFramebuffer(gl.FRAMEBUFFER, fb); gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0 /* level */);渲染到纹理时绑定该帧缓冲gl.bindFramebuffer(gl.FRAMEBUFFER, fb); gl.viewport(0, 0, textureWidth, textureHeight);渲染回 canvas 时解除绑定gl.bindFramebuffer(gl.FRAMEBUFFER, null); gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);解答特别强调不能在同一时刻对同一纹理既读又写因此 Droste 效果需要两张纹理交替使用例如“绘制图像到纹理 A → 将上一帧纹理 B绘制到纹理 A → 用纹理 A 绘制立方体到纹理 B → 将纹理 B 绘制到 canvas”并提供了配套示例 webgl-qna-webgl-droste-effect-example-1.html。此外作者指出 WebGL 的双缓冲front/back buffer不能直接被当作纹理使用但可以用gl.copyTexImage2D/gl.copyTexSubImage2D将 canvas 内容拷贝进纹理只是这种方案灵活性较差且通常更慢。相关底层原理可进一步参考 webgl-render-to-texture.md。图像扭曲、涂抹与像素化图像扭曲image warpingwebgl-qna-create-image-warping-effect-in-webgl讨论在 WebGL 中实现扭曲变形效果smudge/liquify 涂抹液化Creating a smudge/liquify effect 与 How to make a smudge brush tool 分别从“效果实现”与“工具制作”两个角度展开是纹理读写与后处理结合的代表案例像素化pixelizeHow to get pixelize effect in webgl? 讲解如何在片段着色器中降低有效分辨率来模拟像素风调色板图形Emulating palette based graphics in WebGL 讨论用纹理查找表模拟经典 8-bit 调色板配色。纹理采样的精度问题How to use textures as data 是纹理数据读取的经典问答核心给出了 WebGL1 中按像素坐标寻址纹素的标准公式vec2 pixelCoord vec2(x, y); vec2 textureDimension vec2(textureWidth, textureHeight); vec2 texcoord (pixelCoord 0.5) / textureDimensions; vec4 pixelValue texture2D(someSamplerUniform, texcoord);因为纹理坐标定义在“像素边缘”上对 2×1 纹理像素 A 的中心在 0.25, 0.5像素 B 的中心在 0.75, 0.5如果不加0.5偏移采样点会落在像素之间导致取到错误的纹素。作者同时建议数据纹理应设置gl.NEAREST过滤并指出数据纹理受限于 GPU 缓存局部性——频繁跳变采样会显著拖慢性能。相关完整示例见 webgl-pulling-vertices.md 与 webgl-data-textures.md。核心问答详解二绘制、性能与优化类索引中另一大类问题是围绕绘制调用与性能展开的绕过 gl_PointSize 限制绘制超大点Working around gl_PointSize limitations webGL 讨论了一个数据可视化中的典型场景渲染 6.8 万个节点时gl_PointSize在提问者的显卡上被限制为最大 63 像素缩放时点不会继续变大。作者的解决方案是自建点系统用两个缓冲区——一个是按点数重复的 2D 单位四边形unit quad数组另一个是将每个点位置重复 4 次的中心点数组——然后在顶点着色器中把单位四边形按所需尺寸展开attribute vec2 a_unitQuad; attribute vec4 a_position; uniform mat4 u_view; uniform mat4 u_viewProjection; void main() { float fake_gl_pointsize 150; // 取视图空间中的 x/y 轴单位向量垂直于视线方向 vec3 x_axis u_view[0].xyz; vec3 y_axis u_view[1].xyz; // 乘以期望的尺寸 x_axis * fake_gl_pointsize; y_axis * fake_gl_pointsize; // 用单位四边形在原点周围构造四边形 vec3 local_point vec3(x_axis * a_unitQuad.x y_axis * a_unitQuad.y); // 加上四边形实际所在的位置 local_point a_position; gl_Position u_viewProjection * local_point; }关键在于理解“视图空间”与“屏幕空间”的区别屏幕空间展开与gl_Point行为一致但若希望点在 3D 场景中随距离自然缩放则应采用视图空间展开。绘制缓冲淡出与残影效果How to fade the drawing buffer 解决的是“如何让绘制缓冲随时间逐渐淡出”的问题。作者给出两种方案如果需要保留部分元素如飞船、小行星不淡出则需重绘全部内容并手动降低待淡出元素的 alpha如果只需整体淡出则可用后处理式双帧缓冲交替混合两张纹理gl_FragColor mix(textureColor, fadeColor, mixAmount);帧间交替逻辑为fadeFb1混合到fadeFb2→ 在新内容上绘制 → 将fadeFb2呈现到 canvas下一帧交换两个缓冲的角色。作者特别提醒绘制时不要执行 clear否则无法保留上一帧结果。配套示例见 webgl-qna-how-to-fade-the-drawing-buffer-example-1.html其实现使用了 twgl 简化代码帧缓冲设置的详细教程可参考 webgl-image-processing-continued.md。其他性能相关问答FPS 记录与 GPU 负载测量Recording FPS in WebGL、Is it possible to measure rendering time in webgl using gl.finish()? 与 A simple way to show the load on the GPUs vertex and fragment processing? 从指标侧入手粒子系统Efficient particle system in javascript? (WebGL) 与 How to process particle positions 覆盖 CPU 与 GPU 两种粒子实现路径批量绘制How to combine more text drawing into fewer draw calls、Drawing Many different models in a single draw call、Sorting and optimizing instanced rendering 与 Optimize drawing lots of large images 是合并绘制调用、降低状态切换成本的典型实践大量图元绘制The fastest way to draw many circles、How to render large scale images like 32000x32000、Why does WebGL take more memory than Canvas 2D 与 How to figure out how much GPU work to do without crashing WebGL 涉及显存占用与 GPU 工作量评估渲染节奏Rendering slowly over time 与 How to load images in the background with no jank 关注避免卡顿、渐进式渲染。核心问答详解三GLSL 着色器与绘制技巧类索引中大量条目直接围绕着色器编程展开是 GLSL 学习者的“踩坑合集”绘制技巧How to Achieve Moving Line with Trail Effects、Pure WebGL Dashed Line、How to draw correctly textured trapezoid polygons、Dont blend a polygon that crosses itself、How to detect clipped triangles in the framgment shader 与 How to create a torus环形曲面几何生成颜色与混合How to blend colors across 2 triangles、How to control the color between vertices、How to use texture, and color also in WebGL? 与 GLSL shader to support coloring and texturing纹理应用How to bind an array of textures to a WebGL shader uniform?、How to prevent texture bleeding with a texture atlas、Tex image TEXTURE_2D level 0 is incurring lazy initialization 与 WebGL 2D tilemaps2D 瓦片地图作者建议在片段着色器中逐像素查瓦片并配合gl.NEAREST采样来根治图集出血问题精度与类型When to choose highp, mediump, lowp in shaders、Setting the values of a struct array from JS to GLSL 与 Can I mute the warning about vertex attrib 0 being disabled?高级着色技巧How to make fisheye skybox shader、Show a night view vs a day view on a 3D Earth sphere、Drawing 2D image with depth map to achieve pseudo-3D effect 与 Apply a displacement map and specular map蒙版与通道How to use a 2d sprites transparency as a mask、How to tell if an image has an alpha channel 与 Passing in per sprite alpha values when batching。核心问答详解四API 细节、交互与 WebGL2 专区readPixels 与数据读取索引中与像素读取相关的问答集中在 How to read a single component with readPixels 与 I get invalid type error when calling readPixels前者讲解如何从缓冲区读取单一分量后者分析readPixels调用中类型参数不匹配导致INVALID_TYPE的常见原因是数据回读与 GPGPU 场景的高频踩坑点。交互与相机鼠标坐标How to get the 3d coordinates of a mouse click 讲解屏幕坐标到 3D 世界坐标的反投影缩放与相机How to implement zoom from mouse in 2D WebGL、Zooming to and stopping at object in a scene in WebGL 与 How can I move the perspective vanishing point from the center of the canvas?FPS 相机FPS-like camera movement with basic matrix transformations 用基础矩阵变换实现第一人称视角移动可与 webgl-3d-camera.md 结合阅读其他交互Get the size of a point for collision checking、How can I compute for 500 points which of 1000 line segments is nearest to each point?、How to determine the average brightness in a scene? 与 How to make WebGL canvas transparent。WebGL2 专区索引末尾单独开辟的WebGL2小节集中收录了 WebGL2 专属能力相关问答Accessing textures by pixel coordinate in WebGL2核心讲解texelFetch按像素坐标读取纹素给出示例vec4 color texelFetch(someUniformSampler, ivec2(pixelX, pixelY), intMipLevel);并演示了用 R8/RGBA8 数据纹理一次处理多组数组配套示例 example-1、example-2、example-3How can I get all the uniforms and uniformBlocks介绍如何枚举着色器的所有 uniform 与 uniform blockHow can I create a 16bit historgram of 16bit data讨论在 WebGL2 中利用浮点纹理与texelFetch构建 16 位数据直方图的方案How to process particle positions讲解将粒子位置存储在纹理中、在 GPU 侧完成更新的做法。此外How to support both WebGL and WebGL2 虽然是 WebGL1 兼容性话题但它给出了双版本支持的实用策略使用twgl.addExtensionsToContext(gl)将 WebGL1 扩展 API 统一到 WebGL2 风格的命名如gl.drawArraysInstanced(...)替代ext.drawArraysInstancedANGLE(...)并指出 WebGL2 在纹理格式上存在差异如浮点纹理在 WebGL2 中需使用gl.RGBA32F。作者最终的结论是“优先二选一”能在 WebGL1 完成的需求不必强上 WebGL2反之真正需要 WebGL2 特性的场景往往无法轻易回退。问答库的配套资源与阅读路线整套 QA 库并非孤立存在它与仓库其他教程模块互相补充问答主题配套基础教程帧缓冲 / Droste 效果webgl-render-to-texture.md数据纹理读取webgl-data-textures.md、webgl-pulling-vertices.md图像处理 / 帧缓冲淡出webgl-image-processing-continued.mdFPS 相机webgl-3d-camera.mdWebGL 基础原理webgl-fundamentals.md、webgl-how-it-works.md配套的 101 个可运行示例 HTML 全部位于 webgl/ 根目录命名规则为webgl-qna-主题-example-编号.html例如 webgl-qna-pure-webgl-dashed-line-example-1.html、webgl-qna-how-to-create-a-torus-example-1.html、webgl-qna-webgl-2d-tilemaps-example-1.html。建议的阅读路线是先通读本文梳理的知识地图按需进入对应问答文章阅读“问题 解答”再打开配套示例直接观察运行效果最后回到基础教程补齐原理。对于韩文读者webgl/lessons/ko/webgl-qna.md 提供了同等的韩文索引其余语言版本可参考各语言目录如 webgl/lessons/ja/、webgl/lessons/ru/中的对应索引文件。结语把问答索引当作 WebGL 开发的“故障手册”正如索引文档所自称的“Random Questions and Answers”这份问答库的价值不在于系统化的教程编排而在于以真实开发者的真实问题为入口覆盖 WebGL 生态中那些最容易卡住人的细节——从gl_PointSize的硬件上限、纹理坐标的 0.5 像素偏移到帧缓冲双缓冲的淡出技巧、WebGL1/WebGL2 的 API 差异。配合仓库中可直接运行的示例与基础教程这份索引足以成为日常 WebGL 开发中随手可查的“故障手册”遇到问题先在 webgl-qna.md 中定位主题再深入对应问答与示例最后回到基础章节补全原理即可高效地将问答经验转化为自己的代码。赞分享图形学【免费下载链接】webgl-fundamentalsWebGL lessons that start with the basics项目地址https://gitcode.com/gh_mirrors/we/webgl-fundamentals点击查看免费下载相关推荐WebGL 中 Alpha 的正确理解与六种处理方案webgl-fundamentals 实战指南WebGL 中 Alpha 的正确理解与六种处理方案webgl fundamentals 实战指南 本文基于 webgl fundamentals 仓库的 W图形学KubeBlocks 升级常见问题解答与实战指南KubeBlocks 升级常见问题解答与实战指南 前言 KubeBlocks 作为一款云原生数据库管理平台在版本迭代过程中可能会遇到各种升级问题。本文将从技术云原生容器编排后端数据库WebGL 纹理完全指南纹理坐标、mipmap、NPOT 限制与纹理图集webgl-fundamentals 实战WebGL 纹理完全指南纹理坐标、mipmap、NPOT 限制与纹理图集webgl fundamentals 实战 本文是 webgl fundament图形学创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Vidu S2论文深度拆解:时空建模、条件控制与推理优化全解析

Vidu S2论文深度拆解:时空建模、条件控制与推理优化全解析

1. 从标题拆解 Vidu S2 论文的真实技术骨架1.1 为什么这篇论文值得逐层拆开看Vidu S2 这个标题一出来,做过视频生成方向的人基本都会多看一眼。原因不复杂:视频生成这个赛道,从早期的逐帧拼接到后来的时空联合建模,再到如今把扩散…

2026/10/15 22:24:09 阅读更多 →
RePlugin Sample 示例工程完全解析:宿主接入、内置/外置插件与跨插件通信实战

RePlugin Sample 示例工程完全解析:宿主接入、内置/外置插件与跨插件通信实战

移动开发插件系统原生移动 【免费下载链接】RePlugin RePlugin - A flexible, stable, easy-to-use Android Plug-in Framework 项目地址: https://gitcode.com/gh_mirrors/re/RePlugin 点击查看 免费下载 本文基于 RePlugin 开源仓库中的 replugin-sample/README.…

2026/10/15 22:24:09 阅读更多 →
告别命令行!OpenClaw 小白保姆级安装教程,看完就会(TaoToken 统一 Key 版)

告别命令行!OpenClaw 小白保姆级安装教程,看完就会(TaoToken 统一 Key 版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 22:23:06 阅读更多 →

最新新闻

SSM与Spring Boot啥关系?底层相通,形态不同

SSM与Spring Boot啥关系?底层相通,形态不同

先问个问题,你有没有见过这种情况:招聘软件上写着"熟悉SSM框架优先",面试官却问你Spring Boot的原理,你打开某培训机构的课程目录,前面几章是SSM,后面几章是Spring Boot,到你真正做项…

2026/10/15 23:06:29 阅读更多 →
SSM与Spring Boot对比解析:分层架构与自动配置的演进之路

SSM与Spring Boot对比解析:分层架构与自动配置的演进之路

1. 认识SSM:不只是Spring、SpringMVC、MyBatis的简单叠加很多Java开发者入门时都会遇到一个绕不开的概念——SSM。我刚入行那会儿,带我的前辈丢给我一个老项目,让我先看代码再说。打开pom文件一看,Spring、SpringMVC、MyBatis三个…

2026/10/15 23:06:29 阅读更多 →
超融合HCI架构深度拆解:aSV、aSAN与aNET的协同之道

超融合HCI架构深度拆解:aSV、aSAN与aNET的协同之道

干过数据中心的朋友应该都有印象,过去想搭一套虚拟化环境,要买两台四路服务器跑计算虚拟化,再买一台双控存储阵列放数据,外加一堆万兆交换机做网络收敛。三种设备三个管理入口,任何一层出了性能瓶颈,排查起…

2026/10/15 23:06:29 阅读更多 →
PyTorch底层原理:dtype/device/grad/no_grad/DataLoader四大核心契约解析

PyTorch底层原理:dtype/device/grad/no_grad/DataLoader四大核心契约解析

1. 这不是“又一个PyTorch教程”:为什么我坚持用原生API写模型,而不是抄现成模板 你点开这个标题,大概率是刚被某个“5分钟跑通ResNet”的视频吸引进来,或者正对着Jupyter里报错的 RuntimeError: Expected all tensors to be on …

2026/10/15 23:06:29 阅读更多 →
离职率降到14.8%:这届打工人不是不想走,是走不起

离职率降到14.8%:这届打工人不是不想走,是走不起

最近网上在聊一件事:离职潮好像消失了。以前"金三银四"是跳槽旺季,现在办公室出奇地安静。有招聘平台发布的《2026离职与调薪调研报告》显示,2025年员工整体离职率降到14.8%,比2024年的15.3%又降了0.5个百分点&#xff…

2026/10/15 23:06:29 阅读更多 →
Linux网络栈核心:ring buffer与TUN/TAP队列机制全解析

Linux网络栈核心:ring buffer与TUN/TAP队列机制全解析

如果让我用一个结构解释 Linux 网络栈的吞吐秘密,我会选 ring buffer。你要调网卡、分析丢包、理解 TUN/TAP 这类虚拟网络设备,最后都会碰到这个循环数组。很多文章把 ring buffer 讲得很玄,实际它就是个固定大小的环形队列,硬件放…

2026/10/15 23:05:28 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →