小红书面经(渲染方向)

特效渲染方向的,基本都是问图形学,然后二面很关注opengl的使用。没咋用过,面的我很难受。
腾讯面经看我另一个帖子。

小红书一面

1. 图形学

1.1 延迟渲染的缺点

1.2 介绍下软光栅渲染器

1.3 介绍下PBR和IBL技术

1.4 IBL的烘培和渲染,你讲的是烘培(预计算),渲染怎么做?怎么用那几张烘培出来的贴图

1.5 其实我是想让你结合渲染方程讲一下PBR和IBL的原理(应该是贴图计算出宣布方程的哪些项?)

1.6 介绍下Gamma矫正

1.7 介绍下你的软阴影

1.8 较少下你的光线追踪项目

1.9 描述一下摄像机投射一条光线的过程。传入的数据有哪些,经过哪些计算,返回什么结果?

1.10 你传入像素着色器的是一个已经建好的BVH结构

1.11 了解现在主流的抗锯齿技术吗?

1.12 MSAA需要硬件支持。子采样这个概念在像素着色器里是没办法做到的。那如果在不支持MSAA的设备上,单次只渲染一帧的情况下,还有什么渲染方案?

1.13 你的阴影支持多光源吗?

1.14 介绍下前向渲染和延迟渲染

1.15 延迟渲染的优势?哪些场景不支持延迟渲染?

2. 算法

* 在一个有序数组里,有n-1个范围是1-n的数字,找出缺少的数字。
* 面试官希望用二分做

 3. 反问

3.1 表现如何?

---

这场是我所有面试最难受的一场

小红书二面

1. 图形学

1.1 介绍下项目

1.2 你的纹理贴图不是GPU在做的事情吗?

1.3 看你实现了基础数学库。LookAt矩阵是怎么实现的?

1.4  先平移再旋转吗?

1.5 你的相机系统需要什么东西?

1.6 你有使用Opengl的完整实现吗?

1.7 把数据从cpu传到GPU你是用纹理。还有哪些方式?

1.8 还有没有其他方式可以让片元着色器拿到数据?

1.9 用OpenGL渲染一个三角形的流程。大概用到哪些API?

1.10 你知道帧缓冲主要是用来做什么的吗?

1.11 怎么判断这个帧缓冲是否是渲染的屏幕上的?

1.12 这两个项目的难点是什么?介绍下

1.13 有什么问题让你解决一天两天,一个具体的问题。

1.14 你是怎么定位到问题的?

1.15 如果你定位别人的问题,你会怎么做?

1.16 第二个项目遇到过什么难点吗?说下具体的问题。怎么解决的?

1.17 你要控制一个三角形的缩放。你有哪几种方式?

1.18 你说的都是在VS里面。在FS里面要怎么做?

1.19 你有没有写过后处理?你做的后处理太基础了,有别的吗?

1.20 渲染一个滤镜链。一个串联的渲染pass。你觉得有什么性能上的卡点?

1.21 如果你的链很长,你要怎么优化呢?GPU的资源的利用要怎么优化?

1.22 你当前pass用到的纹理,怎么判断其他pass是否持有?

1.23 怎么渲染一个圆形

1.24 glsl了解多吗?

2. C++

2.1 写一个单例模式

3. 反问

3.1 有什么需要提升的?

#面经##小红书##小红书面经##面经小红书#
全部评论
问的比较细,问的比较长啊,一下子就能知道你到底有没有用过,你的水平到底怎么样了,背是背不了的
点赞 回复 分享
发布于 07-14 01:46 广东
我更详细的看了一下,他问的其实都是一些基础,你居然实现过卵黄龙山,你就应该是知道的,除非那个东西不是你写的那个项目不是你的,你写过的话应该都有解决到,或者是都会遇得到
点赞 回复 分享
发布于 07-14 01:56 广东
码住
点赞 回复 分享
发布于 07-28 10:10 上海

相关推荐

11-06 12:10
已编辑
中南大学 Unity3D客户端
图形开发时间线TimeLine:9.21投-10.17笔试-10.24一面-11.1二面-11.5hr面已经是还在流程的几家里唯一的大厂了,球球收了孩子叭,牛客许愿会灵吗,会的吧?总之,先发个一面面经涨涨人品,后续秋招结束会发总结篇,里面有鼠鼠为数不多的十来场面试的面经,以及一堆的笔经(总之就是非常惨)(83min)- 自我介绍- 平时怎么学习图形学?看过Unity,UE源码没有?- 说说C++的共享指针?- weak_ptr是怎么工作的?- shared_ptr是线程安全的吗?- 构造函数可以是虚函数吗?- 虚函数机制?- 虚函数表什么时候构建的?存在哪?- 虚函数表怎么构建的?内存空间连续吗?- 虚函数表除了虚函数地址还存了别的其他什么东西吗?- 如果一个基类函数不标明为virtual,子类重写了这个函数,那指向子类对象的基类指针调用该函数会发生什么?- 只有纯虚函数的类有虚函数表吗?- 子类不实现纯虚函数会怎么样?在什么时候会报错?会报什么错?- 说说vector的扩容机制?- 说说list的实现?- 如何高效的查找有序的list里的元素?- list二分查找的复杂度是多少?(O(n),我当时没想出来)- 如果考虑空间换时间,时间复杂度可以是多少?(这里脑子抽了,我说分别存储每一次list二分之后的结果,存储在vector里,然后二分的时候只需要比较尾节点,然后转移到对应的list里进行下一步查询, 事后感觉应该是想引导我说,把list用vector存一遍,然后在vector上做二分)- 说说优先队列的实现?- 堆是怎么实现的?插入数据的时间复杂度是多少?- 插入的逻辑是怎样的?- 你的渲染引擎是怎么考虑跨平台的?- 你写的shader是怎样在目标平台运作的?- shader里你是怎样采样贴图的?讲讲API的使用?- textureLod怎么用?- 如果不提供level,GPU怎么知道要采样哪一层的Mipmap呢?(通过贴图uv在屏幕上的变化率决定)- 你刚刚说的u对x,v对y的偏导里的x和y是什么坐标?- 除了这个坐标空间还有哪些坐标空间?- 三线性插值是怎么做的?- 讲讲OpenGL的一个渲染管线?- 顶点的裁剪坐标空间坐标怎么得到的?- 后续会被怎样处理?- NDC标准空间的xyz取值是多少?- 锯齿是怎么形成的?在哪个阶段生成的?- 有哪些抗锯齿手段?- MSAA和FXAA有什么区别?- MSAA的硬件实现是怎么做的?- FXAA怎么做的?- 实时阴影你怎么做的?- 点光源的阴影要怎么实现?- 只能是生成CubeMap吗?不能生成Texture2D吗?(傻了,忘记CubeMap可以展开在一个Texture2D上或者干脆用柱状投影图了,我说你非要搞那就整一个Texture2DArray)- 你实现BVH的目的是什么?- 视锥剔除有必要吗?不是裁剪阶段也会做剔除?- 平时渲染方面怎么Debug?- 如何优化shader的效率?- 为什么尽量不要写if/else语句?那什么时候能用呢?- 减少采样操作?怎么减少?哪些采样操作可以移到CPU做?- 如果必须要采样呢?怎样做优化?以PCSS为例?- 为什么尽量少做那些复杂的数学运算?反三角函数,矩阵的逆什么的?- 线程和协程的区别?(太久没看真忘了,支支吾吾嗯是说不出啊,早知道直接说不知道了)- 那线程和进程的区别呢?- 反问?  - 图形开发工程师隶属于什么部门?引擎部?中台?(统一校招,进去之后再细分,可能进项目组可能进中台)  - 这个职位入职的培训和游戏开发那边的培训有什么区别?(差不多也是miniGame,内容上可能区别比较大)  - 可以知道具体的工作室吗?(进去之后双选)  - 如果我想胜任图形开发工程师这个岗位,需要再巩固加强哪些方面?(被说计算机基础不牢固了,奶奶滴,我就那个协程没说好嘛!(ㄒoㄒ)) #网易# #网易互娱# #游戏开发# #许愿# #时间线# #一面#
查看55道真题和解析
点赞 评论 收藏
分享
10 35 评论
分享
牛客网
牛客企业服务