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

正文內(nèi)容

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

2024-08-09 23:41 本頁面
 

【文章內(nèi)容簡介】 ,它和物體表面的材料性質(zhì)、表面向視線方向輻射的光能有關(guān),計(jì)算復(fù)雜,計(jì)算量很大。因此工業(yè)界投入很多力量來開發(fā)渲染技術(shù)。 由于本課題所研究的內(nèi)容只是基于探計(jì)基于 OpenGL 的三維圖形繪制,以及消鋸齒處理 ,所以所要求的技能僅是一門熟練編程語言,如 C++,并且,能夠使用 OpenGL 所提供的函數(shù)接口,進(jìn)行簡單的圖形繪制,并完成反走樣算法,實(shí)現(xiàn)消鋸齒。另外就是能使用一個開發(fā)工具,如本課題所采用的 VC++。技能要求并不是太復(fù)雜,一般的初學(xué)者都能夠完成。 6 課題開發(fā)環(huán)境介紹 環(huán)境需求 Visual C++是微軟公司開發(fā)的一個 IDE(集成開發(fā)環(huán)境 ),換句話說 ,就是使用c++的一個開發(fā)平臺,是微軟公司在其 Windows 操作系統(tǒng)下進(jìn)行應(yīng)用程序開發(fā)的最重要的產(chǎn)品,是系統(tǒng)級應(yīng)用開發(fā)工具,是運(yùn)用面向?qū)ο笏枷脒M(jìn)行軟件項(xiàng)目開 發(fā)的得力工具。它使得軟件開發(fā)能夠在源碼級、類級、控件級等多個級別上重用,不僅加快了軟件開發(fā)效率,而且提高了軟件的可重用性和頑健性。 VC基于 C, C++語言,主要由是 MFC 組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說 VC 在 Windows 平臺無所不能。 VC 作為一個主流的開發(fā)平臺一直深受編程愛好者的喜愛,但是很多人卻對它的入門感到難于上青天,究其原因主要是大家對他錯誤的認(rèn)識造成的,嚴(yán)格的來說 VC++不是門語言,雖然它和 C++之間有密切的關(guān)系 ,如果形 象點(diǎn)比喻的話,可以把 C++看作為一種“工業(yè)標(biāo)準(zhǔn)”,而 VC++則是某種操作系統(tǒng)平臺下的“廠商標(biāo)準(zhǔn)”,而“廠商標(biāo)準(zhǔn)”是在遵循“工業(yè)標(biāo)準(zhǔn)”的前提下擴(kuò)展而來的。 VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是 WIN API 方式,另一種則是 MFC 方式,傳統(tǒng)的 WIN API 開發(fā)方式比較繁瑣,而 MFC 則是對 WIN API 再次封裝,所以 MFC 相對于 WIN API 開發(fā)更具備效率優(yōu)勢。 系統(tǒng)在 Windows XP/7 系統(tǒng)下均可運(yùn)行,計(jì)算機(jī)只需安裝 VC++,并在相應(yīng)文檔中添加 OpenGL 函數(shù)庫相關(guān)頭文件及動態(tài)鏈接文件即可。 C++語言及其特點(diǎn) C++它是一種使用非常廣泛的計(jì)算機(jī)編程語言。是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設(shè)計(jì)語言。它支持過程化程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計(jì)、制作圖標(biāo)等等泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。 C++語言是一種優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,它在 C 語言的基礎(chǔ)上發(fā)展而來,但它比 C語言更容易為人們學(xué)習(xí)和掌握。 C++語言既保留了 C 語言的有效性、靈活性、便于移植等全部精華和特點(diǎn),又添加了面向?qū)ο缶幊痰闹С?,具有?qiáng)大的編程功能,可方便地構(gòu)造出模擬現(xiàn)實(shí)問題的實(shí)體和操作;編寫出的程序具有結(jié)構(gòu)清 晰、易于擴(kuò)充等優(yōu)良特性,適合于各種應(yīng)用軟件、系統(tǒng)軟件的程序設(shè)計(jì)。用 C++編寫的程序可讀性好,生成的代碼質(zhì)量高,運(yùn)行效率僅比匯編語言慢 10%~ 20%。 C++以其獨(dú)特的語言機(jī)制在計(jì)算機(jī)科學(xué)的各個領(lǐng)域中得到了廣泛的應(yīng)用。面向?qū)ο蟮脑O(shè)計(jì)思想是在原來結(jié)構(gòu)化程序設(shè)計(jì)方法基礎(chǔ)上的一個質(zhì)的飛躍, C++完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性,主要有以下特點(diǎn): 語句簡練、語法結(jié)構(gòu)清晰、緊湊,使用方便、靈活。 程序結(jié)構(gòu)簡單、書寫格式自由。 7 數(shù)據(jù)類型豐富、齊全。標(biāo)準(zhǔn) C 供了整數(shù)、實(shí)數(shù)、字符、字符串等基本數(shù)據(jù)類型,還提供數(shù)組、指針 、結(jié)構(gòu)體等構(gòu)造數(shù)據(jù)類型。 C++還增加了類這一特殊數(shù)據(jù)類型的定義機(jī)制。 運(yùn)算符豐富、齊全,運(yùn)算能力強(qiáng)。 C 提供的運(yùn)算符分為常規(guī)運(yùn)算和與硬件有關(guān)的運(yùn)算兩部分: ? 常規(guī)運(yùn)算符 —— 算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符等,這類運(yùn)算符各種語言一般都具備; ? 與硬件有關(guān)的運(yùn)算符 —— 位運(yùn)算符、地址運(yùn)算符等,這些運(yùn)算符是 C所獨(dú)有的,體現(xiàn)出匯編語言的某些特征。 語法限制不太嚴(yán)格,程序自由度大。 C編譯系統(tǒng)生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。程序可移植性強(qiáng)。語言的通用性較強(qiáng)。 C++包含了整個 C,因此也繼承了 C 的全部特征和 優(yōu)點(diǎn),同時(shí)添加了對 OOP 的完全支持。 C++語言引入了類與對象機(jī)制,包括類的定于,類的繼承與派生,類的多態(tài)性等。 C++語言一方面自定義結(jié)構(gòu)類型進(jìn)行擴(kuò)充,另一方面也支持新的類構(gòu)造。 OpenGL 及其特點(diǎn) OpenGL 是用于開發(fā)簡捷的交互式二維和三維圖形應(yīng)用程序的最佳環(huán)境,任何高性能的圖形應(yīng)用程序,從 3D 動畫、 CAD 輔助設(shè)計(jì)到可視化訪真,都可以利用 OpenGL 高質(zhì)量、高性能的特點(diǎn)。 OpenGL 自 1992 年出現(xiàn)以來,逐漸發(fā)展完善,已成為一個唯一開放的,獨(dú)立于應(yīng)用平臺的圖形標(biāo)準(zhǔn),一個典型的 OpenGL 應(yīng)用程序可以在任何平臺上運(yùn)行 只需要使用目標(biāo)系統(tǒng)的 OpenGL 庫重新編譯一下。 OpenGL 非常接近硬件,是一個圖形與硬件的接口,包括了 100 多個圖形函數(shù)用來建立三維模型和進(jìn)行三維實(shí)時(shí)交互。 OpenGL 強(qiáng)有力的圖形函數(shù)不要求開發(fā)人員把三維物體模型的數(shù)據(jù)寫成固定的數(shù)據(jù)格式,也不要求開發(fā)人員編寫矩陣變換、外部設(shè)備訪問等函數(shù),大大地簡化了編寫三維圖形的程序。例如: OpenGL 提供一系列的三維圖形單元(圖元)供開發(fā)者調(diào)用。 OpenGL 提供一系列的圖形變換函數(shù)。 OpenGL 提供一 系列的外部設(shè)備訪問函數(shù),使開發(fā)者可以方便地訪問鼠標(biāo) 鍵盤、空間球、數(shù)據(jù)手套等外部設(shè)備。 由于微軟在 Windows 中包含了 OpenGL,所以 OpenGL 可以與 Visual C++緊密接合,簡單快捷地實(shí)現(xiàn)有關(guān)計(jì)算和圖形算法,并保證算法的正確性和可靠性。簡單地說, OpenGL 具有建模、變換、色彩處理、光線處理、紋理影射、圖像處理、動畫及物體運(yùn)動模糊等功能: 建模: OpenGL 圖形庫除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體,如球、錐、多面體、茶壺以及復(fù)雜曲線和曲面(例如Bezier、 Nurbs 等曲線或曲面)的繪制函數(shù)。 變換: OpenGL 圖形庫的變換包括基本變換和投影變換。基本變換有平移、 8 旋轉(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é)。 位圖顯示和圖象增強(qiáng): OpenGL 的圖象功能除了基本的拷貝和像素讀寫外,還提供融合( Blending)、反走樣( Antialiasing)和霧( fog)的特殊圖象效果處理。以上三條可是被仿真物更具真實(shí)感,增強(qiáng)圖形顯示的效果。 雙緩存動畫( Double Buffering): OpenGL 使用了前臺緩存和后臺緩存交替顯示場景( Scene)技術(shù),簡而言之,后臺緩存計(jì)算場景、生成畫面,前臺緩存顯示后臺緩存已畫好的畫面。 特殊效果:利用 OpenGL 還能實(shí)現(xiàn)深度暗示( Depth Cue )、運(yùn)動模糊( Motion Blur)等特殊效果。運(yùn)動模糊的繪圖方式( motionblured),模擬物體運(yùn)動時(shí)人眼觀察所感覺的動感現(xiàn)象。深度域效果( depthofeffects),類似于照相機(jī)鏡頭效果,模型在聚焦點(diǎn)處清晰,反之則模糊。其工作流程如圖 : 圖 OpenGL 工作流程 根據(jù)這個流程,我們可以歸納出在 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ī)屏幕上的象素,這個幾何頂點(diǎn)數(shù)據(jù) 圖像頂點(diǎn)數(shù)據(jù) 顯示列表 運(yùn)算器 逐個頂點(diǎn)操作 紋理映射 幀緩沖區(qū) 光柵化 逐個頂點(diǎn)操作和圖元組裝 圖像操作 9 過程也就是光柵化( rasterization)。 軟硬件需求 ? 操作系統(tǒng): Windows 7/Windows xp/ Windows 20xx。 ? 集成開發(fā)環(huán)境 : VC++ Vistual Studio 20xx or Vistual Studio 20xx ? 開發(fā)語言: C++ ? 分辨率:最佳效果 1280 1024 像素。( 1024 X 768 亦可) ? CPU: M380 ? 內(nèi)存: 256MB 以上 10 2 OpenGL實(shí)現(xiàn)三維圖像顯示的基本理論 概要設(shè)計(jì) 因?yàn)?OpenGL 與 VC++是通過接口程序相連的,所以在實(shí)現(xiàn)三維圖形的生成及顯示時(shí),需要一個應(yīng)用程序入口;然后要注冊窗口類,注冊完成后需要創(chuàng)建OpenGL 顯示窗口;之后便可以進(jìn)行三維圖形的繪制;繪制完成后銷毀窗口、注冊窗口,整個過程便結(jié)束。 程序的具體實(shí)現(xiàn)框架如圖 所示 圖 程序流程圖 應(yīng)用實(shí)例的實(shí)現(xiàn)包括以下幾個步驟:程序 初始化,形體建模,色彩渲染,應(yīng)是 否 開始 創(chuàng)建 opengl顯示 CreateWindowGL() 注冊窗口類 RegisterWindowcals() 初始化 opengl 繪制程序 initialize() 循環(huán)更新顯示并等待消息 消息是否退出 退出前的掃尾工作 Deinitialize() 銷毀窗口 DestroyWindowGL() 注銷窗口 Unregister() WinMain() 應(yīng)用程序入口 返回 0 結(jié)束 11 用動畫。 圖 工程實(shí)現(xiàn)流程圖 基本設(shè)計(jì)概念和流程 創(chuàng)意說明 本軟件系統(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)。 系統(tǒng)初始化 在 InitializeOpenGL()中會創(chuàng)建一個設(shè)備上下文 (DC),為這個 DC 選擇一個像素格式,創(chuàng)建和這個 DC相關(guān)的繪制上下文( RC) ,然后選擇這個 會調(diào)用 SetupPixelFormat()來建立像素格式,調(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 顏 色模式 程序初始化 形體建模 渲染色彩 動畫的應(yīng)用 12 24, // 24 位顏色深度 0, 0, 0, 0, 0, 0, // 忽略顏色位 0, // 沒有非透明度緩存 0, // 忽略移位位 0, // 無累加緩存 0, 0, 0, 0, // 忽略累加位 32,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1