#engine #game #kaige #game-engine #2d-3d #3d-rendering #rust

bin+lib kaige_renderer

为 KaiGE 制作的 2D 和 3D 渲染器,但也可在其他情况下使用

1 个不稳定版本

0.0.1 2023 年 12 月 12 日

#40#3d-rendering


kaige 中使用

自定义许可协议

53KB
464

kaige_renderer

检查清单

  1. 学习 wgpu 基础知识

    • 理解 wgpu 概念,如设备、队列和命令缓冲区。
    • 熟悉 wgpu 的管道架构。
  2. 设置 wgpu

    • 使用 wgpu crate 访问 wgpu API。
    • 设置 wgpu 实例和适配器。
  3. 窗口集成

    • 将 wgpu 集成到窗口系统(例如 winit)以处理窗口创建和输入。
  4. 表面和交换链

    • 从窗口创建一个表面。
    • 设置用于向屏幕显示图像的交换链。
  5. 创建图形管道

    • 定义着色器阶段(顶点、片段等)。
    • 指定顶点输入格式。
    • 配置光栅化设置。
    • 设置深度和模板测试。
  6. 缓冲区和内存管理

    • 创建用于 3D 渲染的顶点和索引缓冲区。
    • 管理着色器的统一缓冲区。
    • 处理内存分配和同步。
  7. 纹理加载

    • 加载和管理用于 2D 和 3D 渲染的纹理。
  8. 实现 2D 渲染

    • 开发精灵渲染系统。
    • 支持变换(平移、旋转、缩放)。
    • 处理 2D 元素的分层和混合。
  9. 实现 3D 渲染

    • 构建 3D 模型加载系统。
    • 实现 3D 场景的相机系统。
    • 集成光照和着色技术。
  10. 优化

    • 实现 3D 对象的视锥剔除。
    • 探索 wgpu 的多线程能力以进行并行处理。
  11. 错误处理和验证

    • 实现健壮的错误处理和验证检查。
    • 在开发期间利用 wgpu 验证层。

资源

  1. wgpu 文档

  2. 教程和示例

  3. 书籍

    • "WebGPU 编程指南" by David Rousset
  4. GitHub 仓库

  5. 社区和论坛

依赖项

~21–58MB
~727K SLoC