首页 > 阿里互娱(阿里游戏)转正意向书到手,游戏引擎/客户端面经。
头像
LINKH
编辑于 2019-12-16 10:53
+ 关注

阿里互娱(阿里游戏)转正意向书到手,游戏引擎/客户端面经。

实习生面试时的问题,只能记个大概。。。

1.解释下渲染方程(…)

2.渲染管线详细过程(顶点着色器->曲面细分->图元装配->几何着色器->光栅化->像素着色器->混合…)

3.几何着色器  曲面细分 详细说下(  … )

4.深度测试Early Test 详细说下,为什么要有这个过程(Early Test在像素着色器之前进行的一个操作,目的是剔除像素深度比当前存在像素深度高的像素,减低像素着色器重复使用率)

5.为什么不用alpha测试 (alpha 在像素着色器李判断,会被手动剔除,从而使Early Test发生错误)

6.MVP矩阵以及空间变换(模型矩阵=Scale*Rotate*Positon  视角矩阵 = 摄像机(up向量 + forward向量 + right向量)*摄像机(Position)  裁剪矩阵=正交投影(齐次 w分量不变)或者透视投影(齐次 w分量改变)

7.Projection matrix变到裁剪空间什么用?怎么变换到屏幕上?(…)

8.交叉透明物体如何渲染?(OIT 像素级排序)

9.延迟渲染机制?为什么延迟渲染会快,以及在什么情况下使用。缺点?(①…,②相当于Early Test 可见剔除 ,把不需要计算光照的物体提前剔除,③多光源,或者光照复杂的情况下使用④无硬件抗锯齿支持,占用较高显存)

10.DrawCall为什么数量多会效率下降(换一种问法为什么glDrawArrayInstance和很多个glDrawArray都是绘制一样的顶点,什么glDrawArrayInstance效率高)

11.阴影贴图、PCF、层级阴影(CSM)   (阴影贴图:把光当做摄像机但只关注depth得到一个sample点光的话是sampleCube 然后与sample判断远近。PCF有点取边缘锯齿平均旁边的颜色。CSM有点像MipMap越远越粗,越近越细)

12.FXAA、TAA、MSAA原理?(后处理、时间抗锯齿、硬件…)

13.八叉树应用原理?(八叉树那一套)

14.视锥体和八叉树如何进行可见剔除?  (确定视锥体旁边四个面向内的法向量(法向量点乘判断前后),根据八叉树判断节点是否在里面…)

15.为什么要合批、合批(batching)的具体算法(合批的意义是使同一个材质或者用一个图集,能在一次DrawCall下完成,具体算法:将材质图集打上ID,在draw前将这些id进行排序,然后使用如glDrawArrayInstance进行draw)

16.智能指针原理?AutoPtr为什么有缺陷(引用计数,AutoPtr 的赋值和赋值具有破坏性,不满足容器要求)

17.ShaderPtr互相调用怎么正确析构(不用weakPtr)   (GC相关,意思是不用引用计数法怎么GC,参考UE4 垃圾处理机制)

18.设计一个程序使不规则图形拼图集拼到最紧凑,用什么数据结构? (四叉树+OBB盒?)


更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖