freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三維畫面鋸齒處理本科畢業(yè)論文(編輯修改稿)

2025-07-25 10:49 本頁面
 

【文章內(nèi)容簡介】 部設(shè)備。  由于微軟在Windows中包含了OpenGL,所以O(shè)penGL可以與Visual C++緊密接合,簡單快捷地實(shí)現(xiàn)有關(guān)計(jì)算和圖形算法,并保證算法的正確性和可靠性。簡單地說,OpenGL具有建模、變換、色彩處理、光線處理、紋理影射、圖像處理、動(dòng)畫及物體運(yùn)動(dòng)模糊等功能:   建模:OpenGL圖形庫除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體,如球、錐、多面體、茶壺以及復(fù)雜曲線和曲面(例如Bezier、Nurbs等曲線或曲面)的繪制函數(shù)?!? 變換:OpenGL圖形庫的變換包括基本變換和投影變換。基本變換有平移、旋轉(zhuǎn)、變比、鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換?!? 顏色模式設(shè)置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。  光照和材質(zhì)設(shè)置:OpenGL光有輻射光(Emitted Light)、環(huán)境光(Ambient Light)、漫反射光(Diffuse Light)和鏡面光(Specular Light)。材質(zhì)是用光反射率來表示??陀^世界中的物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形成的顏色?!? 紋理映射(Texture Mapping):利用OpenGL紋理映射功能可以十分逼真地表達(dá)物體表面細(xì)節(jié)?! ∥粓D顯示和圖象增強(qiáng):OpenGL的圖象功能除了基本的拷貝和像素讀寫外,還提供融合(Blending)、反走樣(Antialiasing)和霧(fog)的特殊圖象效果處理。以上三條可是被仿真物更具真實(shí)感,增強(qiáng)圖形顯示的效果?! ‰p緩存動(dòng)畫(Double Buffering):OpenGL使用了前臺緩存和后臺緩存交替顯示場景(Scene)技術(shù),簡而言之,后臺緩存計(jì)算場景、生成畫面,前臺緩存顯示后臺緩存已畫好的畫面。特殊效果:利用OpenGL還能實(shí)現(xiàn)深度暗示( Depth Cue )、運(yùn)動(dòng)模糊(Motion Blur)等特殊效果。運(yùn)動(dòng)模糊的繪圖方式(motionblured),模擬物體運(yùn)動(dòng)時(shí)人眼觀察所感覺的動(dòng)感現(xiàn)象。深度域效果(depthofeffects),類似于照相機(jī)鏡頭效果,模型在聚焦點(diǎn)處清晰,反之則模糊。:幾何頂點(diǎn)數(shù)據(jù)圖像頂點(diǎn)數(shù)據(jù)顯示列表運(yùn)算器逐個(gè)頂點(diǎn)操作紋理映射幀緩沖區(qū)光柵化逐個(gè)頂點(diǎn)操作和圖元組裝圖像操作 OpenGL工作流程根據(jù)這個(gè)流程,我們可以歸納出在OpenGL中進(jìn)行主要的圖形操作直至在計(jì)算機(jī)屏幕上渲染繪制出三維圖形景觀的基本步驟:根據(jù)基本圖形單元建立景物模型,并且對所建立的模型進(jìn)行數(shù)學(xué)描述(OpenGL中把:點(diǎn)、線、多邊形、圖像和位圖都作為基本圖形單元)。把景物模型放在三維空間中的合適的位置,并且設(shè)置視點(diǎn)(viewpoint)以觀察所感興趣的景觀。計(jì)算模型中所有物體的色彩,其中的色彩根據(jù)應(yīng)用要求來確定,同時(shí)確定光照條件、紋理粘貼方式等。把景物模型的數(shù)學(xué)描述及其色彩信息轉(zhuǎn)換至計(jì)算機(jī)屏幕上的象素,這個(gè)過程也就是光柵化(rasterization)。u 操作系統(tǒng):Windows 7/Windows xp/ Windows 2000。u 集成開發(fā)環(huán)境: VC++ Vistual Studio 2008 or Vistual Studio 2010u 開發(fā)語言:C++u 分辨率:最佳效果12801024像素。(1024 X 768 亦可)u CPU:M380 u 內(nèi)存:256MB以上2 OpenGL實(shí)現(xiàn)三維圖像顯示的基本理論 概要設(shè)計(jì)因?yàn)镺penGL與VC++是通過接口程序相連的,所以在實(shí)現(xiàn)三維圖形的生成及顯示時(shí),需要一個(gè)應(yīng)用程序入口;然后要注冊窗口類,注冊完成后需要?jiǎng)?chuàng)建OpenGL顯示窗口;之后便可以進(jìn)行三維圖形的繪制;繪制完成后銷毀窗口、注冊窗口,整個(gè)過程便結(jié)束。是否開始創(chuàng)建opengl顯示CreateWindowGL()注冊窗口類RegisterWindowcals()初始化opengl繪制程序initialize()循環(huán)更新顯示并等待消息消息是否退出退出前的掃尾工作Deinitialize()銷毀窗口DestroyWindowGL()注銷窗口Unregister()WinMain()應(yīng)用程序入口返回0結(jié)束 程序流程圖應(yīng)用實(shí)例的實(shí)現(xiàn)包括以下幾個(gè)步驟:程序初始化,形體建模,色彩渲染,應(yīng)用動(dòng)畫。 程序初始化形體建模渲染色彩動(dòng)畫的應(yīng)用 工程實(shí)現(xiàn)流程圖本軟件系統(tǒng)的創(chuàng)意來自于互聯(lián)網(wǎng)上時(shí)下流行的3D游戲環(huán)境。在游戲場景的暢游過程中,發(fā)現(xiàn)各種場景皆可真實(shí)如斯,無論是現(xiàn)代城市中的房屋、車輛,還是森林場景中的樹木、花草、山峰等皆可實(shí)現(xiàn)。對它的細(xì)膩的真實(shí)感到驚訝,于是,決心實(shí)現(xiàn)其中的某些功能。試圖實(shí)現(xiàn)其三維物體的創(chuàng)造,因此,便產(chǎn)生了本系統(tǒng)。在InitializeOpenGL()中會創(chuàng)建一個(gè)設(shè)備上下文(DC),為這個(gè)DC選擇一個(gè)像素格式,創(chuàng)建和這個(gè)DC相關(guān)的繪制上下文(RC),()來建立像素格式,調(diào)用SetLogicalPalette()設(shè)置邏輯調(diào)色板。BOOL CDifferentView::SetupPixelFormat(){ PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // pfd結(jié)構(gòu)的大小 1, // 版本號 PFD_DRAW_TO_WINDOW | // 支持在窗口中繪圖 PFD_SUPPORT_OPENGL | // 支持 OpenGL PFD_DOUBLEBUFFER, // 雙緩存模式 PFD_TYPE_RGBA, // RGBA 顏色模式 24, // 24 位顏色深度 0, 0, 0, 0, 0, 0, // 忽略顏色位 0, // 沒有非透明度緩存 0, // 忽略移位位 0, // 無累加緩存 0, 0, 0, 0, // 忽略累加位 32, // 32 位深度緩存 0, // 無模板緩存 0, // 無輔助緩存 PFD_MAIN_PLANE, // 主層 0, // 保留 0, 0, 0 // 忽略層,可見性和損毀掩模 }。 int pixelformat。 pixelformat = ::ChoosePixelFormat(m_pDCGetSafeHdc(), amp。pfd)。//選擇像素格式 ::SetPixelFormat(m_pDCGetSafeHdc(), pixelformat, amp。pfd)。 //設(shè)置像素格式 if( amp。 PFD_NEED_PALETTE) SetLogicalPalette()。 //設(shè)置邏輯調(diào)色板 return TRUE。}在場景模型建立方面,我們選擇了3個(gè)物體立方體、金字塔、圓球體。其中前兩個(gè)物體的構(gòu)造比較簡單。代碼如下:void CDifferentView::DrawCube(){ glLoadIdentity()。 glTranslatef(,)。 glRotatef(m_xRot,)。//旋轉(zhuǎn)操作 glRotatef(m_yRot,)。 glRotatef(m_zRot,)。 glEnable(GL_TEXTURE_2D)。 glBindTexture(GL_TEXTURE_2D,m_Texture[0])。//加載紋理 glBegin(GL_POLYGON)。 //前面 glTexCoord2f(0,0)。 glVertex3f(,)。 glTexCoord2f(1,0)。 glVertex3f( ,) glTexCoord2f(1,1)。 glVertex3f( , ,)。 glTexCoord2f(0,1)。 glVertex3f(, ,)。 glEnd()。 //其他各面的繪制類似,不再寫出 glDisable(GL_TEXTURE_2D)。}規(guī)則多面體的繪制比較簡單,只需考慮將各個(gè)紋理坐標(biāo)綁定到相應(yīng)的空間坐標(biāo)即可,金字塔型不外如此,不再贅述。對于圓球體的構(gòu)造,利用C++語言的特點(diǎn),構(gòu)造一個(gè)DrawPlanet函數(shù),其中,參數(shù)傳入Planet對象。根據(jù)不同的Planet對象,繪制不同的具有真實(shí)感的三維球體。glPushMatrix把當(dāng)前的矩陣拷貝到棧中。當(dāng)我們調(diào)用 glPopMatrix時(shí),最后壓入棧的矩陣恢復(fù)為當(dāng)前矩陣。使用glPushMatrix可以精確地把當(dāng)前矩陣保存下來,并用 glPopMatrix把它恢復(fù)出來。這樣我們就可以使用這個(gè)技術(shù)相對某個(gè)物體放置其他物體。使用GLUquadricObj構(gòu)建二次曲面,并定義相關(guān)屬性,使用設(shè)定好的相關(guān)參數(shù)用gluSphere畫出圓球體。void CDifferentView::DrawPlanet(Planet planet){glPushMatrix()。glTranslatef(, ,)。 //設(shè)置旋轉(zhuǎn)矩陣glRotatef(,)。 //設(shè)置旋轉(zhuǎn)glRotatef(,)。 //設(shè)置旋轉(zhuǎn)glBindTexture(GL_TEXTURE_2D, texture_id[])。GLUquadricObj* q = gluNewQuadric()。 //二次曲面的定義gluQuadricDrawStyle(q, GLU_FILL)。 //設(shè)置二次曲面的屬性gluQuadricNormals (q, GLU_SMOOTH)。gluQuadricTexture (q, GL_TRUE)。 //是否啟用紋理 gluSphere(q, , , )。//構(gòu)建圓球體gluDeleteQuadric(q)。glPopMatrix()。}3 三維圖像顯示鋸齒處理技術(shù)光柵圖形顯示器是目前使用最廣泛的圖形顯示器,因?yàn)樗哂幸韵聝?yōu)點(diǎn):光柵掃描顯示器具有固定的刷新順序,掃描從屏幕的左上角開始,從左到右,從上到下的順序進(jìn)行刷新,從而刷新控制部件得以簡化,節(jié)約了成本。在光柵顯示系統(tǒng)中,構(gòu)成圖形的最小圖形元素
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1