或许大抵是凉了吧,被拷打的神志不清
几天没看图形学的东西了,结果高德突然约面
感觉在面试官面前拉了一坨大的,mad
----------------4.3 已凉------------------------------
首先是手写程序,前面两个挺简单的反正,也比较常规
第三个在类里填入内容使得程序正确运行,先写了个重载赋值函数,漏了拷贝构造和自赋值检查,然后注释了重载赋值函数,调拷贝构造,new int[xxxx]写成了new int(xxx)..........我还没看出来,有被自己蠢到了,最后面试官说先这样吧,然后开始拷打。
先简单介绍了一下项目,然后开始发问:
项目里封装了OpenGL的哪些东西?
ECS和场景管理咋弄的
渲染时每帧对场景中的数据做了什么操作?
是怎么提交场景的数据?
SSAO咋做的,讲了一下,不过讲的一团浆糊,采样半球点怎么做的空间变换?
Tone Mapping怎么做的?为什么要做?
**处刑开始:**
你讲到PBR有时计算出来颜色分量会大于1,什么时候会大于1?
如果不考虑IBL和其他后处理叠加,只有一个光源的时候会不会大于1?
IBL会不会出现大于1的情况?
问个基础点的:GPU渲染管线的流程?
透明物体和半透明物体怎么渲染?(之前学的时候偷懒没写这个,想着面试靠八股,结果我忘记了,焯!!胡乱扯了一下alpha测试之后说不会,平时没接触过)
讲一讲OpenGL的状态,你的项目里封装了GL的状态吗?(没有)
glBlend()用过吗?(一样,之前学的偷懒了,项目里也没考虑透明物体渲染)
判断点是不是在三角形内?(我tm猪b脑袋叉乘说成了点乘)
如果不是三角形呢,是四边形呢?(我说四边形拆成两个三角形,面试官说不是想问这个)
事后找补:
①面积和判别法
②夹角和判别法(焯!查到之后发现games里闫老师好像讲过)
③光线投射法
还有一些问的记不清了,唉
----------总结-----------
1. 需要全面的梳理项目,锻炼表达能力
2. 不能有临时抱佛脚的心态
3. 补一下关于透明渲染的知识,以及项目里没有使用到的一些OpenGL的Func
4. 补一下关于图形几何方面的知识
希望下一次不要出现这种处刑场面了
#本周投递记录#