
问题集:图形学
ExisfarAll articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Related Articles
Comment
匿名评论隐私政策
Catalog
- 1. Graphics: 面试
- 1.1. 介绍一下渲染管线越详细越好?
- 1.2. 介绍一下延迟渲染及其优缺点?
- 1.3. 介绍一下抗锯齿有哪些方法?
- 1.4. 法线贴图的相关概念?为什么是偏蓝的、法线空间到世界坐标的变换计算等。
- 1.5. 了解游戏中的贴花是如何实现的?(雷火提前批)这个最好去查一下代码是如何实现的,大致有两种方法、对forward shading来说可以是在鼠标点击的物体表面产生一个几何体,然后绘制一遍,如果是defered shading则可以生成一个几何体,绘制到相应的gbuffer中(可以是albedo和normal)。
- 1.6. 介绍一下pbr的材质?
- 1.7. 如何在一个三角形中均匀采样
- 1.8. 介绍一下如何构建场景的BVH?
- 1.9. 如何实现重要性采样?(米哈游提前批)包括光源和各种材质。
- 1.10. 实时渲染的阴影算法?PCF,PCSS等具体实现。
- 1.11. 介绍一下IBL及其具体实现?这部分问的也非常多,雷火、字节、腾讯都有问到。涉及到不同材质的IBL如何生成以及如何使用,建议细看。如何提高实时渲染的质量?对于静态场景可以用光照烘焙等预计算方法将光照信息烘焙到纹理中,如果是动态场景,可以使用光线探针。腾讯还问了个问题就是,如果我的阴影是用光照烘焙来做的,那么当一个移动的物体经过这块阴影的时候如何让阴影在动态物体上体现出来。
- 1.12. 介绍一下MIPMAP?这个要讲清楚MIPMAP解决的问题是什么,以及摩尔纹等现象的原理。
- 1.13. 游戏中如何实现点选物体的功能?我知道的有两个方法,一个是使用光线投射的方法,通过屏幕上的点求出其相应的世界坐标(2维的点其实对应的是三维的一条线,因此随便求线上一个点就行,z坐标置1)然后又知道相机的世界坐标,这样可以做光线求交。另一个方法是多准备一个framebuffer,给每个面片都hashmap一个index对应的颜色,比如32位的index每8位分开作为RGBA。然后读取屏幕上对应framebuffer上的颜色就行。(可以在点触的时候绘制一遍即可)。
- 1.14. 是否了解骨骼动画的实现?
- 1.15. 如何测试渲染流程中的瓶颈?腾讯。
- 1.16. 角色压到草后草弯曲是如何实现的?
- 1.17. 大世界渲染的场景管理方法?(雷火主管面)
- 1.18. 是否又了解的GPU框架简单介绍?