欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      3D游戲軟件設(shè)計(jì)

      時(shí)間:2019-05-12 16:46:02下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《3D游戲軟件設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《3D游戲軟件設(shè)計(jì)》。

      第一篇:3D游戲軟件設(shè)計(jì)

      注:“★考核知識(shí)點(diǎn)”后面的標(biāo)注內(nèi)容在PPT中均有對(duì)應(yīng)章節(jié),因PPT序號(hào)混亂,不在考核知識(shí)點(diǎn)后一一羅列,請(qǐng)?jiān)赑PT中查找。

      一、客觀部分:(單項(xiàng)選擇、多項(xiàng)選擇、不定項(xiàng)選擇、判斷)

      (一)、選擇部分

      (1)OPenGL常用的庫里面,屬于核心庫的是()

      A GL B GLU C GLAUX DGLUT ★考核知識(shí)點(diǎn): OpenGL概述

      (2)OPenGL渲染流水中,對(duì)光柵化描述正確的是()

      A 把頂點(diǎn)變換成圖元

      B 把幾何數(shù)據(jù)和像素?cái)?shù)據(jù)轉(zhuǎn)換為片斷的過程。它將幾何數(shù)據(jù)轉(zhuǎn)換成片元,片元和要顯示的像素一一對(duì)應(yīng)

      C OpenGL應(yīng)用程序可以在幾何物體上應(yīng)用紋理圖像,使它們看上去更為逼真D主要的內(nèi)容就是裁剪,它的任務(wù)是消除位于半空間之外的那部分幾何圖元。在某些情況下,還要進(jìn)行透視除法,用以得到歸一化的設(shè)備坐標(biāo)

      ★考核知識(shí)點(diǎn): OpenGL概述

      (3)下面對(duì)于OpenGL特點(diǎn)描述正確的有()

      A標(biāo)準(zhǔn)支持靈活,可以用軟件例程實(shí)現(xiàn)也可以使用軟硬件組合使用 B具有靈活的伸縮性

      C提供了一套良好的功能擴(kuò)充機(jī)制,并且各個(gè)版本向后兼容 D跨平臺(tái),在科研和教學(xué)上是主流

      ★考核知識(shí)點(diǎn): OpenGL概述

      (4)1992年7月,SGI公司發(fā)布了OpenGL的1.0版本,隨后又與微軟公司共同開發(fā)了NT版本的OpenGL,從而使一些原來必須在高檔圖形工作站上運(yùn)行的大型3D圖形處理軟件也可以在微機(jī)上運(yùn)用()

      ★考核知識(shí)點(diǎn): OpenGL概述

      (5)OpenGL(開放性圖形庫Open Graphics Library):是圖形硬件的一種軟件接口()

      ★考核知識(shí)點(diǎn): OpenGL概述

      (6)()是用于定義構(gòu)成物體的三角形單元列表的坐標(biāo)系。

      A 觀察坐標(biāo)系B世界坐標(biāo)系C本地坐標(biāo)系D轉(zhuǎn)換坐標(biāo)系

      ★考核知識(shí)點(diǎn): 狀態(tài)管理和繪制幾何物體

      (7)glBegin()函數(shù)的意義是()A標(biāo)志著程序的執(zhí)行的開始 B標(biāo)志著一個(gè)頂點(diǎn)數(shù)據(jù)列表的開始 C標(biāo)志著OpenGL的繪制操作的開始 D標(biāo)志著當(dāng)前函數(shù)的開始

      ★考核知識(shí)點(diǎn): 狀態(tài)管理和繪制幾何物體

      (8)在win32程序中,主函數(shù)是從哪里進(jìn)入執(zhí)行的()

      A GLMain B WinMain C Begin Dmain ★考核知識(shí)點(diǎn): 狀態(tài)管理和繪制幾何物體

      (9)OpenGL中在顏色索引模式下使用的用于選擇單值索引的函數(shù)是()。A glIndex BglClampColor C glClear D glColor3f ★考核知識(shí)點(diǎn): 顏色渲染和紋理貼圖(10)下列哪個(gè)顏色不屬于三原色()A紅 B藍(lán) C綠D白

      ★考核知識(shí)點(diǎn): 顏色渲染和紋理貼圖

      (11)OpenGL的光照模型根據(jù)材料反射的紅、綠和藍(lán)光的比例來模擬它的顏色。當(dāng)一個(gè)純紅的球體,如果給球體僅僅投上綠色的光線,那么看起來球的顏色會(huì)是黑色()

      ★考核知識(shí)點(diǎn): 顏色渲染和紋理貼圖

      A(0,0,0)B(255,0,255)C(255,255,255)D(1,1,1)(12)用函數(shù)glColor3i()函數(shù)設(shè)置的黑色的顏色值為()

      ★考核知識(shí)點(diǎn): 顏色渲染和紋理貼圖

      (13)OpenGL中光照模型,被物體表面均勻的反射。即使光是被均勻的反射回去的,它直射的物體表面比從某個(gè)角度照射過來時(shí)要亮()

      A環(huán)境光B散射光C鏡面光D發(fā)射光

      ★考核知識(shí)點(diǎn):環(huán)境光、散射光、鏡面光、發(fā)射光

      (14)OpenGL中如何判斷一個(gè)點(diǎn)接收了光源的多少光線()

      A通過距離光源的距離進(jìn)行計(jì)算 B通過法線相對(duì)光源的方向進(jìn)行計(jì)算 C通過物體的顏色值進(jìn)行計(jì)算

      D通過物體和光源的顏色值的綜合考慮進(jìn)行計(jì)算

      ★考核知識(shí)點(diǎn):光照

      (15)OpenGL提供了最大數(shù)目為N的單場(chǎng)景內(nèi)光照光源模型,N為()

      A 1 B 8 C 16

      D不限制,只要為2的冪就可以了

      ★考核知識(shí)點(diǎn):光照

      (16)OpenGL光照模型中,有一種會(huì)將光源強(qiáng)烈的反射到了另外一個(gè)特定的方向。高亮 A鏡面光B聚光燈光C環(huán)境光D發(fā)射光 度的光柱往往能在被照射的物體上產(chǎn)生稱之為亮斑的亮點(diǎn)()

      ★考核知識(shí)點(diǎn):光照

      (17)OpenGL光照模型中,表面的發(fā)射顏色可以增加物體的強(qiáng)度,但是他們不受任何★考核知識(shí)點(diǎn):光照 光源的影響,在整個(gè)場(chǎng)景中,并沒有作為一種額外的光照()(18)設(shè)置光源位置時(shí),當(dāng)我們的光源坐標(biāo)位置(x,y,z,w)中的w為0時(shí)代表我們的光為平行光源()

      ★考核知識(shí)點(diǎn):光照

      (19)OpenGL一個(gè)場(chǎng)景中至多可以在包含16個(gè)光源()

      ★考核知識(shí)點(diǎn):光照

      (20)用函數(shù)glColor3i()函數(shù)設(shè)置的黑色的顏色值為()

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (21)像素?cái)?shù)據(jù)從可以開始從緩沖區(qū)讀取到內(nèi)存然后把像素?cái)?shù)據(jù)從內(nèi)存寫入到幀緩沖最后在幀緩沖內(nèi)部復(fù)制像素?cái)?shù)據(jù)()

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (22)以下哪個(gè)函數(shù)可以設(shè)置當(dāng)前的光柵位置()

      A glTranslatef()B glRasterPos()C glRotatef()D glDrawPos()★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (23)在繪制幾何圖形之時(shí),我們可以使用glColor*()函數(shù)去設(shè)置當(dāng)前顏色或者當(dāng)前顏色索引()

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (24)在設(shè)置了光柵位置之后,我們可以使用glBitmap函數(shù)來繪制數(shù)據(jù)()

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (25)void glRasterPos2*(type x,type y);用于設(shè)置位圖的繪制位置。()

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (26)glCopyPixels的像素路徑包括()

      A像素傳輸操作B基于片斷的操作C在幀緩沖區(qū)暫存D光柵化操作

      ★考核知識(shí)點(diǎn):繪制像素、位圖字體和圖像

      (27)當(dāng)我們的源和目標(biāo)的alpha值都為0.35時(shí),當(dāng)使用函數(shù)glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)進(jìn)行像素混合,得出的結(jié)果描述正確的是?()

      A源和目標(biāo)混合效果相同 B混合色更接近源 C混合色更接近目標(biāo) D無法判斷

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (28)啟動(dòng)混合后,如果綠色物體和一個(gè)紅色物體用glBlendFunc(GL_ONE,GL_ONE)方式混合后,結(jié)果的混合部分的顏色為(D)A紅色B綠色C白色D黃色

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (29)圖形學(xué)中稱由于采樣頻率不足而造成的失真為走樣,反走樣通過多重采樣改善圖形鋸齒效果()

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (30)如果不進(jìn)行混和操作,每個(gè)新的片元都被OpenGL當(dāng)成是不透明的,覆蓋掉幀緩存已存在的顏色值。()

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (31)顏色定義中RGBA的A是alpha值,alpha值的作用是將已處理過的片元顏色值與存儲(chǔ)在幀緩存中的像素顏色結(jié)合起來()

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (32)當(dāng)前屬于顏色索引模式時(shí),我們可以進(jìn)行的操作有()。

      A實(shí)現(xiàn)顏色混和操作B實(shí)現(xiàn)透明效果C實(shí)現(xiàn)顏色疊加D實(shí)現(xiàn)顏色漸變效果

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (33)void glBlendFunc(Glenumafactor,Glenumbfactor)

      其中參數(shù)afactor和參數(shù)bfactor分別用于指定源和目標(biāo)的混合因子()

      ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (34)顏色混合方程中,GL_FUNC_ADD實(shí)現(xiàn)的功能是()

      A CsS+CdD B CsS-CcD C min(CsS,CdD)D max(CsS,CdD)★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (35)開啟顏色混合的函數(shù)方式為()

      A GL_BLEND B GL_BLENDING C GL_RENDER D GL_ENABLEBLEND ★考核知識(shí)點(diǎn):混合抗鋸齒霧多邊形偏移

      (36)一個(gè)矢量加上一個(gè)矢量結(jié)果為()

      A一個(gè)矢量 B一個(gè)標(biāo)量

      C如果為零則不是矢量,其它情況下皆為矢量 D以上說法都不對(duì)

      ★考核知識(shí)點(diǎn):圖形變換的數(shù)學(xué)基礎(chǔ)

      (37)兩個(gè)矢量之間的點(diǎn)乘結(jié)果為()

      A一個(gè)矢量 B一個(gè)標(biāo)量

      C如果為零則不是矢量,其它情況下皆為矢量 D以上說法都不對(duì)

      ★考核知識(shí)點(diǎn):圖形變換的數(shù)學(xué)基礎(chǔ)

      (38)glLoadIdentity()函數(shù)對(duì)于4×4矩陣操作結(jié)果為()

      A [0,0,0,0;0,0,0,0;0,0,0,0;0,0,0,0] B1,1,1,1;1,1,1,1;1,1,1,1;1,1,1,1] C[1,0,0,1;0,1,0,1;0,0,1,1;0,0,0,1] D[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] ★考核知識(shí)點(diǎn):圖形變換的數(shù)學(xué)基礎(chǔ)

      (39)我們?cè)谑褂枚x視口函數(shù) glViewport 中,第三個(gè)參數(shù)有什么作用()

      A描述視口的距離屏幕最左位置 B描述視口的距離屏幕最上位置 C描述視口的高度 D描述視口的寬度

      ★考核知識(shí)點(diǎn):圖形變換的數(shù)學(xué)基礎(chǔ)

      (40)通過矩陣[sx,0;0,sy]對(duì)二維的不經(jīng)過原點(diǎn)的圖元進(jìn)行縮放變換,有可能得到的結(jié)果為()

      A圖元相對(duì)原點(diǎn)的位置變化了 B圖元自身尺寸變化了

      C圖元可以只發(fā)生旋轉(zhuǎn),相對(duì)原點(diǎn)位置沒有移動(dòng) D圖元自身發(fā)生了旋轉(zhuǎn)

      ★考核知識(shí)點(diǎn):圖形變換的數(shù)學(xué)基礎(chǔ)

      (41)從物體坐標(biāo)到屏幕坐標(biāo)的顯示流程中我們必須要經(jīng)過的經(jīng)典的變換流水包()

      A世界坐標(biāo)系內(nèi)地變換 B對(duì)窗口的裁剪操作 C窗口到視口的變換 D對(duì)模型進(jìn)行坐標(biāo)進(jìn)行變換

      ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (42)函數(shù)void gluPerspective(Param1,Param2,Param3,Param4)中,標(biāo)示近裁剪面的是哪個(gè)參數(shù)()

      A Param1 BParam2 C Param3 D Param4 ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (43)哪些變換分別用于設(shè)定物體在世界坐標(biāo)系中的位置、方向以及模型大小。()

      A平移變換B旋轉(zhuǎn)變換C縮放變換D投影變換

      ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (44)()變換后的的幾何體位于觀察坐標(biāo)系中。

      A局部變換B取景變換C世界變換D空間變換 ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (45)投影變換包括哪幾種投影方式。()

      A平面投影B透視投影C正射投影D縮放投影

      ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (46)下對(duì)函數(shù)gluLookAt(0,0,0, 0,0,-3,1,0,0)描述正確的是

      A觀察點(diǎn)在原點(diǎn)(AD)B正方向?yàn)閦軸負(fù)方向 C觀察方向指向z軸正方向 D正方向?yàn)閤軸正方向

      ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (47)glRotatef(fRot,1,1,0)描述先按照X軸旋轉(zhuǎn)fRot,接著繞Y軸旋轉(zhuǎn)fRot()

      ★考核知識(shí)點(diǎn):OpenGL的視圖變換

      (48)在OpenGL中如果要實(shí)現(xiàn)運(yùn)動(dòng)模糊效果,需要借助以下哪個(gè)緩沖區(qū)()

      A深度緩沖區(qū)B幀緩沖區(qū)C模版緩沖區(qū)D積累緩沖區(qū)

      ★考核知識(shí)點(diǎn):幀緩沖區(qū)

      (49)當(dāng)前程序的狀態(tài)處于常規(guī)的繪圖模式,那么接下來使用下列哪些函數(shù)可以退出當(dāng)前繪圖模式()

      A glRender(GL_FEEDBACK);B glRender(GL_SELECT);C glEnd();D glBegin(GL_TRIANGLES)★考核知識(shí)點(diǎn):幀緩沖區(qū)

      (50)霧化效果在顏色索引模式下是不可用的()

      ★考核知識(shí)點(diǎn):幀緩沖區(qū)

      (51)如果我們需要使用OpenGL進(jìn)行3維點(diǎn)選操作,那么可以通過函數(shù)glRenderMode()指定()進(jìn)入選擇模式

      A GL_FEEDBACK BGL_SELECT C GL_PEEK D GL_MODEVIEW ★考核知識(shí)點(diǎn):幀緩沖區(qū)

      (52)OpenGL中如果鎖住了深度緩沖區(qū),那么所有的物體的深度就無法測(cè)試了,物體只是根據(jù)繪制的先后相互覆蓋了()

      ★考核知識(shí)點(diǎn):幀緩沖區(qū)

      (53)繪制球體,我們使用函數(shù):

      void gluSphere(GLUquadricObj *obj,Gldoubleradius,Glintslices,Glint stacks);()

      下面,我們對(duì)參數(shù)描述正確的選項(xiàng)有()A slice代表的就是經(jīng)線的數(shù)目 B stacks參數(shù)代表的就是緯線的數(shù)目 C slice參數(shù)代表的就是緯線的數(shù)目 D stacks代表的就是經(jīng)線的數(shù)目

      ★考核知識(shí)點(diǎn):分割化和二次方程表面

      (54)OpenGL中我們需要完成對(duì)NURBS對(duì)象的銷毀,調(diào)用的函數(shù)是gluDeleteNurbsRenderer()

      ★考核知識(shí)點(diǎn):分割化和二次方程表面

      (55)常見的紋理尋址模式有()A重疊紋理尋址模式B鏡像紋理尋址模式 C鉗位紋理尋址模式D邊界顏色紋理尋址模式

      ★考核知識(shí)點(diǎn):分割化和二次方程表面

      (56)gluQuadricDrawStyle 函數(shù)選擇用于繪制幾何形狀的圖元類型。系統(tǒng)默認(rèn)的類型是使用三角條狀圖元來填充所要繪制的幾何形狀,填充模式默認(rèn)為 A GLU_LINE B GL_FILL C GLU_SILHOUETTE D GLU_POINT ★考核知識(shí)點(diǎn):分割化和二次方程表面

      (57)繪制球體,我們使用函數(shù):

      void gluSphere(GLUquadricObj *obj,Gldoubleradius,Glintslices,Glint stacks);下面,我們對(duì)參數(shù)描述正確的選項(xiàng)有()

      A slice代表的就是經(jīng)線的數(shù)目 B stacks參數(shù)代表的就是緯線的數(shù)目 C slice參數(shù)代表的就是緯線的數(shù)目 D stacks代表的就是經(jīng)線的數(shù)目

      ★考核知識(shí)點(diǎn):求值器和NURBS(58)我們的B樣條曲線(三次)和與貝塞爾曲線很相似,不同之處是此曲線會(huì)分解成很多的小段。每個(gè)給定段的形狀都僅受到最近4個(gè)控制點(diǎn)的影響()

      ★考核知識(shí)點(diǎn):求值器和NURBS(59)我們的B樣條曲線(三次)和與貝塞爾曲線很相似,不同之處是此曲線會(huì)分解成很多的小段。每個(gè)給定段的形狀都僅受到最近4個(gè)控制點(diǎn)的影響()

      ★考核知識(shí)點(diǎn):求值器和NURBS(60)()是Direct3D用來存儲(chǔ)繪制到屏幕上的每個(gè)像素點(diǎn)深度信息的一塊內(nèi)存緩沖區(qū)

      A 廣度緩存 B 深度緩存 C 深度測(cè)試 D 廣度測(cè)試

      ★考核知識(shí)點(diǎn):求值器和NURBS(61)OpenGL中我們需要完成對(duì)NURBS對(duì)象的銷毀,調(diào)用的函數(shù)是gluDeleteNurbsRenderer()

      ★考核知識(shí)點(diǎn):求值器和NURBS(62)紋理階段混合狀態(tài)用于指定當(dāng)前紋理顏色值和Alpha值的混合方法()

      ★考核知識(shí)點(diǎn):求值器和NURBS(63)通常情況下,深度緩存用于判斷三維空間中物體的遮擋情況()

      ★考核知識(shí)點(diǎn):求值器和NURBS(64)設(shè)置深度緩存是指設(shè)置深度測(cè)試成功時(shí)對(duì)深度緩存如何操作()

      ★考核知識(shí)點(diǎn):求值器和NURBS(65)圖形學(xué)中稱由于采樣頻率不足而造成的失真為走樣,反走樣通過多重采樣改善圖形鋸齒效果()

      ★考核知識(shí)點(diǎn):求值器和NURBS(66)渲染后物體模型通常是由三角形圖元組成的,我們稱它為一個(gè)Mesh結(jié)構(gòu)()

      ★考核知識(shí)點(diǎn):求值器和NURBS(67)若要從緩存中只讀不寫數(shù)據(jù),就不需要鎖定緩存,用完后解鎖()(68)如果我們需要使用OpenGL進(jìn)行3維點(diǎn)選操作,那么可以通過函數(shù)glRenderMode()指定GL_SELECT,進(jìn)入選擇模式()

      (69)在執(zhí)行用于操縱名字堆棧的函數(shù)或調(diào)用glRenderMode()函數(shù)之后,如果出現(xiàn)了一次點(diǎn)擊,OpenGL就會(huì)在選擇數(shù)組中寫入一個(gè)點(diǎn)擊記錄,所以,如果共享相同的名稱對(duì)象,不會(huì)產(chǎn)生多條點(diǎn)擊記錄。()(70)在點(diǎn)擊發(fā)生時(shí),名字堆棧的內(nèi)容從()的元素開始。A最頂部B上一個(gè)操作的位置C最底部D任意

      (71)如果我們需要使用OpenGL進(jìn)行3維點(diǎn)選操作,那么可以通過函數(shù)glRenderMode()指定GL_SELECT,進(jìn)入選擇模式()

      (72)進(jìn)行點(diǎn)選操作后,假設(shè)當(dāng)前的選擇緩沖區(qū)為pSelectBuff,那么其中的pSelectBuff[0]的值得含義是()

      A自上一個(gè)點(diǎn)擊記錄之后,與視景體相交的圖元的所有頂點(diǎn)的最小窗口坐標(biāo)的z值 B自上一個(gè)點(diǎn)擊記錄之后,與視景體相交的圖元的所有頂點(diǎn)的最大窗口坐標(biāo)的z值 C點(diǎn)擊發(fā)生時(shí)名字堆棧的內(nèi)容 D名字堆棧中壓入的名字?jǐn)?shù)

      (73)OpenGL中如果鎖住了深度緩沖區(qū),那么所有的物體的深度就無法測(cè)試了,物體只是根據(jù)繪制的先后相互覆蓋了()

      ★考核知識(shí)點(diǎn):選擇和反饋

      (74)名字堆棧形成了返回選擇信息的基礎(chǔ),如果此時(shí)我們需要使用某個(gè)名稱來替換名字堆棧頂部的元素,可以使用函數(shù)為()

      A void glInitNames(void);B void glPushName(GLuint name);C void glPopName(void);D void glLoadName(Gluint name);★考核知識(shí)點(diǎn):選擇和反饋

      (75)選擇返回功能函數(shù):

      void glSelectBuffer(Glsizeisize,Gluint *buffer)對(duì)函數(shù)描述正確的是()A buffer參數(shù)指向的數(shù)組用于存放選擇數(shù)據(jù)

      B buffer參數(shù)指向的數(shù)組僅僅用于存放選擇的物體ID C size表示這個(gè)數(shù)組可以存儲(chǔ)單個(gè)數(shù)據(jù)的大小 D size表示這個(gè)數(shù)組可以存儲(chǔ)的最大值

      ★考核知識(shí)點(diǎn):選擇和反饋

      (76)用glSelectBuffer()函數(shù)指定用于返回點(diǎn)擊記錄的數(shù)組()

      ★考核知識(shí)點(diǎn):選擇和反饋

      (77)使用函數(shù) void gluPickMatrix(Gldoublex,Gldoubley,Gldoublewidth,Gldoubleheight,Glint viewport[4]);選擇的挑選區(qū)域的中心是()A 世界坐標(biāo)B窗口坐標(biāo)C物體坐標(biāo)D可以任意指定

      ★考核知識(shí)點(diǎn):選擇和反饋

      (78)由于粒子之間的碰撞計(jì)算量很大并且對(duì)于大多數(shù)模擬來說沒有必要,所以我們很少使用粒子之間的碰撞。()

      ★考核知識(shí)點(diǎn):粒子系統(tǒng)

      (79)粒子(Particle)是一種微小的物體,在數(shù)學(xué)上通常用點(diǎn)來表示其模型,所以顯示和表示粒子時(shí),我們通常使用點(diǎn)結(jié)構(gòu)來描述。()

      ★考核知識(shí)點(diǎn):粒子系統(tǒng)

      (80)以下可以通過常見的粒子系統(tǒng)實(shí)現(xiàn)的是()A雪花B下雨C噴泉噴水D金屬車漆效果

      ★考核知識(shí)點(diǎn):粒子系統(tǒng)

      (81)如果有兩束光進(jìn)入人眼,他們的成分為(R1,G1,B1)和(R2,G2,B2)那么疊加在一起的時(shí)候,如果藍(lán)色分量超出1了,那么最后的疊加結(jié)果為()

      A(R1, R2,1)B(R1+R2, R1+R2,1-R1-R2)C(R1+R2, R1+R2,1)D(R1, R2, 1-R1-R2)★考核知識(shí)點(diǎn):混合效果

      (82)Alpha分量主要是用來指定像素的混合計(jì)算比例的()

      ★考核知識(shí)點(diǎn):混合效果

      (83)D3DCOLORVALUE結(jié)構(gòu)體中包含r、g、b和a4個(gè)分量,表示物體表面對(duì)各種反射光的各種成分的反射比率。r=0.0 g=b=a=1.0;r=g=0.0。此時(shí)紅光和藍(lán)光照射過來,只有藍(lán)光被反射,即材質(zhì)看上去為藍(lán)色()

      ★考核知識(shí)點(diǎn):混合效果

      (84)OpenGL的光照模型根據(jù)材料反射的紅、綠和藍(lán)光的比例來模擬它的顏色。當(dāng)一個(gè)純紅的球體,如果給球體僅僅投上綠色的光線,那么看起來球的顏色會(huì)是()A紅色B綠色C白色D黑色

      ★考核知識(shí)點(diǎn):混合效果

      (85)平面著色模式,所有像素的Alpha值都大于等于該多邊形的第一個(gè)頂點(diǎn)的Alpha值()

      ★考核知識(shí)點(diǎn):混合效果

      (86)像素的Alpha值就是用來做紋理Alpha混合時(shí)進(jìn)行加權(quán)計(jì)算的的權(quán)值()

      ★考核知識(shí)點(diǎn):混合效果

      (87)Alpha測(cè)試并不把當(dāng)前像素的顏色與顏色緩沖中像素的顏色混合,像素要么完全不透明,要么完全透明()

      ★考核知識(shí)點(diǎn):混合效果

      (88)OpenGL中指定源混和因子和目標(biāo)混和因子的函數(shù):

      void glBlendFunc(Glenumafactor,Glenumbfactor)描述正確的是()A其中參數(shù)afactor和參數(shù)用于指定源混合因子 B其中參數(shù)bfactor用于指定目標(biāo)的混合因子 C其中參數(shù)afactor用于指定目標(biāo)的混合因子 D其中參數(shù)bfactorb用于指定源的混合因子

      ★考核知識(shí)點(diǎn):混合效果

      (89)常見的紋理尋址模式有()

      A重疊紋理尋址模式B鏡像紋理尋址模式C鉗位紋理尋址模式D邊界顏色紋理尋址模式

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (90)通過矩陣[sx,0;0,sy]對(duì)二維的不經(jīng)過原點(diǎn)的圖元進(jìn)行縮放變換,有可能得到的結(jié)果為 A圖元相對(duì)原點(diǎn)的位置變化了()B圖元自身尺寸變化了

      C圖元可以只發(fā)生旋轉(zhuǎn),相對(duì)原點(diǎn)位置沒有移動(dòng) D圖元自身發(fā)生了旋轉(zhuǎn)

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (91)創(chuàng)建一個(gè)矩形圖元255*255,它的大小恰好與紋理圖中紋理的大小一樣,要映射整個(gè)圖元面積,分配給圖元紋理坐標(biāo)為().A(0.0,0.0)(1.0,0.0)(1.0,1.0)(0.0,1.0)B(0.0,0.0)(255.0,0.0)(255.0,255.0)(0.0,255.0)C(0.0,0.0)(0.0,1.0)(1.0,0.0)(1.0,1.0)D(0.0,0.0)(0.0,255.0)(255.0,0.0)(255.0,255.0)★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (92)三維紋理圖像可以看成是由一層一層的二維子圖像矩陣構(gòu)成的,在內(nèi)存中,這些矩形按順序排列在一起。()

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧(93)對(duì)函數(shù)void glTexImage3D(Glenum target, Glint level,GlintinternalFormat ,Glsizeiwidth,Glsizeiheight,Glsizeidepth,Glintborder,Glenumformat,Glenum type, constGlvoid * texels);參數(shù)描述正確的是()A level是紋理目標(biāo)在內(nèi)存中的優(yōu)先級(jí) Blevel是mipmap細(xì)節(jié)層的序號(hào) C level描述了紋理的強(qiáng)度程度 D描述了紋理的有效值取值范圍

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (94)glCopyPixels()函數(shù),但是并不把像素讀到緩沖區(qū),而是放在紋理內(nèi)存中()

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (95)對(duì)OpenGL實(shí)現(xiàn)的Mipmap描述正確的是()

      A它必須根據(jù)被貼圖的物體的大小手動(dòng)的確定應(yīng)該使用哪個(gè)紋理 B它會(huì)根據(jù)被貼圖的物體的大小自動(dòng)確定應(yīng)該使用哪個(gè)紋理 C Mipmap不需要一些額外的計(jì)算

      D Mipmap并不需要額外的一些紋理存儲(chǔ)區(qū)域

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (96)glPixelStore*()函數(shù)可以用于設(shè)置像素存儲(chǔ)模式,使用諸如*ROW_LENGTH、*ALIGNMENT、*SKIP_PIXELS和*SKIP_ROWS這樣的參數(shù)。這個(gè)函數(shù)用于控制對(duì)一個(gè)完整的像素或紋理單元矩形的一個(gè)子矩形的引用()

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (97)一個(gè)帶有紋理圖像的物體迅速的遠(yuǎn)離觀察點(diǎn)而去時(shí),紋理圖像必須隨必須被投影的圖像一起縮小。為了避免閃爍抖動(dòng)等人工痕跡,可以指定一系列預(yù)先過濾的分辨率遞減的紋理圖像稱為()

      A Vertex Shader B mipmap C HLSL D Cg ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (98)void glTexParameteri 第三個(gè)參數(shù)類型為GL_CLAMP描述正確的是

      A將大于1.0的數(shù)值設(shè)置為1.0,將超出[0.0,1.0]范圍的數(shù)值截取到[0.0,1.0]范圍內(nèi) B這樣會(huì)導(dǎo)致紋理邊緣的重復(fù) C將小于0.0的數(shù)值設(shè)置為0.0 D圖象在物體表面上不斷重復(fù),但是每次重復(fù)的時(shí)候?qū)D象進(jìn)行鏡像或者反轉(zhuǎn)(99)紋理坐標(biāo)比一定非要在RGBA模式下才可以能使用()

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (100)void glTexParameteri 第三個(gè)參數(shù)類型為GL_REPEAT描述正確的是A A圖象在表面上重復(fù)出現(xiàn)

      B自動(dòng)將超出[0.0,1.0]范圍的數(shù)值截取到[0.0,1.0]范圍內(nèi)

      C圖象在物體表面上不斷重復(fù),但是每次重復(fù)的時(shí)候?qū)D象進(jìn)行鏡像或者反轉(zhuǎn) D這樣的模式在紋理邊緣處比較連貫

      ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      (101)對(duì)函數(shù)glTexParameteri邊界截取類型描述正確的是()

      A GL_CLAMP_TO_EDGE B CLAMP_TO_BORDER_ARB C GL_REPEAT D GL_CLAMP ★考核知識(shí)點(diǎn):紋理的高級(jí)技巧

      二、主觀部分:(程序設(shè)計(jì),簡答題)

      1關(guān)于現(xiàn)實(shí)字體的一段程序如下,運(yùn)行截圖如下,現(xiàn)有若干空缺,請(qǐng)完成填空。

      我們完成創(chuàng)建字體的功能函數(shù)CreateFont()如下:

      HFONT hFont;HFONT hOldFont;iBase=glGenLists(256);hFont=CreateFont(-24, 0, 0, 0,//高度 //寬度 //旋轉(zhuǎn)角度 //定位角 //字寬設(shè)置 FW_BOLD, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE|DEFAULT_PITCH, “Courier New”);

      //使用字體名稱為Courier New //保存之前的字體

      hOldFont=(HFONT)SelectObject(hdc,hFont);//從系統(tǒng)下載的字體文件中生成這些位圖

      wglUseFontOutlines(hdc,32,96,iBase,0.0,0.2f,WGL_FONT_POLYGONS,gmf);//還原設(shè)備句柄為hdc,還原原來的字體類型 SelectObject(hdc,hOldFont);//釋放資源

      DeleteObject(hFont);2.關(guān)于二次曲面的一段程序如下,運(yùn)行截圖如下,現(xiàn)有若干空缺,請(qǐng)完成填空。

      我們生成二次曲面的功能函數(shù)如下: //二次曲面的生成狀態(tài) GLUquadric *Quadric;//創(chuàng)建一個(gè)二次方程對(duì)象,指定這個(gè)二次方程對(duì)象的屬性 Quadric = gluNewQuadric();//自動(dòng)為二次表面生成紋理坐標(biāo) gluQuadricTexture(Quadric,GL_TRUE);//顯示燈的列表 iLamp = glGenLists(1);glNewList(iLamp,GL_COMPILE);//激活紋理0地板的紋理

      glBindTexture(GL_TEXTURE_2D,texture[2]);//綁定紋理

      glBindTexture(GL_TEXTURE_2D,texture[2]);

      2.如下一段程序,運(yùn)行完成加載紋理的功能,現(xiàn)在有若干空缺,請(qǐng)根據(jù)上下文完成填寫。

      程序截圖1 LoadTexture(){);

      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR

      glPixelStorei(GL_UNPACK_ALIGNMENT,4);//綁定紋理

      glBindTexture(GL_TEXTURE_2D,m_nBodyTex);

      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);//BMP文件的handle HBITMAP hBMP;//存儲(chǔ)BMP的數(shù)據(jù)結(jié)構(gòu) BITMAP BMP;byte Texture[1]={IDB_MISSILE};//產(chǎn)生三個(gè)紋理

      glGenTextures(1,&m_nBodyTex);hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(Texture[0]),IMAGE_BITMAP,0, 0, LR_CREATEDIBSECTION);

      if(hBMP){ GetObject(hBMP,sizeof(BMP),&BMP);

      //構(gòu)建二維Mipmap gluBuild2DMipmaps(GL_TEXTURE_2D,3,BMP.bmWidth,BMP.bmHeight,GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);//刪除位圖資源

      }

      3.如下一段程序,運(yùn)行完成物體顏色和材質(zhì)屬性相關(guān)功能,現(xiàn)在有若干空缺,請(qǐng)根據(jù)上下文完成填寫。DeleteObject(hBMP);

      }//if

      程序截圖1 在進(jìn)行光照和材質(zhì)相關(guān)的計(jì)算時(shí),需要先進(jìn)行必要設(shè)置操作,我們需要進(jìn)行如下操作:

      { glClearColor(1.0,1.0,1.0,1.0);voidInitScene()

      //設(shè)置明暗處理模型 glShadeModel(GL_SMOOTH);//glShadeModel(GL_FLAT);//開啟深度測(cè)試

      glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glClearColor(0.0f,0.0f,0.0f,0.0f);glClearDepth(1.0f);//使光源生效

      glEnable(GL_LIGHTING);//設(shè)置環(huán)境光

      GLfloatambientLignt[]={0.8,0.7,0.9,1.0};glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLignt);//設(shè)置材料屬性,自身的反光屬性 GLfloatShininess[]={80.0};//鏡面強(qiáng)度,白色

      GLfloatSpecular[]={1.0,1.0,1.0,1.0};//設(shè)置材質(zhì)顏色屬性

      GLfloatMatColor[]={0.9,0.9,0.9,1.0};//光源位置

      GLfloatPostion[]={1.0,1.0,1.0,0};//具體設(shè)置GL_FRONT_AND_BACK

      //GL_FLAT

      glMaterialfv(GL_FRONT,GL_SPECULAR,Specular);glMaterialfv(GL_FRONT,GL_SHININESS,Shininess);//設(shè)置光照模型

      glLightfv(GL_LIGHT0,GL_POSITION,Postion);//給光源設(shè)置位置*/ glLightfv(GL_LIGHT0,GL_SPECULAR,MatColor);//給鏡面光設(shè)置顏色 glLightfv(GL_LIGHT0,GL_DIFFUSE,MatColor);//設(shè)置漫反射顏色 //開啟光照特征 glEnable(GL_LIGHT0);

      }//endfnc 4.如下一段程序,運(yùn)行完成霧化功能,現(xiàn)在有若干空缺,請(qǐng)根據(jù)上下文完成填寫。

      程序截圖1 { //Get FPS void DrawScene()if(GetTickCount()-g_dwLastFPS >= 1000)

      glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();//設(shè)置位圖

      glPixelTransferf(GL_RED_SCALE, 1.0);{

      g_dwLastFPS = GetTickCount();

      char szTitle[256]={0};

      sprintf(szTitle, “ Current %d FPS”, g_nFrames);SetWindowText(hwnd, szTitle);g_nFrames = 0;

      }//if g_nFrames++;*/ glPixelTransferf(GL_GREEN_SCALE, 0.0);glPixelTransferf(GL_BLUE_SCALE, 0.0);glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);glEnable(GL_BLEND);glFlush();}//endfnc //初始化操作

      五、簡答題(共15 分)

      關(guān)于構(gòu)建一個(gè)立體曲面的程序有如下截圖,程序有部分功能空缺,請(qǐng)完成

      //渲染場(chǎng)景 void DrawScene(){ //調(diào)用顯示列表進(jìn)行渲染

      glCallList(drawlist);if(showCPoints){

      //禁止紋理

      glDisable(GL_TEXTURE_2D);

      glColor3f(1.0f,0.0f,0.0f);

      for(i=0;i<4;i++){

      //繪制控制點(diǎn)

      glBegin(GL_LINE_STRIP);for(j=0;j<4;j++){ glVertex3d(pCtrData[i][j].x, pCtrData[i][j].y, pCtrData[i][j].z);

      }//for glEnd();}//for for(i=0;i<4;i++){

      glBegin(GL_LINE_STRIP);for(j=0;j<4;j++)//繪制點(diǎn)

      glVertex3d(pCtrData[j][i].x, pCtrData[j][i].y,pCtrData[j][i].z);glEnd();}//for glColor3f(1.0f,1.0f,1.0f);//啟用紋理

      glEnable(GL_TEXTURE_2D);

      }//if glFlush();

      }//endfnc

      2.關(guān)于現(xiàn)實(shí)Bezier曲線的一段程序如下,運(yùn)行截圖如下,關(guān)于功能現(xiàn)有部分空缺,請(qǐng)完成。

      intInitScene(){

      glShadeModel(GL_SMOOTH);

      glClearColor(1.0f, 1.0f, 1.0f, 0.5f);//設(shè)置清空顏色為白色 glClearDepth(1.0f);

      //初始化深度緩存最大為 1.0f //開啟深度測(cè)試 glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);//開啟求值器

      glEnable(GL_MAP1_VERTEX_3);//設(shè)置控制點(diǎn)的類型,起始位置從0-100,控制點(diǎn)數(shù)目為4,跨度為3 //點(diǎn)的存儲(chǔ)數(shù)組為B_Points[4][3]

      } glMap1f(GL_MAP1_VERTEX_3,0.0f, 100.0f, 3,//起始 //終止范圍

      //點(diǎn)數(shù)目 iNumPoint,&B_Points[0][0]);//均勻分布網(wǎng)格,有100個(gè)單位,從u1到u2 glMapGrid1d(100,0.0,100);return TRUE;

      boolDrawScene(){

      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glTranslatef(0,0,-20.0f);inti;//設(shè)置點(diǎn)的尺寸大小為 10 glPointSize(10);//設(shè)置控制點(diǎn)為紅色 glColor3f(1.0,0.0,0.0);glBegin(GL_POINTS);

      for(i=0;i

      { glVertex2fv(B_Points[i]);}//for glEnd();return true;

      }//DrawScene 3.關(guān)于實(shí)現(xiàn)光照效果對(duì)比的程序。左圖為加光照,右邊為未加光照。部分功能空缺,請(qǐng)完成

      void DrawScene(){ GLfloat spotPostion[]={0.0,0.0,1.0,1.0};

      //清空緩沖區(qū)

      glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);glLoadIdentity();

      glPushMatrix();glColor3f(1.0,0.0,0.0);glRotatef(fRot, 1.0f, 0.0f, 0.0f);//使用燈光

      glLightfv(GL_LIGHT2,GL_POSITION,spotPostion);glLightfv(GL_LIGHT2,GL_SPOT_DIRECTION,spotDir);glTranslatef(spotPostion[0],spotPostion[1],spotPostion[2]);glutSolidCone(0.05f,3.0f,15,15);glPopMatrix();glTranslatef(0,0,-6.0);//glRotatef(fRot,1,0,0);//繞y軸旋轉(zhuǎn)60° glRotatef(60,0,1,0);//屬性堆棧壓棧

      // glPushAttrib(GL_LIGHTING_BIT);// glDisable(GL_LIGHTING);

      glColor3f(1.0f,1.0f,1.0f);glBegin(GL_TRIANGLES);//計(jì)算法線一

      calNormal(vTrangle1,vector);glNormal3fv(vector);

      glVertex3fv(vTrangle1[0]);glVertex3fv(vTrangle1[1]);glVertex3fv(vTrangle1[2]);glFlush();}//endfnc

      第二篇:3D游戲軟件設(shè)計(jì)

      《3D游戲軟件設(shè)計(jì)》

      一、單選題(共 20 道試題,共 40 分。)

      1.現(xiàn)有三組逆時(shí)針環(huán)繞的輪廓線,依次包含?,F(xiàn)在,如果把區(qū)域的環(huán)繞屬性設(shè)置為奇數(shù)類型,那么最終繪制出的區(qū)域描述正確的是 A.一個(gè)環(huán)形 B.實(shí)體塊

      C.一個(gè)環(huán)形加一個(gè)實(shí)體塊 D.無法確定具體填充區(qū)域 滿分:2 分

      2.在進(jìn)行點(diǎn)選操作時(shí),我們使用一個(gè)名稱標(biāo)識(shí)了三個(gè)重疊的圓形?,F(xiàn)在對(duì)它進(jìn)行一次點(diǎn)擊,那么它產(chǎn)生的點(diǎn)擊記錄為多少次 A.3 B.1 C.2 D.0 滿分:2 分

      3.在利用矩陣進(jìn)行圖形三維變換時(shí),我們只用3×3矩陣無法完成的變換操作是

      A.平移 B.旋轉(zhuǎn) C.錯(cuò)切

      D.以上說法都不對(duì) 滿分:2 分

      4.在復(fù)合變換中,固定坐標(biāo)模式的變換,對(duì)于坐標(biāo)變換操作的調(diào)用和執(zhí)行順序描述中,正確的是

      A.相對(duì)于同一個(gè)固定坐標(biāo)系先調(diào)用的變換先執(zhí)行 B.相對(duì)于同一個(gè)固定坐標(biāo)系先調(diào)用的變換后執(zhí)行

      C.相對(duì)于同一個(gè)固定坐標(biāo)系調(diào)用和執(zhí)行的順序沒有必然聯(lián)系 D.以上說法都不對(duì) 滿分:2 分

      5.函數(shù)glAlpaFunc用于設(shè)置alpha測(cè)試的參考值和比較函數(shù)的參數(shù)中,哪個(gè)參數(shù)的意義表示“絕不接受這個(gè)片段” A.GL_NERVER B.GL_ALWAYS C.GL_LESS D.GL_EQUAL 滿分:2 分

      6.函數(shù)void glBlendEquation(Glenum mode)函數(shù)中的mode對(duì)取值為GL_FUNC_SUBSTRACT描述正確的是 A.CsS+CdD B.CsS-CdD C.CdD-CsS D.CsopCd 滿分:2 分

      7.我們?cè)诶L制完物體后,如果鎖定了深度緩沖區(qū),接著再調(diào)換物體的z方向的次序,此時(shí)關(guān)于遮擋關(guān)系以下說法中正確的是 A.AB物體重疊部分會(huì)發(fā)生混合

      B.遮擋關(guān)系發(fā)生改變,AB物體遮擋關(guān)系互調(diào) C.遮擋關(guān)系不變 D.無法判斷 滿分:2 分

      8.glPixelMap{ui us f}v(Glenum map,Glint mapsize,const TYPE* values)函數(shù)被加載,它的函數(shù)參數(shù)參數(shù)mapsize的取值有意義的是 A.10 B.20 C.32 D.42

      滿分:2 分

      9.一束白光照射一個(gè)有光澤的藍(lán)色球體,那么這個(gè)球體的整體看上去是藍(lán)色的,它上面的亮點(diǎn)則是什么顏色的 A.紅色 B.綠色 C.白色 D.藍(lán)色 滿分:2 分

      10.白色的顏色值為

      A.(0,0,0)B.(255,0,255)C.(255,255,255)D.(1,1,1)滿分:2 分

      11.現(xiàn)在有控制點(diǎn)為四個(gè),每個(gè)頂點(diǎn)有三個(gè)坐標(biāo),現(xiàn)在我們想利用函數(shù)gluNurbsSurface進(jìn)行NURBS表面設(shè)置,那么u_stride的值應(yīng)該設(shè)置為 A.3 B.4 C.12 D.48 滿分:2 分

      12.進(jìn)行點(diǎn)選操作后,假設(shè)當(dāng)前的選擇緩沖區(qū)為pSelectBuff,那么其中的pSelectBuff[0]的值得含義是

      A.名字堆棧中壓入的名字?jǐn)?shù)

      B.自上一個(gè)點(diǎn)擊記錄之后,與視景體相交的圖元的所有頂點(diǎn)的最小窗口坐標(biāo)的z值 C.自上一個(gè)點(diǎn)擊記錄之后,與視景體相交的圖元的所有頂點(diǎn)的最大窗口坐標(biāo)的z值 D.點(diǎn)擊發(fā)生時(shí)名字堆棧的內(nèi)容 滿分:2 分 13.下列哪個(gè)不屬于計(jì)算機(jī)上支持的像素位數(shù)

      A.4位 B.24位 C.20位 D.32位 滿分:2 分

      14.OpenGL中如何判斷一個(gè)點(diǎn)接收了光源的多少光線

      A.通過距離光源的距離進(jìn)行計(jì)算 B.通過法線相對(duì)光源的方向進(jìn)行計(jì)算 C.通過物體的顏色值進(jìn)行計(jì)算

      D.通過物體和光源的顏色值的綜合考慮進(jìn)行計(jì)算 滿分:2 分

      15.OpenGL提供的投影矩陣堆棧個(gè)數(shù)為

      A.1 B.2 C.4 D.8 滿分:2 分

      16.利用3×3矩陣進(jìn)行二維點(diǎn)集變化時(shí),我們使用的矩陣為[1,0,0;0,-1,0;0,0,1],那么變化后的效果為

      A.沿著X軸對(duì)稱變換 B.沿著Y軸對(duì)稱變換 C.沿著原點(diǎn)對(duì)稱變換 D.沿著直線y=x對(duì)稱變換 滿分:2 分

      17.下列哪個(gè)顏色不屬于三原色

      A.紅

      B.藍(lán) C.綠 D.黑 滿分:2 分

      18.如果有兩束光進(jìn)入人眼,他們的成分為(R1,G1,B1)和(R2,G2,B2)那么疊加在一起的時(shí)候,如果紅色分量超出1了,那么最后的疊加結(jié)果為 A.R1+R2 B.1-R1-R2 C.1 D.R1+R2-1 滿分:2 分

      19.通常,我們的運(yùn)動(dòng)模糊效果,可以利用哪個(gè)緩沖區(qū)實(shí)現(xiàn)

      A.顏色緩沖區(qū) B.深度緩沖區(qū) C.模板緩沖區(qū) D.積累緩沖區(qū) 滿分:2 分

      20.OpenGL中復(fù)雜的圖形繪制一般都是如何實(shí)現(xiàn)的

      A.用曲線模擬 B.用四邊形拼接 C.用三角形拼接

      D.只要是凸多邊形拼接就可以 滿分:2 分

      二、多選題(共 10 道試題,共 20 分。)

      V

      1.下列哪些是OpenGL的常用庫

      A.GL B.GLU

      C.GLAUX D.GLUT 滿分:2 分

      2.在多邊形偏移中,可以有哪幾種模式用于不同的多邊形光柵化

      A.GL_FILL B.GL_LINE C.GL_POINT D.GL_TRANGLES 滿分:2 分

      3.對(duì)計(jì)算機(jī)圖形進(jìn)行顯示的方法中可以起到抗鋸齒作用的有哪些方法

      A.提高屏幕分辨率 B.采用區(qū)域覆蓋法 C.加權(quán)覆蓋法 D.抖動(dòng)技術(shù) 滿分:2 分

      4.OpenGL允許把與顏色相關(guān)的哪三個(gè)不同參數(shù)和光源相關(guān)聯(lián)

      A.GL_AMBIENT B.GL_DIFFUSE C.GL_SPECULAR D.GL_AMBIENT 滿分:2 分

      5.OpenGL包含有哪幾個(gè)緩沖區(qū)

      A.顏色緩沖區(qū) B.深度緩沖區(qū) C.模板緩沖區(qū) D.積累緩沖區(qū)

      滿分:2 分

      6.實(shí)現(xiàn)物體坐標(biāo)到達(dá)屏幕坐標(biāo)的處理管線中,包括的處理步驟有

      A.視圖模型矩陣操作 B.投影操作

      C.透視除法進(jìn)行規(guī)范化 D.視口變換 滿分:2 分

      7.在局部光源模型中,隨著光源的距離增加,光的強(qiáng)度不會(huì)隨之衰減的有

      A.環(huán)境光 B.散射光 C.鏡面光 D.發(fā)射光 滿分:2 分

      8.以下是正交投影glOrtho函數(shù)作用特點(diǎn)的是

      A.視體是一個(gè)椎體 B.物體近大遠(yuǎn)小 C.視體為立方體

      D.物體的距離并不影響它看上去的大小 滿分:2 分

      9.以下是描述glBindTexture函數(shù)功能的是

      A.將生成的紋理的名稱綁定到指定的紋理上 B.創(chuàng)建紋理并加載

      C.選擇已經(jīng)加載的紋理進(jìn)行貼紋理操作 D.以上都對(duì) 滿分:2 分

      10.一下那些屬于OpenGL的特點(diǎn)

      A.標(biāo)準(zhǔn)支持靈活

      B.具有良好伸縮性 C.具有良好擴(kuò)展性 D.擴(kuò)展性不強(qiáng) E.滿分:2 分

      三、判斷題(共 20 道試題,共 40 分。)

      V

      1.設(shè)置光源位置時(shí),當(dāng)我們的光源坐標(biāo)位置(x,y,z,w)中的w為0時(shí)代表我們的光為局部光源 A.錯(cuò)誤 B.正確 滿分:2 分

      2.glNormal*函數(shù)是glBegin和glEnd之間的合法函數(shù)

      A.錯(cuò)誤 B.正確 滿分:2 分

      3.無論是在反饋模式下還是選擇模式下,物體的信息總是在任何片斷測(cè)試之前返回

      A.錯(cuò)誤 B.正確 滿分:2 分

      4.函數(shù)glLoadName用于將當(dāng)前的名字替換名字堆棧頂部的元素

      A.錯(cuò)誤 B.正確 滿分:2 分

      5.函數(shù)glPerspective(GLdouble fogy,GLdouble aspect, GLdouble near,GLdouble far)所定義的視體僅限于和X和Y軸對(duì)稱的平截頭體 A.錯(cuò)誤 B.正確 滿分:2 分

      6.視圖變換和模型變換可以互逆變換

      A.錯(cuò)誤 B.正確 滿分:2 分

      7.位圖字體無法進(jìn)行旋轉(zhuǎn)

      A.錯(cuò)誤 B.正確 滿分:2 分

      8.過濾函數(shù)中的參數(shù)GL_LINER它會(huì)對(duì)一小塊區(qū)域的紋理單元值進(jìn)行加權(quán)平均,用于放大或者縮小 A.錯(cuò)誤 B.正確 滿分:2 分

      9.對(duì)物體進(jìn)行平移變換和縮放變換的順序不會(huì)對(duì)最后結(jié)果產(chǎn)生影響

      A.錯(cuò)誤 B.正確 滿分:2 分

      10.OpenGL至少可以在場(chǎng)景中包含1個(gè)光源

      A.錯(cuò)誤 B.正確 滿分:2 分

      11.已知兩個(gè)向量,可以通過運(yùn)算V1^.V^2獲得它們所在平面的法線

      A.錯(cuò)誤 B.正確 滿分:2 分

      12.glEnable(GL_DEPTH_TEST)函數(shù)的作用是開啟深度測(cè)試

      A.錯(cuò)誤 B.正確 滿分:2 分

      13.為了使用mipmap,必須提供全系列的大小為2的整數(shù)次方的紋理圖像,其范圍從2*2到紋理的最大單元

      A.錯(cuò)誤 B.正確 滿分:2 分

      14.紋理坐標(biāo)必須在RGBA模式下才能使用

      A.錯(cuò)誤 B.正確 滿分:2 分

      15.函數(shù)glDepthMask的flag參數(shù)設(shè)置為GL_TRUE,則標(biāo)志著深度緩沖區(qū)可以寫入

      A.錯(cuò)誤 B.正確 滿分:2 分

      16.對(duì)于基本的求值器使用繪制步驟為先開啟求值器,設(shè)置控制點(diǎn),設(shè)置繪制屬性和模式,最后進(jìn)行渲染 A.錯(cuò)誤 B.正確 滿分:2 分

      17.位圖是由0和1組成的矩形數(shù)組

      A.錯(cuò)誤 B.正確 滿分:2 分

      18.鏡面亮點(diǎn)的顏色就是光源的鏡面光的顏色

      A.錯(cuò)誤 B.正確 滿分:2 分

      19.顏色混合操作在顏色索引模式下是非法的

      A.錯(cuò)誤 B.正確 滿分:2 分

      20.glRotatef(fRot,0.0f,1.0f,0.0f)函數(shù)可以讓圖形繞著X軸偏轉(zhuǎn)fRot角度

      A.錯(cuò)誤

      B.正確 滿分:2 分

      第三篇:軟件設(shè)計(jì)報(bào)告

      軟件設(shè)計(jì)報(bào)告

      姓名: 方軼琦

      學(xué)號(hào):10005808

      2013年6月18日~2013年6月28日

      第一章 軟件設(shè)計(jì)介紹.........................................................1 第三章 軟件設(shè)計(jì)的內(nèi)容.......................................................4 3.1 分?jǐn)?shù)統(tǒng)計(jì)軟件(A1)...................................................4 3.1.1設(shè)計(jì)題目及要求.....................................................4 3.1.2設(shè)計(jì)思想及程序流程框圖.............................................4 3.1.3邏輯功能程序.......................................................5 3.1.4結(jié)果及完善方向.....................................................5 3.2 打字軟件(A2).......................................................9 3.2.1設(shè)計(jì)題目及要求.....................................................9 3.2.2設(shè)計(jì)思想及程序流程框圖.............................................9 3.2.3邏輯功能程序......................................................10 3.2.4結(jié)果及完善方向....................................................10 3.3 文本編輯器(A3)....................................................13 3.3.1設(shè)計(jì)題目及要求....................................................13 3.3.2設(shè)計(jì)思想及程序流程框圖............................................14 3.3.3邏輯功能程序......................................................14 3.3.4結(jié)果及完善方向....................................................17 3.4 加密軟件(A4)......................................................19 3.4.1設(shè)計(jì)題目及要求....................................................19 3.4.2設(shè)計(jì)思想及程序流程框圖............................................19 3.4.3邏輯功能程序......................................................19 3.4.4結(jié)果及完善方向....................................................19 3.5 進(jìn)制轉(zhuǎn)換器(A5)....................................................23 3.5.1設(shè)計(jì)題目及要求....................................................23 3.5.2設(shè)計(jì)思想及程序流程框圖............................................23 3.5.3邏輯功能程序......................................................24 3.5.4結(jié)果及完善方向....................................................29 3.6 學(xué)生成績核算系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(B1)..................錯(cuò)誤!未定義書簽。3.6.1設(shè)計(jì)題目及要求....................................................30 3.6.2設(shè)計(jì)思想及程序流程框圖............................................30 3.6.3邏輯功能程序......................................................32 3.6.4結(jié)果及完善方向....................................................32 3.7 模擬電信計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(B2)..................................39 3.7.1設(shè)計(jì)題目及要求....................................................39 3.7.2設(shè)計(jì)思想及程序流程框圖............................................40 3.7.3邏輯功能程序......................................錯(cuò)誤!未定義書簽。3.7.4結(jié)果及完善方向....................................................41 第四章 心得體會(huì)............................................................49

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      軟件設(shè)計(jì)介紹

      一. 軟件的設(shè)計(jì)概念

      軟件設(shè)計(jì)是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。建議用數(shù)學(xué)語言來抽象事務(wù)和問題,因?yàn)閿?shù)學(xué)是最好的抽象語言,并且它的本質(zhì)就是抽象。將復(fù)雜的問題分解成可以管理的片斷會(huì)更容易。將問題或事物分解并模塊化這使得解決問題變得容易,分解的越細(xì)模塊數(shù)量也就越多,它的副作用就是使得設(shè)計(jì)者考慮更多的模塊之間耦合度的情況。

      二.軟件設(shè)計(jì)的性質(zhì)、目的:

      本課程是一門技能訓(xùn)練課,為在校學(xué)生的必修課程。通過設(shè)計(jì)培養(yǎng)學(xué)生良好的編程習(xí)慣,使學(xué)生掌握編程的基本步驟,規(guī)范學(xué)生的編寫程序的格式,鍛煉學(xué)生編寫程序的能力,為將來編寫較大程序的打好基礎(chǔ)。

      三.軟件設(shè)計(jì)總時(shí)間:二周

      四.實(shí)驗(yàn)設(shè)備:南京郵電大學(xué)微機(jī)室微機(jī)。五.軟件設(shè)計(jì)的任務(wù)

      通過集中時(shí)間上機(jī)實(shí)驗(yàn),使學(xué)生充分發(fā)揮已有的編程能力,熟悉編譯環(huán)境,選擇若干課題,進(jìn)行審題、分析、設(shè)計(jì)和調(diào)試,并根據(jù)要求寫出實(shí)驗(yàn)報(bào)告。

      六.實(shí)驗(yàn)內(nèi)容

      軟件設(shè)計(jì)課題共分A、B兩檔。A檔共5題,第一周完成;B檔共2題,第二周完成。

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      第二章

      軟件開發(fā)平臺(tái)簡介

      Visual Studio 2008 簡介

      Microsoft? Visual Studio? 2008 使開發(fā)人員能夠快速創(chuàng)建高質(zhì)量、用戶體驗(yàn)豐富而又緊密聯(lián)系的應(yīng)用程序,充分展示了 Microsoft 開發(fā)智能客戶端應(yīng)用程序的構(gòu)想。借助 Visual Studio 2008,采集和分析信息將變得更為簡單便捷,業(yè)務(wù)決策也會(huì)因此變得更為有效。任何規(guī)模的組織都可以使用 Visual Studio 2008 快速創(chuàng)建能夠利用 Windows Vista? 和 2007 Visual Studio system 的更安全、更易于管理并且更可靠的應(yīng)用程序。

      Visual Studio 2008 提供了高級(jí)開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,幫助在各種平臺(tái)上快速創(chuàng)建當(dāng)前最先進(jìn)的應(yīng)用程序。

      Visual Studio 2008 包括各種增強(qiáng)功能,例如可視化設(shè)計(jì)器(使用.NET Framework 3.5 加速開發(fā))、對(duì) Web 開發(fā)工具的大量改進(jìn),以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強(qiáng)功能。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序。開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前瀏覽器內(nèi)運(yùn)行并完全訪問 ASP.NET 應(yīng)用程序服務(wù)和 Microsoft平臺(tái)。

      Visual Studio 2008 具備如下優(yōu)勢(shì):

      快速開發(fā)新突破

      從建模到編碼,再到調(diào)試,Visual Studio 2008 提供了增強(qiáng)的編程語言、設(shè)計(jì)器、編輯器以及和數(shù)據(jù)相關(guān)的新功能,可以幫助您體驗(yàn)到生產(chǎn)力的突破。

      創(chuàng)建杰出的用戶體驗(yàn)

      Visual Studio 2008為開發(fā)人員提供了新的工具,通過使用最新的平臺(tái),如Web, Windows Vista、2007 Microsoft Office System、Microsoft SQL Server 2008、Windows Mobile?以及Windows Server?2008,開發(fā)人員可以快速創(chuàng)建個(gè)性化很強(qiáng)的用戶體驗(yàn)以及互聯(lián)的應(yīng)用程序。

      跨越開發(fā)周期的協(xié)作

      Visual Studio 2008 可以讓開發(fā)人員、設(shè)計(jì)人員、測(cè)試人員、架構(gòu)師以及項(xiàng)目經(jīng)理通過共享工具以及過程整合的方式,實(shí)現(xiàn)協(xié)同工作,從而減少了解決方案所花費(fèi)的時(shí)間。

      采用統(tǒng)一整合的方式處理數(shù)據(jù)

      Visual Studio 2008 可以顯著的改進(jìn)開發(fā)人員處理數(shù)據(jù)的方法。傳統(tǒng)方式中,開發(fā)人員不得不根據(jù)數(shù)據(jù)的存儲(chǔ)位置以及用戶的連接方法,對(duì)數(shù)據(jù)進(jìn)行不同的操作。通過語言集成查詢(Language-Integrated Query, LINQ), 開發(fā)人員可以使用單獨(dú)的模型來查詢并轉(zhuǎn)換XML, Microsoft SQL Server?和對(duì)象數(shù)據(jù),而不需要學(xué)習(xí)或使用特定的編程語言,這樣就降低了復(fù)雜度并提高了生產(chǎn)力。

      體驗(yàn)全新的Web開發(fā)工具

      Visual Studio 2008為公司或開發(fā)團(tuán)隊(duì)提供了一個(gè)健壯的、端到端的平臺(tái)來構(gòu)建應(yīng)用程序并通過Web 方式提供應(yīng)用程序。通過Visual Studio 2008, 開發(fā)人員可以很容易的將最新的Windows Presentation Foundation(WPF)功能整合到現(xiàn)

      有的Windows Forms 應(yīng)用程序以及新的應(yīng)用程序中,并在Windows平臺(tái)上創(chuàng)建高保真的用戶體驗(yàn)。通過額外的ASP.NET AJAX 1.0和Microsoft

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      IntelliSense?以及對(duì)調(diào)試JavaScript 8.0的支持,構(gòu)建AJAX 應(yīng)用程序?qū)?huì)更加快捷。增強(qiáng)的Web 設(shè)計(jì)器帶有分離視圖編輯功能,可以讓開發(fā)人員同時(shí)看到HTML 頁面以及結(jié)果頁面,從而提升了Web 開發(fā)的體驗(yàn)。

      將數(shù)據(jù)庫功能整合到應(yīng)用程序生命周期的管理中

      Visual Studio 2008為不同的團(tuán)隊(duì)成員提供了一系列針對(duì)架構(gòu)、設(shè)計(jì)、程序開發(fā)、數(shù)據(jù)庫開發(fā)以及應(yīng)用程序測(cè)試的相關(guān)工具。Microsoft Visual Studio Team System 2008 Database Edition 目前已經(jīng)全部整合到了Microsoft Visual Studio Team System 2008 Team Suite 中。

      構(gòu)建運(yùn)行在多個(gè)版本的.NET Framework 之上的應(yīng)用程序

      通過Visual Studio 2008, 開發(fā)人員可以使用一個(gè)工具來管理并構(gòu)建針對(duì)多個(gè)版本的.NET Framework 的應(yīng)用程序。Visual Studio 2008將會(huì)自動(dòng)讓項(xiàng)目以及設(shè)置適應(yīng)開發(fā)人員所指定的.NET framework 版本。開發(fā)人員不再需要安裝多個(gè)版本的Visual Studio 來維護(hù)運(yùn)行于多個(gè)版本的.NET Framework 之上的應(yīng)用程序。

      為Microsoft Office 系列構(gòu)建可靠的、可伸縮的應(yīng)用程序

      Visual Studio Tools for Office 目前已經(jīng)完全整合到了Visual Studio 2008 專業(yè)版當(dāng)中。Visual Studio 2008可以讓開發(fā)人員自己定制Microsoft Office Word, Microsoft Office Excel ,Microsoft Office PowerPoint , Microsoft Office Outlook ,Microsoft Office Visio , Microsoft Office InfoPath , 以及Microsoft Office Project, 從而提升用戶生產(chǎn)力并且更有效的利用了Office 2007 中的新增功能。對(duì)Microsoft Office 進(jìn)行自定義,同時(shí)應(yīng)用程序支持ClickOnce 部署,從而使開發(fā)人員可以采用正確的工具以及框架來實(shí)現(xiàn)對(duì)Microsoft Office 解決方案進(jìn)行從容部署。

      為Windows Vista 構(gòu)建完美的應(yīng)用程序

      Visual Studio 2008可以讓開發(fā)人員快捷的創(chuàng)建出同Windows Vista 外觀風(fēng)格一樣炫的應(yīng)用程序,并且可以利用Windows Vista 中所提供的8000多種新API.在開發(fā)人員和設(shè)計(jì)人員之間實(shí)現(xiàn)無縫協(xié)作

      Microsoft已經(jīng)針對(duì)設(shè)計(jì)人員發(fā)布了名為Microsoft Expression的工具。在Visual Studio 2008中,來自于Microsoft Expression Web 以及Microsoft Expression Blend?中的設(shè)計(jì)元素可以在不更改后臺(tái)代碼的情況下,從Visual

      Studio 中進(jìn)行導(dǎo)入導(dǎo)出的操作。這就意味著開發(fā)人員和設(shè)計(jì)人員可以實(shí)時(shí)的進(jìn)行無縫協(xié)作,并且不用擔(dān)心用戶界面設(shè)計(jì)更改所引起的開發(fā)問題。

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      第三章 軟件設(shè)計(jì)的內(nèi)容

      3.1 分?jǐn)?shù)統(tǒng)計(jì)軟件(A1)

      3.1.1設(shè)計(jì)題目及要求 設(shè)計(jì)題目:分?jǐn)?shù)統(tǒng)計(jì) 要求:(1)、輸入某班級(jí)學(xué)生的姓名、分?jǐn)?shù);

      (2)、對(duì)(1)的分?jǐn)?shù)進(jìn)行降冪排列并輸出;(3)、具有輸入輸出界面。3.1.2設(shè)計(jì)思想及程序流程框圖

      這道題我是用C# 的可視化環(huán)境制作了一個(gè)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)。制作的界面如圖3.1-1所示:

      實(shí)現(xiàn)的功能和設(shè)計(jì)方法:

      1.在“姓名”和“分?jǐn)?shù)”后面的文本框內(nèi)輸入學(xué)生信息,輸入完畢后,按“輸入”按鈕,學(xué)生信息就會(huì)顯示到左下方的listbox中。

      2.當(dāng)用戶輸入若干名學(xué)生信息后,按“排序”按鈕,右下方的listbox中就會(huì)顯示按成績降冪排序后的學(xué)生信息。排序方法是使用冒泡排序法。

      3.當(dāng)用戶輸入學(xué)生信息出錯(cuò)時(shí),用鼠標(biāo)選擇出錯(cuò)項(xiàng),按下“刪除選中的輸入項(xiàng)”,即可刪除輸錯(cuò)項(xiàng),繼續(xù)輸入學(xué)生信息。方法是用listBox.SelectedIndex找到選中的索引值,然后刪除數(shù)組中該學(xué)生信息和listbox中信息就可以了。

      4.當(dāng)用戶想重新輸入學(xué)生信息,按下“重新開始”清空數(shù)組和listbox中的信息。

      5.當(dāng)用戶要結(jié)束操作,按下“結(jié)束”,調(diào)用close()函數(shù)就可以跳出界面。主程序的流程圖如圖3.1-2所示。冒泡排序的流程圖如圖3.1-3所示。

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      開始N=學(xué)生數(shù)i=0ii?N開始輸入學(xué)生信息score[j-1]

      圖3.1-1 主流程圖

      圖3.1-2冒泡排序流程圖 3.1.3邏輯功能程序 具體程序如下:

      #include #include #include struct student //存放學(xué)生信息的結(jié)構(gòu)體 { char name[20];//字符型數(shù)組存放姓名

      int grade;//成績類型 } temp,std[100];int main(){ int err;char x[5];int n;int i;int m;char ch[20];

      軟件設(shè)計(jì)報(bào)告 10005808 方軼琦

      do { system(“cls”);printf(“ nn”);printf(“

      --------n”);printf(“ | 歡迎使用本系統(tǒng) | n”);printf(“

      --------n”);printf(“ n”);printf(“

      -------------請(qǐng)輸入學(xué)生數(shù)--------------nn”);do{ printf(“tt學(xué)生數(shù): ”);

      err=0;i=0;

      scanf(“%s”,x);//輸入選項(xiàng)

      getchar();

      while(x[i]!='