3D游戏编程面试题.docx
《3D游戏编程面试题.docx》由会员分享,可在线阅读,更多相关《3D游戏编程面试题.docx(29页珍藏版)》请在冰豆网上搜索。
3D游戏编程面试题
一.单选题
1.记录排列成行列的像素点颜色和特点的图形文件叫做:
()
■位图■高度图■蒙版图■矢量图A
2.目前常见的图形显示设备中,价钱相对低廉的是:
()
■CRT显示器■液晶显示器■等离子显示器■LED显示器A
3.目前主流的CRT显示器属于:
()
■存储管式显示器■随机扫描显示器■光栅扫描式显示器■等离子显示器C
4.当前主流图形系统和初期图形系统对照,要紧转变在于增加了:
()
■显示器■图形处置器和显存■系统存储器■系统总线B
5.对系统输入的视频信息进行,构建和渲染的硬件叫做:
()
■显示主芯片(GPU)■显存■系统总线■中央处置器(CPU)A
6.业界显现的的一款3D图形加速卡是1995年3Dfx公司推出的:
()
■Radeon7500■TNT2■Voodoo■GeForce256C
7.从DirectX9才开始支持的显卡技术是:
()
■T&L■VertexShader■PixelShader■UltraShadowD
8.Direct3D利用的坐标系:
()
■z轴向上,y轴指向屏幕外
■z轴向上,y轴指向屏幕内
■y轴向上,z轴指向屏幕外
■y轴向上,z轴指向屏幕内D
9.长度为1的向量被称为:
()
■单位向量■分量■模■标量A
10.两个向量u和v,通过叉乘后所取得的向量p:
()
■与u平行■与v平行■长度是u和v长度的乘积■同时垂直与u和vD
11.向量u=(1,0,1),v=(0,1,0),向量p=u×v的值为:
()
■(1,1,1)■(-1,0,1)■(0,0,-1)■(1,0,-1)B
(uy*vz-uz*vy,uz*vx-ux*vz,ux*vy-uy*vx)=(0*0-1*1,1*0-1*0,1*1-0*0)=(-1,0,1)
12.已知2×2的矩阵A,其各个分量为:
A11=1,A12=5,A21=-2,A22=3,
2×2的矩阵B,各个分量为:
B11=6,B12=2,B21=5,B22=-8,
矩阵C=B-A,则矩阵C的各个分量为()
■C11=7,C12=7,C21=3,C22=-5
■C11=-5,C12=3,C21=-7,C22=11
■C11=6,C12=10,C21=-10,C22=-24
■C11=5,C12=-3,C21=7,C22=-11D
13.若是A是一个m×n的矩阵,B是一个p×q的矩阵,若是A和B能够进行矩阵乘法AB,那么必然有:
()
■m=p且n=q■n=p■m=n=p=q■m=qB
14.已知2×2的矩阵A,其各个分量为,A11=4,A12=1,A21=-2,A22=1,
2×2的矩阵B,各个分量为B11=1,B12=3,B21=2,B22=1,
矩阵C=AB,则矩阵C的各个分量为()
4113
-2121
■C11=5,C12=2,C21=0,C22=1
■C11=4,C12=-3,C21=-4,C22=1
■C11=6,C12=13,C21=0,C22=-5
■A和B不能进行矩阵乘法C
15.下列说法正确的有。
()
■所有矩阵都有逆矩阵
■矩阵乘法通常不知足互换率,因此若是有矩阵A和它的逆矩阵A-1,则AA-1不等于A-1A
■一个m×n矩阵的转置矩阵仍然是一个m×n的矩阵
■单位矩阵都是方形矩阵D
16.复数c1=1+2i,c2=2-3i。
则c1*c2等于()(1+2i)(2-3i)=2-3i+4i-6i*i=8+i
■3-i■8+i■2-6i■-4+iB
17.复数c1=6-8i,则c1的范数为:
()sqr(6*6+8*8)
■6■8■10■14C
18.四元数p=3+5i-3j+7k,q=6–i+3j+2k,则p-q等于:
()
■9+4i+5k■-3+6i-6j+5k■18–5i–9j-14k■3+6i+6j+9jB
19.四元数p=1+3i-2j+8k的共轭四元数是:
()
■-1-3i+2j-8k■-1+3i-2j+8k■1-3i+2j-8k■1-3i-2j+8kC
20.四元数p=2-i+4j-2k,则p的范数为:
()sqr(4+1+16+4)
■3■25■5■1C
21.二维齐次坐标点A=[x,y,1]与变换矩阵A(A11=1,A12=0,A13=0,A21=0,A22=1,A23=0,A31=3,A32=5,A33=1)相乘,其几何意义是()■点A沿x轴放大3倍,沿y轴放大5倍
■点A的x值等于3,y值等于5
■点A向右平移3个单位,向上平移5个单位
■点A向右平移3个单位,向下平移5个单位C
100
010
351
22.二维齐次坐标点a=[x,y,1]与变换矩阵A(A11=3,A12=0,A13=0,A21=0,A22=5,A23=0,A31=0,A32=0,A33=1)相乘,其几何意义是()
■该点x值放大3倍,y值放大5倍■该点x值放大5倍,y值放大3倍■该点将沿x轴平移5个单位,y轴平移3个单位■该点将沿x轴平移3个单位,y轴平移5个单位A
300
050
001
23.三维齐次坐标点a=[x,y,z,1]与矩阵A(A11=5,A12=0,A13=0,A14=0,A21=0,A22=-3,A23=0,A24=0,A31=0,A32=0,A33=6,A34=0,A41=0,A42=0,A43=0,A44=1)相乘,则以下说法正确的是()
■该点沿x轴正方向平移5单位■该点y值变成原先的-3倍■该点x值不变■该点z值不变B
5000
0-300
0060
0001
24.以下说法,错误的是()
■表示绕任意轴旋转时,需要4个变量,旋转轴的向量、pitch、roll、yaw
■表示绕任意轴旋转时,需要2个变量,旋转轴的向量、绕轴旋转的角度
■利用四元数表示旋转转变,比利用欧拉角表示的旋转转变更滑腻
■表示旋转的转变的四元数应该是单位四元数A
25.基于DirectXAPI开发的多媒体软件运行于硬件抽象层上,硬件抽象层的英文缩写是:
()■HAL
■REF
■GPU
■HELA
26.DirectX开始引入极点着色器(VertexShader)和像素着色器(PixelShader)的版本是:
()
■DirectX7■DirectX8■DirectX9■DirectX10B
27.依照匈牙利命名法,概念一个句柄变量,需要在变量名前加上前缀:
()
■g_
■I
■h
■CC
28.依照匈牙利命名法,概念一个类,通常在类名前加上前缀:
()
■g_■I■S■CD
29.释放COM对象接口时,挪用的释放函数是:
()
■free■Delete■Release■AddRefC
30.创建模型所在的空间是:
()
■本地空间■世界空间■视图空间■投影空间A
31.以虚拟摄像机所在位置为原点,场景中其它物体的坐标均为摄像机的相对位置的空间是:
()■本地空间■世界空间■视图空间■视口空间C
32.代表屏幕上的一个矩形区域(可能是整个屏幕,也可能是屏幕的一部份)的空间是:
()
■本地空间■世界空间■视图空间■视口空间D
33.D3D中,把要显示的物体绘制到一个不可见的页上,称那个页为()
■模板缓冲区■前台缓冲区■后备(后台)缓冲区■颜色缓冲区C
34.D3D中的设备(Device)是指()
■显卡■声卡■鼠标和键盘■显示器A
35.通过透视投影所取得的摄像机观看区域是:
()
■长方形■四棱锥■长方体■平截台体C
36.T&L中,坐标变换的顺序正确的是:
()
■投影变换——>视图变换——>世界变换
■世界变换——>视图变换——>投影变换
■视图变换——>平移变换——>投影变换
■世界变换——>投影变换——>视图变换B
37.概念了屏幕上的显示区域,确信极点屏幕坐标的变换是:
()
■世界变换■视图变换■投影变换■视口变换D
38.极点信息中包括一套纹理坐标,则极点的FVF组合需要加入的标志是:
()
■D3DFVF_NORMAL■D3DFVF_TEX1■D3DFVF_TEX■D3DFVF_SPECULARB
39.初始化Direct3D程序的大体步骤是:
■创建D3D对象——>获取显示卡设备的显示模式——>创建Direct3D设备对象
■获取显示卡设备的显示模式——>创建D3D对象——>创建Direct3D设备对象
■创建D3D对象——>创建Direct3D设备对象——>获取显示卡设备的显示模式
■获取显示卡设备的显示模式——>创建Direct3D设备对象——>创建D3D对象A
40.游戏中,进行实际绘制工作前,必需挪用BeginScene函数通知D3D设备进行图形渲染工作。
绘制工作后,通知D3D设备终止图形渲染工作的函数是:
()
■DrawPrimitive()
■EndScene()
■Present()
■SetFVF()B
41.在D3D中,终止绘制后,通知前后缓冲区互换,进行图形翻转的函数是:
()
■Flip■Present■Show■DrawB
42.在Direct3D的调试信息中,哪一种级别的信息是能够忽略的。
()
■INFO■WARN■ERROR■FALSEA
43.g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,5,4);的含义是:
()
■从极点缓冲区中第5个极点开始,以三角形列的方式绘制4个三角形
■从极点缓冲区中第4个极点开始,以三角形扇的方式绘制5个三角形
■从极点缓冲区中第5个极点开始,以三角形带的方式绘制4个三角形
■从极点缓冲区中第5个极点开始,以三角形扇的方式绘制4个三角形C
44.IDirect3D9:
:
CreateDevice()函数用于创建D3D设备对象,将它的DeviceType参数设为D3DDEVTYPE_HAL,表示()
■利用硬件抽象层,通过显示硬件来完成图形渲染工作
■利用参考光栅器,以测试显卡不支持的Direct3D功能
■利用第三方软件
■不利用图形绘制设备A
45.在进行图形绘制工作时,连接极点缓冲区和渲染数据流的函数是:
()
■SetFVF()
■SetStream()
■DrawPrimitive()
■Present()B
46.渲染一个正方形,在利用索引缓冲区的情形下,至少需要在极点缓冲区中保留的极点个数为()
■4■6■3■5A
47.利用索引缓冲区的图元渲染函数是()
■DrawPrimitive()
■DrawIndexedPrimitive()
■DrawSubset()
■Draw()B
48.在D3DX库中,表示三维向量的是()
■D3DXVECTOR2■D3DXVECTOR3■D3DXVECTOR4■D3DXVECTORB
49.在D3DX库中,计算向量叉乘的函数是()
■D3DXVec3Length()
■D3DXVec3Normalize()
■D3DXVec3Dot()
■D3DXVec3Cross()D
50.在D3DX库中,求转置矩阵的函数是:
()
■D3DXMatrixIdentity()
■D3DXMatrixInverse()
■D3DXMatrixTranspose()
■D3DXMATRIXMultiply()C
51.若是两个点p1、p2都在平面上,从p1到p2的向量和该平面法向量n进行点乘,结果是:
()
■0
■无法相乘
■值不定
■1C
52.以下方式中,无法确信一个唯一的平面的是:
()
■平面的法线向量n和该平面上的一个点
■不在同一直线上的三个点
■平面的法线向量和原点到该平面的距离
■任意两个不重合的点D
53.D3DXMatrixTranslation(&pTranslationMatrix,2,3,3);的含义是:
()
■物体沿x轴放大2倍,沿y轴放大3倍,沿z轴放大3倍
■物体沿x轴缩小2倍,沿y轴缩小3倍,沿z轴缩小3倍
■物体沿x轴旋转弧度为2,沿y轴旋转弧度为3,沿z轴旋转弧度为3
■物体沿x轴正方向平移2个单位,沿y轴正方向平移3个单位,沿z轴正方向平移3个单位D
54.在Direct3D中,绘制粒子系统时,资源类型一样为。
()
■默许资源
■动态资源
■可治理资源
■系统内存资源B
55.在Direct3D中,若是发生设备丢失,能够在哪个函数的返回值中取得信息。
()
■SetMatrix
■Present
■Reset
■ClearB
56.实际应用中的相对纹理坐标的取值范围一般是()
■0<=u<1,0<=v<1
■-1<=u<=1,-1<=v<=1
■-1
■0<=u<255,0<=v<255A
57.D3DX函数库中,直接从磁盘文件中获取纹理的函数是:
()
■CreateTexture()
■D3DXCreateTextureFromFile()
■LoadImage()
■LoadBitmap()B
58.需要在极点信息中提供一套纹理坐标时,必需在指定极点的FVF中加入标记:
()
■D3DFVF_TEX1
■D3DFVF_UV
■D3DFVF_TEX
■D3DFVF_UV1A
59.在经常使用的纹理采样方式中,速度最快,但成效最差的一种是:
()
■最近点采样■线性纹理过滤■各向异性纹理过滤■多级渐进纹理过滤A
60.目前应用最普遍,能够极大提供图像质量,同时可不能过于增加系统负担的纹理采样方式是:
()
■最近点采样■线性纹理过滤■各向异性纹理过滤■多级渐进纹理过滤B
61.三维物体表面和投影平面不平行,往往造成屏幕上的投影有拉长或扭曲现象,能够解决这种误差的纹理采样方式是:
()
■最近点采样■线性纹理过滤■各向异性纹理过滤■多级渐进纹理过滤C
62.当纹理坐标超出—时,将超出的部份利用纹理边缘的颜色像素进行填充的纹理寻址方式是:
()
■包装纹理寻址■镜像纹理寻址■夹取纹理寻址■边框颜色纹理寻址C
63.当纹理坐标超出—时,将超出的部份利用指定程序员所指定的颜色进行填充的纹理寻址方式是:
()
■包装纹理寻址■镜像纹理寻址■夹取纹理寻址■边框颜色纹理寻址D
64.在DXTC纹理紧缩方案中,对图形进行划分的大小规格是。
()
■4×4■2×2■1×1■8×8A
65.与观测者位置有关的光照模型是:
()
■环境光■漫反射■镜面反射■直射光C
66.D3D中计算量最大,最需要谨慎利用的光源类型是:
()
■方向光■点光源■聚光灯■自发光C
67.在所有光源类型中,不需要指定位置坐标和距离范围的是:
()
■方向光■点光源■聚光灯■环境光A
68.在所有光源类型中,不需要指定方向的是:
()
■方向光■点光源■聚光灯■环境光B
69.在所有光源类型中,需要指定内外锥衰减(Falloff)的是:
()
■方向光■点光源■聚光灯■环境光C
70.表示物体材质的D3DMATERIAL9结构中,Power成员表示:
()
■环境光反射系数。
值越大,反射环境光越多
■漫反射光反射系数。
值越大,反射满反射光越多
■镜面放射光反射系数。
值越大,反射镜面反射光越多
■镜面反射指数。
值越大,高光部份面积越小,亮度越大。
D
71.D3D中,激活光照运算的函数是()
■SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
■SetRenderState(D3DRS_ZENABLE,TRUE);
■SetRenderState(D3DRS_LIGHTING,TRUE);
■SetRenderState(D3DRS_FOGENABLE,TRUE);C
72.由于计算量大,在D3D中缺省状态为关闭状态的光照计算是:
()
■环境光运算■漫反射运算■镜面反射运算■自发光运算C
73.摄像机的正方向在摄像机的本地坐标系中代表的是。
()
■x轴■y轴■z轴■z轴负方向B
74.D3D中,概念了D3D网格模型的接口是:
()
■ID3DXMesh■IDirect3DVertexBuffer9■IDirect3DIndexBuffer9■IDirect3DDevice9A
75.三角形网格中,子集是指网格中一组属性相同的三角形。
属性的划分标准是:
()
■所属的骨骼■材质、纹理■空间坐标■图元类型B
76.渲染网格所利用的渲染函数是:
()
■DrawPrimitive()■DrawIndexedPrimitive()■DrawSubset()■Draw()C
77.挪用函数ID3DXMesh:
:
Optimaize()优化网格时,若是希望重组极点索引,从而生成尽可能长的三角形带时,需要加入的标记是:
()
■D3DXMESHPOT_COMPACT■D3DXMESHOPT_ATTSORT
■D3DXMESHOPT_STRIPREORDER■D3DXMESHOPT_IGNOREVERTSC
78.ID3DXMesh:
:
CloneMeshFVF()函数被用于克隆网格,以下说法正确的是:
()
■通过指定新网格的FVF,能够让新网格与原网格完全相同,也能够不同
■克隆的新网格必然与原网格完全相同
■克隆的新网格必然会丢失原网格中的部份数据
■新网格是不是与原网格相同,完全取决于程序运行状态A
79.D3D中,所利用的默许3D文件格式是:
()
■.3ds■.max■.cof■.xD
80.D3DX库中,从.X文件中载入网格模型的函数有:
()
■D3DXCreateMeshFVF
■D3DXCreateTextureFromFile
■D3DXLoadMeshFromX
■D3DXCreateFontC
81.在.x文件中没有包括,必需由程序员自己设定的材质信息是:
()
■对环境光的反射强度
■对漫反射光的反射强度
■对镜面反射光的反射强度
■自发光的颜色A
82.在每一个关键帧中都会记录了每一个极点的新位置或相对原位置的改变量的模型动画是:
■关节动画
■单一网格模型动画
■骨骼动画
■Flash动画B
83.打开深度缓冲测试的代码是:
()
■SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
■SetRenderState(D3DRS_LIGHTING,TRUE);
■SetRenderState(D3DRS_ZENABLE,TRUE);
■SetRenderState(D3DRS_FOGENABLE,TRUE);C
84.许诺程序在绘制像素的同时更新深度缓冲区的代码是:
()
■SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
■SetRenderState(D3DRS_ZWRITEENABLE,TRUE);
■SetRenderState(D3DRS_ZENABLE,TRUE);
■SetRenderState(D3DRS_FOGENABLE,TRUE);B
85.打开Alpha混合的代码是:
()
■SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
■SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
■SetRenderState(D3DRS_ZENABLE,TRUE);
■SetRenderState(D3DRS_FOGENABLE,TRUE);B
下列代码:
SetRenderState(D3DRS_ALPHATESTENALBE,TRUE);
SetRenderState(D3DRS_ALPHAREF,0x00000080);
SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATER);
的含义是:
()
■若是该物体的材质的Alpha值小于0x00000080,则通过Alpha测试,能够被渲染
■若是该物体的材质的Alpha值等于0x00000080,则通过Alpha测试,能够被渲染
■若是该物体的材质的Alpha值大于0x00000080,则通过Alpha测试,能够被渲染
■将该物体的材质的Alpha值设为0x00000080,利用Alpha混合绘制该半透明物体C
86.D3D中,利用线框模式渲染多边形的代码是:
()
■SetRenderState(D3DRS_FILLMODE,D3DFILL_POINT);
■SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME);
■SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
■SetRenderState(D3DRS_FILLMODE,D3DFILL_FORCE_DWORD);B
87.Direct3D所支持的渲染模式中,利用多边形第一个极点的颜色作为整个多边形的颜色的模式是:
()
■Flat模式
■Gouraud模式
■Phong模式
■所有模式都是A
88.启用多重采样的图形反锯齿的代码是:
()***
■SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
■SetRenderState(D3DRS_MULTISAMPLEANTIALIAS,TRUE);
■SetRenderState(D3DRS_ZENABLE,TRUE);
■SetRenderState(D3DRS_FOGENABLE,TRUE);B
89.D3D中,最多支持多少层的多层纹理映射?
()
■4■6■8■10C
90.利用多层纹理时,设置某一层纹理的渲染状态的函数是:
()
■SetTexture()
■D3DXCreateTextureFromFile()
■SetTextureStageState()
■SetSampleState()C
91.利用多重纹理时,SetTextureStageState(0,D3DTSS_COLOROP,D3DTA_ADD)是指:
■利用颜色混合,对参数进行乘法操作
■利用颜色混合,对参数进行加法操作
■利用透明混合,对参数进行乘法操作
■利用透明混合,对参数进行加法操作B
92.声明利用像素线性雾的代码为:
()
■SetRenderState(D3DRS_FOGVERTEXMODE,D3DFOG_LINEAR);
■Set