渲染基础

管线

  1. 描述一下OpenGL的渲染管线,每一步的渲染过程
  2. 论述vs阶段和fs阶段的区别,各处理哪些数据
  3. 几何信息和材质信息的区别是什么
  4. VBO、VAO和EBO的区别
  5. 光栅化过程、各类测试、剔除
  6. (可以追问一下三角形光栅化算法)。
  7. 透明物体如何渲染,会有什么问题。
  8. z-fingthing的原因和解决方法。
  9. 模型缩小后边缘变黑,原因和解决方法。

几何

  1. 一个物体在整个渲染流程中将要经历哪些空间变换,每个变换依赖于哪些矩阵
  2. 是否知道万向锁,为什么,如何规避
  3. 四元数除了解决万向锁问题,还解决什么问题
  4. 两种摄像机(透视/正交)的区别
  5. 如何通过一个相机和屏幕空间上的一点,生成世界空间中的一段射线

图元

  1. 图元数据有哪些部分,如何取舍。
  2. 大怎么办?了解过压缩方案吗?

材质

  1. 什么是材质,论述一下对材质的理解
  2. 含有纹理的材质的处理过程
  3. 立方体纹理的采样?
  4. 知道PBR吗,论述一下
  5. 了解IBL吗,全局反射和全局照明如何实现
  6. 全局反射遇到过兼容性问题吗
  7. 照明一般有哪些实现方法

纹理

  1. 512x512的PNG/JPG内存占用如何。
  2. 知道以及使用过压缩纹理吗,哪几种形式。
  3. 压缩纹理的兼容性了解吗,如何处理。

动画

  1. 动画一般分为哪两种
  2. 骨骼动画的原理是什么
  3. 知道顶点动画和UV动画吗,能用于实现怎样的效果
  4. 如何实现简单的水面渲染
  5. 捏脸有哪些方式

后处理

  1. 后处理是什么,一般在渲染的哪个阶段处理
  2. 后处理会导致哪些问题
  3. 如何实现Bloom效果

HUD

  1. HUD和普通3D物体的区别是什么
  2. 一般如何实现HUD

性能

  1. 有哪些常见的性能优化的方法(开放性问题)
  2. 知道视椎体剔除吗
  3. 知道遮挡剔除吗
  4. 知道LOD和MIPMAP吗,如何操作
  5. 知道LightMap和烘焙吗

GamePlay

基本模型

  1. 论述一下自己了解的几种游戏引擎,以及它们的场景管理模型
  2. 根据上面的结果,论述这些模型的优缺点和自己的倾向
  3. 知道OO、FP、EC模式、ECS模式等吗,有什么优缺点
  4. 知道GlTF吗,谈一下理解

物理引擎

  1. 用过物理引擎吗,论述一下自己对物理引擎的理解
  2. 物理引擎如何抽象一个物体,知道刚体、碰撞体和物理材质吗
  3. 碰撞检测的阶段,知不知道AABB、粗监测和细检测
  4. 当运动物体速度太快导致检测失效的情景,一般如何处理,是否知道CCD

AI

  1. 了解AI编程吗,有哪些编程模式
  2. FSM的优缺点,知道HFSM吗
  3. 了解行为树吗,是否使用过
  4. 如何统筹玩家、AI以及场景中的3D对象的关系(开放性问题)

其他引擎

  1. 是否使用过Unity编程,论述一下其结构(上面回答过则跳过)
  2. 是否了解过UE4,有什么优点?
  3. 使用Unity做过工具吗,如何编写自定义Unity插件
  4. 用Unity编写过Shader吗,基本结构是什么,光照如何实现
  5. Unity中全局照明的原理(SH)。

实例

  1. 如何设计一个跑酷游戏的框架
  2. 给这个跑酷游戏加上联机机制呢
  3. 扩大场景怎么办
  4. 如何实现小地图
  5. 如果要追加DLC呢

P7以上

  1. 如果让你设计一个游戏引擎,你会如何设计(涉及到以上的所有知识点