Implementing a Soft Renderer for Learning CG.
Mostly coming from Muli3D, improved by my understanding. It is still a long and hard trip, but worthwhile.
Premake5 is used to build the project, so you need to download a Premake5 execuatable file and put it into the project root directory.
Next, open a command window and type the generating command, e.g.
premake5 vs2017or
premake5 vs2015(Currently only support Windows platform, other platforms like OSX and Linux is still on the schedule.)
After executing the command "premake5 vs2017", you can find the Visual Studio solution files at "$(ProjectRoot)/Workspace/vs2017/YwSoftRenderer.sln", open it with Visual Studio and build the solution, all demo executable files are located at "$(ProjectRoot)/Binaries/".
- Math support.
- Base rasterization and rendering stuffs as Muli3D supported.
- Premake5 support.
-
Inputmodule. -
Stencil Buffersupport. -
State Blockoptimize with pooling. -
Model Data Loadingmodule. -
Resource and IOmodule. -
Texture Data Loadingmodule. - More
Basicdemos. - Basic
Shading with Lightdemo (Blinn-Phong, Normal-Mapping). -
Triangle Shaderdemo. -
PBRdemo. -
Alpha Blendingsupport. -
Alpha Testsupport. -
Triangle Shader with Dynamic Vertex Generatingsupport. -
Material Filesupport. -
IBLsupport. - New
PBRdemo. [Working on...] -
Linear Color Spacesupport. -
MSAAsupport. -
Skeletal Animationsupport. -
Scene Space Managmentmodule. -
Dynamic Shadowdemo. -
Triangle Subdividedemo. -
Postprocess Effectdemo. -
Logmodule. -
Low Level Memory Poolsupport. -
Linuxsupport -
Mac OS Xsupport. -
Global Illuminationsupport. -
Raytracing Core and Raytracing Shadersupport. -
Custom Shader Compiler and Runtimesupport. - Something unknown...










