双渲染后端
同时支持 WebGL 与 WebGPU 渲染器,开发者可根据运行环境选择或切换。
pureplay · AlanKhronos/pureplay
这是一个基于 JavaScript 与原生 Canvas 实现的棋类小游戏合集,作者描述包含五子棋、中国象棋、国际象棋、围棋、2048、俄罗斯方块、数独、扫雷、蜘蛛纸牌等 11 款经典玩法,可直接在浏览器中运行,也可在微信开发者工具中运行,并强调无...
PixiJS 是一个以 TypeScript 编写的 Web 2D 渲染引擎,仓库 README 将其定位为“面向 Web 的下一代、快速的 HTML5 创作引擎”。它的核心目标是在浏览器中提供高性能、轻量且易用的 2D 图形渲染能力,可用于游戏、数据可视化,以及替代 Canvas 2D 绘图等场景。
从 README 的定位看,PixiJS 并不只是一个“画图库”,而是一套围绕 2D 内容创作构建的渲染基础设施:它同时提供 WebGL 与 WebGPU 两种渲染后端,并配套资源加载、文本渲染、遮罩、滤镜、混合模式等能力。官方站点提供指南、教程、示例与 API 文档,便于开发者从入门到深入查阅。
需要说明的是,README 中出现的“最快”“无与伦比的性能”等表述属于项目自身的宣传性描述,具体性能表现与浏览器兼容范围仍需结合实际项目核验。
同时支持 WebGL 与 WebGPU 渲染器,开发者可根据运行环境选择或切换。
README 强调 API 既容易上手,又具备足够的表达力。
内置资源加载能力,示例中通过 `Assets.load` 加载纹理。
面向交互式应用提供输入支持。
支持文本绘制相关能力。
提供多样的图元绘制与 SVG 绘制能力。
支持在运行时生成与更新纹理。
用于裁剪与限定渲染区域。
提供滤镜效果支持。
PixiJS 的核心是 2D 渲染,README 明确列出 WebGL 与 WebGPU 两条渲染路径。WebGPU 作为较新的 Web 图形 API,其类型定义会直接影响 TypeScript 项目的配置,这一点在 README 的 TypeScript 章节中有专门说明。
从 Usage 示例可以看到 PixiJS 的基本使用模型:创建 Application 应用实例,初始化后把 app.canvas 挂载到页面;通过 Assets 加载纹理,用 Sprite 表示可绘制对象,设置锚点 anchor 与坐标,再通过 app.stage.addChild 加入舞台。舞台(stage)与容器式的子节点组织,构成了典型的 2D 场景图结构。
示例中使用 app.ticker.add 注册每帧回调,回调参数 time 提供 deltaTime。README 注释说明:在 100% 性能下 delta 为 1,用它与旋转量相乘可以得到与帧率无关的变换。这是 PixiJS 处理动画更新的推荐方式之一。
由于支持 WebGPU,PixiJS 的类型声明依赖 WebGPU 类型,来源随 TypeScript 版本不同而变化:
@webgpu/types,无需额外配置。"dom" 库,但部分版本可能缺少 GPUTextureUsage 等定义;此时建议用 @types/web 替代 "dom",并从 types 中移除 @webgpu/types 以避免冲突。README 给出的配置示例为安装 @types/web 作为开发依赖,并在 compilerOptions 中设置 lib: ["esnext"] 与 types: ["@types/web"]。
README 提供了两种起步方式:
npm create pixi.js@latest,通过 PixiJS Create CLI 一条命令完成初始化。npm install pixi.js。Usage 示例展示了一个最小可运行流程:
pixi.js 导入 Application、Assets、Sprite。Application 实例并 await app.init({ background: '#1099bb', resizeTo: window }) 初始化,其中可设置背景色与随窗口自适应。app.canvas 追加到 document.body。Assets.load 加载纹理,创建 Sprite,设置 anchor.set(0.5) 使锚点居中,并放置到屏幕中心。app.stage.addChild(bunny) 加入舞台。app.ticker.add 回调中按 time.deltaTime 更新旋转,实现帧率无关的动画。这段示例同时覆盖了应用初始化、资源加载、精灵创建、场景挂载与帧循环五个关键环节,适合作为理解 PixiJS 使用模型的起点。
Application、Assets、Sprite、stage、ticker 之间的关系,再逐步引入遮罩、滤镜与混合模式。@webgpu/types 与内置 "dom" 类型冲突导致编译报错。
Farbrausch 2001—2011 年 demo 工具源码合集,使用 C++,涉及 demoscene 与 D...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
该仓库为 Java 语言项目,名称 BuildGDX 由「Build」与「GDX」组合,推测与 B...