Skip to content

L1uyu/Toy-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

ZWoC 2021 Project List

ZWoc is for Zihan Winter of Code, which is a GSoC-like WoC host by Liao Zihan. This is similar to GSoC, but it is no-paid. Actually, it is a virtual WoC only for Liao Zihan.

To practice English skill and manage the roadmap of my render engine, I set up the virtual WoC and list To-do projects below. If you are interesting in any one, please contact me.

Email: [email protected]

1. Encapsulate the Dx12 renderer

Skill: C++

Toy render engine has an unfinished DirectX12 renderer. That part has presented basic dx12 framework, but need to be encapsulated more efficient.


Toy Render Engine

这个项目立项之初是想记录下我学习龙书的进度,发挥下GitHub最原始的代码托管功能 :)

不过在学习的过程中,我有了完成一个自己的渲染引擎的想法。打算在龙书的内容外,再添加自己喜欢的实验性feature。当然现在龙书也没有看完,实验性feature也没想清楚。 一步一步来吧👍

编译

使用Windows SDK和VS2019. 在最近一次的VS2019更新后,龙书部分的代码就无法通过编译了。最终也不确定哪里出错了,只好换回VS2017(未更新)。

完成情况

  • 基础框架 DX12初始化
  • 绘制基础的不透明几何体
  • 材质 PBR光照 平行光 点光源 聚光灯实现
  • LTC 面光源
  • 贴图 MSAA 4x
  • 透明 混合
  • 待续

重构

着实被工作量打击到了,修改框架的话效率相当低,所以打算停止重构,直接重写。当然不会在这个项目里从头来过,我重新建立了一个私库来写新的引擎,同时学习一下更现代的开源引擎的特性。这个项目就继续学习龙书。

又进行了一些处理,开始进一步重构龙书的框架了。先是对D3D部分做了封装。不过龙书原本的框架并不适合写引擎,所以现在我的代码改成了一片混乱。现在从混乱的应用层中生成了DLL,可以为之后的编辑器使用。混乱到生出了惰意,建议跟随龙书学习时不要和我一样胡思乱想。

第一次进行代码重构,修改了龙书的框架。将D3D部分和相关的类写进库,由App部分调用库。虽然依旧不合理。日后慢慢阅读其他项目的架构再进行重构。

闲话

本地的git邮箱设置错了,这么多天的提交都没有记录到小绿格子上,我好心痛。

About

My Toy Render Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published