Skip to content

fuyingdi/STMRenderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

STMRenderer

目标

  • 使用球面坐标制作一个球面网格(Mesh),并渲染它。

  • 实现简单的漫反射(Diffuse)和光泽反射(Specular)着色器。

  • 实现方向光(Directional Lights),点光(Point Lights)和聚光灯(Spot Lights)。

  • 高度图(Heightmap)渲染。

  • 为简单的网格格式(如Wavefront.obj)编写一个简单的解析器(Parser),将其导入程序并进行渲染。特别是,尝试一下导入并使用纹理(Textures)渲染网格物体。

  • 实现一个简单的 Minecraft 风格的渲染器。渲染一个Minecraft-like 的世界其实出乎意料的简单,而且很具有学习价值。

  • 使用立方体贴图(Cubemaps) 渲染反射效果。

  • 使用阴影贴图(Shadow Maps) 渲染阴影。

  • 实现视体剔除(View Frustum Culling)。这是一种简单但非常实用的优化技术。

  • 实现粒子系统的渲染。

  • 学习如何实现伽马矫正(Gamma Correction)。

  • 实现法线贴图(Normal Mapping)。

  • 学习如何使用实例渲染(Instanced Rendering)有效地渲染大量网格。

  • 给网格蒙皮(Skinning),然后让它动起来。

  • 实现各种后处理(Post-processing)效果。像 辉光(Bloom,使用高斯模糊),环境光遮蔽(Ambient Occlusion)与 屏幕空间环境光遮蔽(SSAO),反走样(Anti-aliasing)与快速近似反走样(FXAA)。

  • 实现延迟着色(Deferred Shading),这是一种用于渲染许多光源的技术。

About

My rasterization software renderer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published