-
使用球面坐标制作一个球面网格(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),这是一种用于渲染许多光源的技术。
-
Notifications
You must be signed in to change notification settings - Fork 0
fuyingdi/STMRenderer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
My rasterization software renderer.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published