- 博客(244)
- 收藏
- 关注
原创 GLSL 完全入门指南:从着色器基础到实战特效
GLSL的核心在于理解数据流——顶点从CPU进入GPU,经过顶点着色器变换,插值后流入片元着色器,最终输出到屏幕。掌握向量运算和内置变量的含义,就能写出绝大多数视觉效果。从简单的颜色渐变开始,逐步加入纹理、光照、动画,你会发现GPU并行计算的强大能力远远超过CPU的逐像素处理。现在,打开你的编辑器,写一个,开始你的着色器之旅吧。
2026-08-12 14:22:45
169
原创 Python接入邮件API:从发送到收件箱的全链路指南
你的需求是什么?│├─ 只需要发送邮件│ ├─ 日发 < 100,内部使用 → smtplib + email(零依赖)│ ├─ 日发 < 500,快速开发 → yagmail(简洁)│ └─ 日发 > 1000 / 需要追踪 → SendGrid / Mailgun / SES(专业服务)│├─ 需要接收和管理邮件│ ├─ 简单读取、搜索 → imaplib(零依赖)或 imap-tools(推荐)│ ├─ 复杂邮件结构解析 → imaplib + mail-parser。
2026-08-12 13:43:35
112
原创 Caddy 使用指南
log {fields {@404 {status 404handle {Caddy 是一款非常适合现代 Web 开发的服务器,其自动 HTTPS、简单配置和丰富功能让开发者能够快速部署安全可靠的服务。无论是静态网站、反向代理还是 API 网关,Caddy 都能以最少的配置完成工作。建议从最简单的静态站点开始,逐步探索反向代理、负载均衡等高级功能。Caddy 的官方文档非常完善,遇到问题时可以随时查阅。祝使用愉快!🚀。
2026-08-11 09:10:58
174
原创 Nginx 使用指南
http {# 标准日志格式# JSON 格式日志(便于 ELK 等日志系统分析)'}';# 使用自定义配置Nginx 是一个功能强大且灵活的服务器软件,掌握其核心配置可以应对绝大多数 Web 服务场景。建议从基础配置开始,逐步深入反向代理、负载均衡和性能优化。在生产环境中,务必使用nginx -t测试配置,并优先使用reload而非restart来更新配置。更多高级功能(如 Lua 脚本扩展、流媒体代理、动态模块加载等)可以参考官方文档进一步学习。祝使用愉快!🚀。
2026-08-11 09:00:11
318
原创 cannon-es 使用指南
cannon-es 是一个轻量级的 3D 物理引擎,专为 Web 环境设计。它是经典 cannon.js 的现代分支,支持 ESM 模块化、TypeScript 类型安全,并持续合并社区改进。1.2 纯 HTML / CDN 引入(无需 Node.js)cannon-es 原生是 ESM 模块,不提供全局 对象,需要用 或直接通过 ESM CDN 引入。方法一:使用 importmap(推荐)方法二:直接使用 CDN URL(无需 importmap)二、核心概念2.1 物理世界 (Wor
2026-08-11 08:52:25
546
原创 STL 文件格式语法完全指南:从底层字节到工程实践
层级核心要点词法关键字不区分大小写,数值支持科学计数法语法每个 facet 必须包含恰好 3 个 vertex语义顶点逆时针排列 + 法向量指向外部 = 正确朝向二进制固定 50 字节/三角形,小端序,无对齐填充流形性每条边恰好被 2 个三角形共享才是可打印的精度二进制用单精度浮点,ASCII 建议保留 6 位以上小数STL 之所以能在 30 多年后仍然屹立不倒,正是因为它将"简单"做到了极致。
2026-08-07 17:24:39
152
原创 Three.js教程 附加章 ( B )
本章将综合运用前面所有章节的知识,构建一个完整的 3D 产品展示厅应用。B.3 完整代码实现B.3.1 入口文件(index.html)B.3.2 样式文件(styles.css)B.3.3 产品数据(src/products/ProductData.js)B.3.4 场景管理器(src/scene/SceneManager.js)B.3.5 产品管理器(src/products/ProductManager.js)B.3.6 UI 管理器(src/ui/UIManager.js)
2026-08-04 13:50:08
7
原创 Three.js教程 附加章 ( A )
在现代前端开发中,Vue.js 和 React 是最流行的 UI 框架。将 Three.js 与这些框架集成,可以构建交互式 3D 应用与数据可视化的结合体。A.2.2 使用 Trois(Vue 3 专用 3D 库)Trois 是一个为 Vue 3 设计的 Three.js 封装库,提供了类似 Vue 模板语法的组件。A.2.3 响应式数据驱动的 3D 场景A.3 React 集成 Three.jsA.3.1 基础集成(React + Hooks)A.3.2 使用 React Thre
2026-08-04 13:45:18
56
原创 Three.js教程 ( 7 )
后期处理(Post-Processing)是指在渲染完成之后,对渲染结果进行额外的图像处理,以实现各种视觉效果。7.1.2 常用后期处理效果效果说明应用场景Bloom(泛光)亮部发光、辉光效果灯光、霓虹灯、发光物体SSAO屏幕空间环境光遮蔽增加场景立体感和真实感SSR屏幕空间反射反射效果,玻璃/水面DOF(景深)焦点清晰,背景模糊电影感、人像摄影Motion Blur(运动模糊)快速运动时产生拖影速度感表现Color Grading
2026-08-04 13:39:50
75
原创 Three.js教程 ( 6 )
Three.js 提供了多种动画实现方式,从简单的帧循环到复杂的骨骼动画和状态机。6.2.2 时间驱动动画(deltaTime)6.2.3 常用运动公式6.3 AnimationMixer 关键帧动画6.3.1 播放 GLTF 模型内置动画6.3.2 多个动画切换6.3.3 动画混合与过渡6.3.4 自定义关键帧动画6.4 补间动画(Tween.js)6.4.1 安装与导入6.4.2 基本补间动画6.4.3 补间动画事件6.4.4 群组动画6.5 交互控
2026-08-04 13:38:55
142
原创 Three.js教程 ( 5 )
在实际项目中,我们很少用代码构建复杂几何体,而是使用 3D 建模软件(Blender、Maya、3ds Max 等)制作模型,然后导入到 Three.js 中。Three.js 通过不同的加载器支持多种 3D 格式:GLTF(GL Transmission Format) 是 Khronos Group 制定的 3D 格式标准,被广泛支持。GLTF 加载返回的对象结构:5.2.2 带 DRACO 压缩的 GLTF 加载DRACO 是 Google 开发的 3D 几何压缩算法,可大幅减小文件体积。5.
2026-08-04 13:36:43
119
原创 Three.js教程 ( 4 )
光源是 3D 场景中至关重要的元素,它决定了物体的立体感、色彩和氛围。没有光照,所有物体看起来都是平的(或全黑的)。Three.js 使用双向反射分布函数(BRDF) 来计算光照,主要分为:环境光(Ambient):均匀照亮,无方向漫反射(Diffuse):光线在粗糙表面散射,与法线方向相关(Lambertian)高光反射(Specular):光线在光滑表面反射,与视角方向相关(Cook-Torrance)自发光(Emissive):物体自身发光,不受光照影响4.2 各光源详解4.2.1
2026-08-04 13:34:36
131
原创 Three.js教程 ( 3 )
几何体定义了 3D 物体的形状,它由顶点(Vertex)、面(Face/三角形)、法线(Normal)、UV 坐标等数据构成。Three.js 历史上经历了从 到 的演变:现在统一使用 :3.1.2 内置几何体一览几何体说明构造函数BoxGeometry立方体 / 长方体SphereGeometry球体CylinderGeometry圆柱 / 圆锥ConeGeometry圆锥(Cylinder 的别名)PlaneGeometry平面
2026-08-04 13:29:18
156
原创 Three.js教程 ( 1 )
Three.js 是一个基于 WebGL 的 JavaScript 3D 图形库,它封装了底层的 WebGL API,让开发者可以用简洁的代码在浏览器中创建和渲染 3D 场景。本指南使用 Three.js r178(2025 年发布),这是目前最新的稳定版本之一。r178 主要更新:在 HTML 中通过 指定 Three.js r178 及其扩展的 CDN 地址:方式二:npm + Vite(推荐生产项目)使用 npm 安装,配合 Vite 构建工具:项目结构: 脚本配置:(基础配置):(n
2026-08-04 13:25:56
286
原创 TypeScript 实用指南
循序渐进:从基础类型开始,逐步引入泛型和高级类型善用 IDE:VS Code 对 TS 支持最好严格模式:尽可能开启类型优先:先设计好类型,再编写实现避免 any:使用unknown替代,或通过类型收窄处理。
2026-08-03 12:21:01
67
原创 排序算法全解析:实现、对比与时间复杂度
O(n²):冒泡、选择、插入(简单但慢)O(n log n):归并、快排、堆(高效通用)O(n):计数、桶、基数(线性但有限制)时间换空间 vs 空间换时间:- 快排:时间最优,空间一般- 归并:时间稳定,空间大- 堆排:空间最优,时间稳定。
2026-08-03 08:48:09
82
原创 Node.js 与 JavaScript 的区别:从浏览器到服务器的完整指南
JavaScript 是一种编程语言,Node.js 是 JavaScript 的一个运行时环境。概念类比JavaScript(语言)中文浏览器(运行时)在中国说中文Node.js(运行时)在新加坡说中文同样说中文,但面对的人、使用的工具、能做的事情完全不同。维度JavaScript(浏览器)Node.js定义编程语言JavaScript 运行时运行位置浏览器(客户端)服务器 / 终端引擎V8全局对象windowglobalDOM 操作✅ 支持❌ 不支持文件系统。
2026-08-03 07:56:17
172
原创 CSS 发展历程:从样式表到设计系统的审美革命
* 声明变量 */:root {/* 使用变量 */.button {/* 变量回退 */.button {/* 如果 --accent-color 未定义,使用 #e67e22 *//* 动态修改变量(JS) *//* 通过媒体查询改变 */:root {CSS 的二十五年,是一部从"让文字变好看"到"构建完整设计系统"的进化史。三个核心驱动力:布局能力的革命table→float→flex→grid组件化趋势。
2026-08-03 07:49:51
157
原创 HTML 发展历程:从静态文档到 Web 应用基石
HTML 走过了从简陋学术文档格式到复杂应用平台的三十年历程。向后兼容—— 1991 年的代码在 2024 年的浏览器中依然能运行渐进增强—— 新功能不破坏旧代码开放标准—— 不属任何公司,由社区驱动实用主义—— 先有实现,后有标准("实现优先"原则)了解 HTML 的历史,不仅是为了回顾过去,更是为了理解为什么今天的前端是这个样子,以及未来的 Web 将走向何方。📖下一篇文章预告:CSS 发展历程 —— 从font标签到 Tailwind 的审美革命。
2026-08-03 07:47:49
165
原创 Backrooms 3D 完整源码
关卡名称特性Level 0初始迷宫经典黄墙迷宫,含 Entity 2 和 Entity 3Level!奔跑长廊瓷砖会掉落,需要快速通过Level 9郊区街道实例化道路网络,开放世界感Level 76废弃工厂迷宫变体,更暗Level 114卧室可交互床 → 睡觉传送到 Level 9这份源码包含了从3D 渲染物理碰撞AI 实体多人同步到关卡设计的完整实现,是学习 Three.js 和 Rust WebSocket 编程的优秀实战项目。下载后记得 star ⭐ 支持!
2026-08-03 07:40:06
433
原创 API 设计与接口规范
paths:/users:get:summary: 获取用户列表in: queryschema:default: 1description: 页码in: queryschema:description: 每页数量in: queryschema:description: 状态过滤responses:'200':description: 成功content:schema:'401':description: 未认证'429':description: 请求频率超限。
2026-08-03 07:25:37
294
原创 OBJ + MTL 模型格式完全指南:从入门到精通
只有顶点索引(几何体)f 1 2 3# 顶点 + 纹理坐标(v/vt)# 顶点 + 法线(v//vn)# 完整形式(v/vt/vn)在一个面中,所有顶点的格式必须一致OBJ支持多边形(不限于三角形),但现代图形API通常需要先三角化索引从1开始,这是最容易犯的错误。
2026-08-03 07:21:12
159
原创 内网穿透完全指南:把本机服务安全暴露到公网
内网穿透的本质是。具体流程:你的内网机器 公网服务器 外部用户(客户端) (服务端)│──1.建立长连接──────→ │ ││ │──2.监听公网端口 ││ │←────3.访问请求────────│。
2026-08-02 20:59:09
77
原创 Rust之树莓派GPIO篇:从零开始掌控硬件
在树莓派上使用Rust进行GPIO编程,兼顾了极致性能(接近C++)与内存安全(无GC、无数据竞争)。Rust生态提供了从底层直接操作寄存器到高层设备抽象的多层库选型,本文带你全面掌握。
2026-08-02 19:27:14
77
原创 C++之树莓派GPIO篇:从底层寄存器到现代C++抽象
在树莓派上使用C++进行GPIO编程,意味着拥有极高的性能上限和底层控制力。无论是驱动电机、响应高频传感器,还是构建实时控制系统,C++都能提供Python难以企及的精确度与效率。本文将带你系统性地掌握树莓派C++ GPIO编程,从主流库选型、核心概念到实战代码,全面入门。
2026-08-02 19:12:34
56
原创 Python之树莓派GPIO篇:从零开始掌控硬件(完整版)
GPIO是“通用输入/输出”(General Purpose Input/Output)的缩写,是树莓派与外部世界沟通的桥梁。**设置某个引脚为高电平(3.3V)或低电平(0V)**来控制外部设备(如点亮LED、驱动电机)读取某个引脚的电平状态来感知外部世界(如检测按钮是否被按下、读取传感器数据)树莓派上的GPIO引脚本质上是芯片(Broadcom SoC)直接引出的接口,可以通过软件控制其行为。
2026-08-02 19:09:19
366
原创 x86-64汇编从入门到精通
指令描述示例.byte定义8位数据.short定义16位数据.word定义32位数据.long定义32位数据.quad定义64位数据.ascii定义字符串.asciz定义字符串(自动添加NULL).space预留空间.space 100.rept重复定义.rept 4;.byte 0;.endr。
2026-08-02 19:02:11
523
原创 AArch64汇编从入门到精通
指令描述示例.byte定义字节.short定义16位.word定义32位.quad定义64位.asciz定义字符串(自动添加NULL).ascii定义字符串(不自动添加NULL).space预留空间.space 100。
2026-08-02 18:56:10
193
原创 三角函数大全
函数缩写定义对边/邻边/斜边关系正弦sin对边 / 斜边余弦cos邻边 / 斜边正切tan对边 / 邻边余切cot邻边 / 对边正割sec斜边 / 邻边余割csc斜边 / 对边C/|/ |c / | a/ |/θ___|B b Asin θ = ycos θ = x单位圆的重要性质:x² + y² = 1,即 sin²θ + cos²θ = 1。
2026-08-02 18:46:31
492
原创 Cargo 详细使用指南 — 从入门到精通
本节将全面介绍 Cargo 的使用方法,从基础命令到高级技巧,助你高效管理 Rust 项目。通过熟练掌握 Cargo,你可以高效管理 WebSocket 服务的整个开发生命周期,从项目初始化、依赖管理、构建优化到 CI/CD 集成,让开发流程更加顺畅和专业。当需要管理多个相关的 Rust 包(库或可执行文件)时,工作空间是推荐方案,它能实现依赖共享、提高编译效率并保持版本一致性。Cargo 是 Rust 的构建系统和包管理器,是 Rust 生态的基石工具。目录,根目录只放置配置文件和文档,保持项目整洁。
2026-08-02 18:36:30
156
原创 如何用Rust搭建自己的WebSocket服务器
选型:根据场景选择tokio-tungstenite、axum-signal或warp基础实现:Echo服务器 → 广播聊天室高级特性:优雅关闭、心跳、限流、TLS、背压控制测试与部署:多语言客户端测试、Docker化、Nginx负载均衡调优与监控:性能优化、Prometheus指标Rust的WebSocket生态已相当成熟,足以支撑大规模实时应用。HTTP/3 WebTransport协议的成熟更完善的WebAssembly客户端支持AI辅助的实时流处理场景。
2026-08-02 18:31:08
339
原创 rust精通教程 (3)
本文介绍了Rust生态中的GUI开发框架,重点讲解了即时模式GUI库egui的使用。文章首先对比了Rust主流GUI框架的特点和适用场景,包括egui、iced、slint等。然后通过代码示例详细展示了egui的基本设置和高级组件开发,涵盖文本输入、按钮、对话框等基础控件,以及水平/垂直布局、网格布局等界面组织方式。示例代码演示了如何创建包含表单、交互元素和自定义样式的GUI应用,体现了egui简单易用、快速开发的特性。
2026-02-27 08:49:37
241
原创 rust精通教程 (2)
本文介绍了 Rust 中的宏编程,重点讲解了声明式宏(macro_rules!)的使用方法。主要内容包括:1) 基础语法和模式匹配,展示如何定义类似 vec! 的宏;2) 不同类型参数的匹配方式(expr、ty、ident等);3) 递归宏的实现技巧,如 sum! 和 json! 宏;4) 实用宏示例,包括调试打印、断言、哈希表创建等。文章通过丰富代码示例演示了 Rust 宏的强大元编程能力,帮助开发者掌握编译时代码生成技术。
2026-02-27 08:31:26
520
原创 rust精通教程 (1)
本教程深入介绍了 Rust 中的 unsafe 编程和 FFI(外部函数接口)技术。主要内容包括: Unsafe Rust 基础:解释了 unsafe 块和函数的用法,允许执行解引用裸指针、调用外部函数等操作,同时强调应该将这些不安全操作封装在安全抽象中。 裸指针操作:展示了如何使用 *const T 和 *mut T 裸指针,包括创建、解引用和注意事项。 FFI 调用 C 代码:详细说明了如何通过 extern 块声明和调用 C 函数,包括内存管理函数如 malloc/free,以及如何创建安全的 Rus
2026-02-27 08:27:25
329
原创 rust进阶教程 (3)
Rust异步编程教程摘要:本文深入讲解Rust异步编程的核心概念与实践,包括Future trait原理、Tokio运行时配置、异步I/O操作和并发控制。通过代码示例展示了异步函数编写、文件/网络操作、HTTP请求处理等常见场景,并介绍了使用JoinSet管理并发任务的方法。教程着重于Rust异步编程的高效性和内存安全性,帮助开发者掌握处理I/O密集型任务的现代编程范式。
2026-02-27 08:24:06
227
原创 rust进阶教程 (2)
本文介绍了Rust并发编程的核心特性,包括线程创建与同步机制。主要内容涵盖: 线程基础:使用std::thread模块创建线程,move闭包转移所有权 线程通信:通过mpsc通道实现消息传递,支持多生产者模式 共享状态:使用Mutex互斥锁保护数据,配合Arc实现线程安全共享 高效原子类型:AtomicUsize等原子操作替代锁机制 读写锁RwLock:允许多读或单写访问 屏障同步:Barrier实现多线程执行点同步 Rust通过所有权系统和类型检查,在编译时防止数据竞争,为并发编程提供安全保证。
2026-02-27 08:20:50
611
一个实木桌子的GLB模型
2026-08-03
一个带水珠橘子的3d模型
2026-08-02
一张大理石圆桌的3D模型
2026-08-02
一张白色的床的模型-glb格式
2026-08-02
一个带动画的500K超高模3d人物模型
2026-08-02
后室多人探索游戏html源码
2026-08-02
HTMLX.js - 强大的HTMLElement扩展库 v2.0(拖拽/观察器/DOM操作增强)
2025-06-07
qrcode二维码生成美化扫描
2025-05-02
glass.css是一款玻璃按钮css
2025-04-13
jw.min.js自制javascript库
2025-04-13
html js自制jw.js,使用方法如下
2025-04-12
three.js主光源不好使的问题
2025-08-22
jwon.js没触发Proxy的问题
2025-08-09
file.h库性能优化建议
2025-07-14
树莓派pip3安装flask错误
2025-07-10
自制响应库问题.求解答
2025-06-26
html highlight.js不好使
2025-05-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2