基于 UE 4.27 的版本添加自定义的 ShadingModel ,大致分为两步:
1. 在 UE Editor 中添加自定义的 ShadingModel 入口。这样在创建材质时可以选择对应的 ShadingModel 。
2. 在 Shader 中对自定义的 ShadingModel 做渲染上的处理。比如自定义的 BxDF 函数,以及对光照的特殊处理等。
[阅读全文]基于 UE 4.27 的版本添加自定义的 ShadingModel ,大致分为两步:
1. 在 UE Editor 中添加自定义的 ShadingModel 入口。这样在创建材质时可以选择对应的 ShadingModel 。
2. 在 Shader 中对自定义的 ShadingModel 做渲染上的处理。比如自定义的 BxDF 函数,以及对光照的特殊处理等。
[阅读全文]最近在学习 UE 相关的使用,正好看到一篇文章讲解用 Control Rig 实现简单捏脸功能,这种小而美的完整案例挺适合来练手的,涉及到了 UI、蓝图、动画、骨骼等方面,值得推荐一下。
[阅读全文]UE 中提供了 凹凸贴图偏移
的贴图来实现修改 UV 坐标达到提升表面细节,使材质产生深度错觉。凹凸贴图偏移是 UE4 中的术语,其实就对应于 LearnOpenGL 网站上的 视差贴图
。
学习 UE4 虚幻引擎的一些练习。
[阅读全文]在知识星球里面,有一个同学咨询纹理池是如何实现的。
关于纹理池的实现方案以及背后的原因、细节、技巧,只有长篇大论才足以论道,本文暂表不提。
针对问题本身,笔者发现这位同学对OpenGL中的共享资源存在误解,他认为OpenGL中可以共享FBO。
为了纠正错误,也为了让大家在使用OpenGL之前理清一些基本概念,笔者专门附上一篇旧文系统讲述上下文的创建及共享。
[阅读全文]最近没事在刷油管涨姿势,然后又发现了一个宝藏视频系列。
[阅读全文]在掘金上看到最近的新活动 “代码吸猫”,技术类文章只要和猫有关就行。
[阅读全文]Half Lambert 模型(也叫作半兰伯特模型)在 Lambert 模型的基础之上做了一些优化。
在 Lambert 模型中,光照无法到达的区域,比如模型的背面,模型外观通常是全黑的,没有任何明暗变化,而 Half Lambert 模型就是改善这一状况。
回顾 Lambert 模型的计算公式如下:
$c_{diffuse} = (c_{light} \cdot m_{diffuse}) \cdot max (0,n \cdot I)$
[阅读全文]在标准光照模型中,可以把光照分为四种:
用一张图来表示各个光照:
而 Lambert 光照模型主要是处理物体漫反射的。
[阅读全文]光照可以说是整个计算机图形学里面最重要的部分了,当展现物体时如何模拟真实世界中的光照环境,这往往是很复杂的。
由于光是可以散射的,一个物体不仅仅可以接收来自直接光源的照射,还可以接收来自周围环境的散射光,而在渲染时,要计算周围环境的散射光就无疑加大了计算量,因为周围环境远比光源复杂多了。
下面就是一张很逼真的光照渲染实例:
如果说这是用手机拍的照片,可能我都分不出来哪里有问题,而计算机模拟真实感渲染就是追求这一目标吧。
[阅读全文]