/skToyRenderer

基于Vulkan的简易渲染器

Primary LanguageC++

skToyRenderer

基于 Vulkan 的简易渲染器

内容参考了Vulkan 官方教程,API 参考了Toy2D 项目

目前只完成了 3D 中加载.obj 模型的部分,后续还会尝试加入光源等效果。

也会考虑把Toy2D的 2D API 也移植过来。

编译运行方式

确保安装了 Vulkan SDK。

项目基于 CMake,我使用的是 VSCode 的插件。

需要配置 SDL、Vulkan、Tiny_obj 的依赖位置:

// .vscode/settings.json
{
  "cmake.configureArgs": [
    "-DSDL2_ROOT=<your SDL path>",
    "-DSDL2_IMAGE_ROOT=<your SDL_IMAGE path>",
    "-DVULKAN_DIR=<your Vulkan path>",
    "-DTINY_OBJECT_DIR=<your Tiny_Object path>"
  ]
}

编译结果

sktr是编译得到的 library,demo是一个可执行的例子。

demo中使用以下代码可以直接引入sktr的依赖:

target_link_libraries(${DemoName} PRIVATE sktr)

demo 运行效果

  1. branch 0.0.1_base branch 0.0.1_base

  2. branch 0.0.2_blinn-phong branch 0.0.2_blinn-phong

更新日志

  • 2023 年 10 月 20 日:基础模型加载
  • 2023 年 11 月 12 日:布林冯着色模型
  • 软阴影