周报 第2期
文章
GBuffer helper - Packing integer and float
GBuffer Layout是Defered Rendering重要组成。Layout一般都需要将int和float的数值编码到GBuffer对应LDR纹理中。本篇博文主要论述了如何编码int和float数值的过程。
PBR - github (code)
Nadrin用不同的图形API(OpenGL, OpenGLES, Vulkan, Dx11, DX12)实现PBR和IBL算法。
Physically Based Rendering in Filament (code)
Filament是实时的基于物理渲染引擎,支持Android,iOS,Linux,macOS, Windows, 和WebGL。该博文主要阐述了PBR公式和背后的理论,并且介绍了特定算法的选择缘由。
px_render.h rationale (code)
px_render一个单独的c++头文件,实现了底层的渲染库。
-
本博文介绍如何在引擎开发中编写跨平台的shader?利用宏,或者以hlsl和glsl为backend来重新定义一个shader语言,或者字节码间的转换,或者选择一个shader语言,利用第三方工具(HLSL Cross Compiler - UE4, hlsl2glslfork - Unity)进行不同着色语言的转换。
Visualizing floating point precision loss
可视化float数值类型的精度缺失。
rasterization vs ray tracing vs path tracing
栅格化 vs 光线追踪 vs 路径追踪
-
该pdf主要介绍如何将独立游戏inside移植到ios平台的过程。
-
介绍了目前基于GPU的字体渲染的技术水平。
post-processing effects on mobile: optimization and alternatives
手机端GPU一般采用基于tile的渲染体系。基于这个基本点,forward rendering比deferred rendering更适合作为移动端的渲染技术方案。文章中详细剖析了Bloom在手游Nordeus’s Spellsouls的优化过程和其他不基于后期处理技术的bloom效果方案。
教程
-
一个可交互式插图的关于线性代数的网站。
-
Siggraph的课程,旨在介绍移动端图形开发的当前现状。
资料
-
给初学者关于shader, 数学和3D的资料。
Compilation of 100+ 3D graphics academic
Hugo Viala收集的关于3Dgraphics学术论文。以主题归类,如全局光照,阴影,渲染等等。
工具
-
在线的着色器编译器。
-
idb, facebook开源的一个终端工具。idb提供了类似于android平台的adb的功能。
-
可以把hlsl字节码逆向到hlsl文本的lua脚本。