shadow复习之planar shadow

planar shadow

通常来说 shadow都是画一个map
这个map有个很大的问题,那就是size有问题
你希望有很高的精度,就必定要用大size的图片,这显然是不太妙的
那么这里就出现一个取巧的法子,如果你只考虑投影到平面上,光源是directional的
那么可以经过计算得到物体的所有点投影到具体的平面的位置,这些信息,可以构造一个mesh出来
https://zhuanlan.zhihu.com/p/31504088

基于这个灵感

可以想想如果对于任意地形行不行

我们只考虑给主角一个影子

基于一个假定,光的角度别太大,我感觉这样就行了

预先把静态的物体搞成高度图,分好块

每走一步,就能找到需要哪些tile,就能画一个FBO,然后有aabb,拿着射线直接SDF Ray march,好了,思路就是这样了,有空再写代码实现吧

这个做法的影子,精度感觉是蛮高的,不过直接多画一次,只给主角的话,也不是不行,整体场景的话,还是算了吧

然而我接触的行业里,很多场景都有很多灯,难顶

相关推荐
清醒的兰10 小时前
OpenGL: QOpenGLShaderProgram
计算机视觉·图形渲染
阳光开朗_大男孩儿4 天前
图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介
c++·图形渲染
YxVoyager9 天前
OpenGL学习笔记(十二):初级光照:投光物/多光源(平行光、点光源、聚光)
c++·图形渲染·opengl
BuHuaX11 天前
Unity中的虚拟相机(Cinemachine)
数码相机·unity·游戏引擎·图形渲染·动画
敲代码娶不了六花14 天前
Blender的材质节点中 透射(Transmission) 和 Alpha的区别
3d·图形渲染·blender·材质
YxVoyager14 天前
OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)
c++·笔记·图形渲染
YxVoyager15 天前
OpenGL学习笔记(七):Camera 摄像机(视图变换、LookAt矩阵、Camera类的实现)
c++·笔记·图形渲染
YxVoyager16 天前
GAMES101学习笔记(五):Texture 纹理(纹理映射、重心坐标、纹理贴图)
笔记·学习·图形渲染
_Yhisken22 天前
【读书笔记】万字浅析游戏场景中常见的渲染性能优化手段
游戏·unity·性能优化·图形渲染·gpu
拿我格子衫来24 天前
图形编辑器基于Paper.js教程22:在图形矢量编辑器中,实现两个元素的差集,交集,并集,切割
前端·javascript·图像处理·编辑器·图形渲染