欢迎来到天天文库
浏览记录
ID:10840553
大小:16.23 KB
页数:11页
时间:2018-07-08
《面试的经典问题及回答思路?.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、面试的经典问题及回答思路? 下面是一技术问题,用于考察应聘人员的各方面的知识程度。回答请尽量详细,最好能举例说明。 一、一些3D问题: (公司使用的是D3D,如果不熟,用OpenGL举例回答也可以) 1.请介绍D3D或OpenGL中渲染对象时需要设置的3个矩阵及它们各自的作用 世界矩阵(WorldMatrix)、视图矩阵(ViewMatrix)以及投影矩阵(ProjectionMatirx); 世界矩阵确定一个统一的世界坐标,用于组织独立的物体形成一个完整的场景; 视图矩阵就是我们
2、能看到的那部分场景,由虚拟摄像机负责拍摄; 投影矩阵就是3维物体的平面影射.把三维场景在一个二维的平面上显示. 2.请简单介绍D3D的渲染流水线流程及各步骤的作用,以及实际应用中我们可以在这些步骤做些什么效果应用? 可分为两个阶段,TL和光栅化处理;主要步骤包括世界变换、视图变换、照明、投影变换、裁剪、w切分、视口变换等.通过渲染流水线可以得到视觉上的三维场景及其变换效果. 有什么作用,渲染任何物体时是否都一定要打开ZBuffer?为什么? 深度缓冲.作用是确保多边形能够正确的显示在
3、它们本来的深度.对于两个物体以上的场景来说,一般都要求打开ZBuffer,否则可能出现非正常的立体感观. 4.请介绍你所有知道的纹理Alpha混合方式,原理(公式),以及他们的实际应用(做什么样的效果时需要这种方式) 公式为:Color=(源颜色*源系数)OP(目标颜色*目标系数);其中OP(混合方式)有 加,减,反减,取最小,取最大;Alpha混合用于做半透明效果. 5.请介绍你所知道的所有3D动画方式、实现原理,以及他们的实际应用(做什么样的效果时需要这种方式) 主要有关节动画、
4、单一网格模型动画(关键帧动画)、骨骼动画.关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画;单一网络模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实;骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点;骨骼按角色特点组成一定的层次结构,由关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观。皮肤网格每一个顶点都会受到骨骼的影响
5、,从而实现完美的动画. 6.现在的显卡已经可以每秒渲染上千万个三角形以上(而一般的游戏场景也就几万个三角形),而已已经有了很多自动的显示剪裁,是否意味着使用BSP或其他优化方法组织场景数据已经没有必要了?为什么? 不是。MMORPG一个特别重要的问题就是同步,如果不使用优化方法组织场景数据,减轻计算负荷,在数据访问量过大时,可能会造成服务响应命令延迟的问题,从而造成玩家异步,严重损害网络游戏的可玩性。在时效与技术允许的情况下,依赖硬件处理的思想都不值得提倡。 7.使用硬件支持的D3D灯光有什
6、么优点和缺点,好的3D引擎一般用什么方法弥补这种缺点? 硬件支持的D3D灯光使游戏逼真,渲染速度快,效果显著.但并非所有的硬件都支持D3D灯光。游戏引擎必须检测显示卡是否支持D3D灯光以决定是否依赖硬件抽象层(HAL)来完成这个渲染工作. MX系列与GF4TI系列显卡有什么不同点?这些不同有什么作用? GF4TI是先进的硬件显示卡,性能好,价格高,完全支持,有灯光效果和动态模糊等特效; GF4MX不支持,渲染的图形质量没GF4TI系列高,逼真度较低。 这个不同将导致3D程序员不得不考
7、虑是否使用DX8里的一些已经不继续更新的内容,比如DirectShow等以及一些特殊动态链接库的使用问题. 二、关于网络及其他的问题: 1.如果使用TCP/IP,使用什么方法可以让一个服务器同时接受上千个客户端连接而且能高效的工作? IOCP.IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序,当一个事件发生的时候,此完成端口就将被操作系统加入一个队列中。然后应用程序可以对核心层进行查询以得到此完成端口。 2.使用DXPlay与直接使用TCP/IP有什么关系和区别?
8、 TCP/IP协议相当于一组WindowsAPIDXPlay集成了里面的一些功能API,使用DXPlay开发起来更简单快捷。 3.线程与进程有什么区别。 线程是进程的一个实体,是CPU调度和分派的基本单位。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,每个程序至少都有一个进程程,每个进程至少有一个线程,同一进程所产生的一个
此文档下载收益归作者所有