# 从零开始制作AI图形引擎 **Repository Path**: z-lang/zaige_book ## Basic Information - **Project Name**: 从零开始制作AI图形引擎 - **Description**: 介绍AI图形引擎Zaige的开源书 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-05 - **Last Updated**: 2024-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 从零开始制作AI图形引擎 《从零开始制作AI图形引擎》这本开源书是我学习AI技术和图形引擎技术的历程记录。 本书的主要目标,是从零开始实现一个AI图形引擎[Zaige](https://gitee.com/z-lang/zaige), 它能够借助Stable Diffusion等AI模型自动生成游戏资源。 本书的第一版实现2D引擎,未来会逐步扩展到3D。 这本书的实现代码是Z语言、Python、和JS,分别用于: - Python:调用AI模型生成游戏资源 - JS:实现WebGPU版的图形引擎 - Z: 调用Python和JS提供的基础库,实现AI图形引擎。 其中,Z语言是我个人设计的一门编程语言,它可以转译成可读性很强的Python、JS程序,从而实现这两个生态的无缝衔接。 ## 相关工程 - [Zaige引擎](https://gitee.com/z-lang/zaige) - 本书的配套AI图形引擎。 - [Z语言编译器](https://gitee.com/z-lang/zc) - 这个是Z语言的编译器实现,欢迎大家一起参与开发。 - [Z语言炼成记](https://gitee.com/z-lang/devlog) - 这是Z语言编译器的配套开源书,详述了Z语言编译器是如何开发出来的,可供参考。 - [普明学图形](https://gitee.com/visus/graphics) - 这是我学习图形引擎相关技术的笔记。 - [普明学AI](https://gitee.com/visus/ai) - 这是我学习AI相关技术的笔记。 ## 目录 - [引言](./引言.md) - [全书概览](./全书概览.md) - [图形引擎概览](./图形引擎概览.md) - [AIGC概览](./AIGC概览.md) ### 第一阶段:你好,Zaige! - [起点](./P1/01_起点.md) - [Hello Canvas](./P1/02_Hello_Canvas.md) ### 第二阶段:Zaige 2D ### 第三阶段:Zaige 3D ## 大纲 - 第一阶段:你好,Zaige! - 解读: - 2D引擎解读:PixiJS - 2D引擎解读:Phaser - AI解读:Stable Diffusion文生图 - 神经网络基础 - Diffusion模型 - VAE - Attention - 最简单的AI引擎架构 - 衍星纪 - 引擎制作: - Canvas API/CanvasRenderer - Tilemap - Sprite/SpriteSheet/动画 - AI: - Stable Diffusion模型的训练与使用 - 作物材质的AI生成 - 组装: - HTTP服务器 - 组装:Hello Zaige! - 小结与展望 - 第二阶段:Zaige 2D - 解读: - WebGPU解读 - WebGPURenderer 2D - 本阶段用到的AI库的解读 - 图像AI(CV) - 扩图 - 微调 - 内容检测 - 边界和骨架 - 分割 - 风格 - VAE - GAN - Diffusion Models - NeRF - 文本AI(NLP,LLM) - word embedding - seq2seq - Attention - Transformers - Bert - LLM - GPT - 稳定扩散模型 - LDM - AutoEncoder - Latent Space - unet - CLIP - ControlNet - SDXL - LCM - 语音生成TTS - 音乐生成 - 引擎制作: - 场景图(SceneGraph) - 骨骼 - 着色器与特效 - 音乐与音效 - 控制系统 - 碰撞检测 - 道具系统 - 对话系统 - 寻路AI - AI: - Sprite的AI生成 - SpriteShhet的AI生成 - 动画的AI生成 - Tilemap地块的AI生成 - AI生成道具 - AI辅助文案 - 组装: - 引擎:Zaige 2D - 游戏:衍星纪 - 第三阶段:Zaige 3D - 解读: - 3D引擎 - three.js - babylon.js - PlayCanvas - 3D图形学 - 3D图形引擎的数学基础 - 3D图形转换 - 光照与阴影 - 着色器 - 引擎模块 - Assets加载 - 场景 - 镜头 - 3D模型 - 3D纹理 - 遮罩与裁剪 - AI - 3D模型的AI生成 - 引擎制作: - 3D场景图(SceneGraph) - 镜头 - 3D模型与纹理 - 碰撞检测 - 物理系统 - 光线与阴影 - AI: - 3D模型的AI生成 - 3D纹理的AI生成 - 3D纹理编辑 - 组装: - 引擎:Zaige 3D - 游戏:衍星纪2.5D战斗场景 - 总结与展望