软光栅项目的实现以及效果演示

【投稿赢 iPhone 17】「我的第一个开源项目」故事征集:用代码换C位出道! 10w+人浏览 1.6k人参与

这是此项目的GitHub地址:

https://github.com/xingyuZHOU6/Games101-SoftRender.git

此项目实现了SSAA,双线性插值,shadow mapping,以及minmap

上面这张图是渲染立方体和一个平面的效果图,采用了phong shading,采用了两个点光源,照射面与非照射面的亮度有明显差异,以及下方的阴影。

这张图渲染了更复杂的模型,有一个小的问题,shadow mapping实现的时候我将在阴影中的像素直接跳过渲染,所以导致光线照射下来时,牛的鼻子会遮挡下面自己的模型。

这张图是shadow mapping时保存的正交投影下(使用的是平行光)的一张深度图,使用此图就能正确的判断像素点是否被遮挡。

这张图实现了minmap效果,在上面我们渲染牛的时候纹理是清晰可见的,等到将摄像机拉远后,牛身上的纹理几乎看不出来了,变暗是因为在模型离远之后,点光源照射的亮度减弱,所以导致亮度降低。

此项目是我在学完games101后做的项目,可能会有一些问题,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值