• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于IMx6的opengl圖形著色器開發(fā)研究

      2020-06-24 03:06燕秀秀
      中國新通信 2020年2期
      關(guān)鍵詞:頂點(diǎn)卡爾變量

      燕秀秀

      摘要:飛思卡爾的imx6處理器,集成了高達(dá)1GHZ的ARM CortexTM-A9內(nèi)核、2D和3D圖形處理器和3D 1080P視頻處理器,基于imx6的圖形開發(fā)研究和設(shè)計,能夠?qū)崿F(xiàn)高速生成畫面,提高圖形顯示質(zhì)量。本文主要研究了opengl的基于著色器的編程思路和imx6的圖形開發(fā)方式,基本完成了基于opengl 2.0的圖形天地球演示畫面。同時由于imx6的高性能和低功耗,可用于將來顯示器的圖形顯示模塊,一定能適應(yīng)航空電子顯示環(huán)境的嚴(yán)酷。

      關(guān)鍵詞:Opengl著色器;imx6

      一、第一章

      Opengl 是一個跨編程、跨平臺的編程語言,支持生成二維、 三維圖形圖像。Opengl 是與硬件無關(guān)的軟件接口,可以運(yùn)行在 多個平臺上,提供一組功能強(qiáng)大的底層函數(shù)調(diào)用,實(shí)現(xiàn)簡單圖 元到復(fù)雜圖像的繪制。Opengl2.0,使用可編程著色器 (programmable shade)的著色語言編寫。著色器是用來渲染圖 像,可以代替固定渲染管線,分為頂點(diǎn)著色器和片段著色器。 其中,頂點(diǎn)著色器,主要進(jìn)行頂點(diǎn)的相關(guān)操作,是描述如何處 理頂點(diǎn)和法線等。片段著色器,是描述如何處理陰影、光線等。

      (一)創(chuàng)建著色器

      使用頂點(diǎn)著色器或者片段著色器的3個步驟:創(chuàng)建一個著 色器對象glcreateshader();把著色器源代碼變?yōu)闉槟繕?biāo)碼 glcompileshader();驗(yàn)證著色器已成功編譯glgetshaderir()。其中 如果編譯著色器失敗,可以讀取編譯錯誤日志 glgetshaderinfolog()。

      把多個著色器對象鏈接到一個著色器程序中,需要5個步 驟:創(chuàng)建著色器程序glcreatprogram();把適當(dāng)?shù)闹鲗ο箧?接到這個著色器程序中g(shù)lattachshader();連接著色器程序 gllinkprogram();驗(yàn)證著色器連接階段已經(jīng)成功glgetprogramiv(); 使用著色器進(jìn)行頂點(diǎn)或者片段處理gluseprogram()。

      (二)配置頂點(diǎn)數(shù)據(jù)

      在設(shè)置完頂點(diǎn)著色器或者片段著色器之后,需要將所要 繪制的圖元頂點(diǎn)配置在對應(yīng)的著色器中,也就是給著色器提供 數(shù)據(jù)vec()或mat(),以便后續(xù)進(jìn)行數(shù)據(jù)處理和應(yīng)用變換。訪問數(shù) 據(jù)具體有三種方式,訪問向量或矩陣的元素,訪問矩陣,訪問 結(jié)構(gòu)。其中訪問向量或矩陣中的元素有兩種方式,名稱訪問和 下標(biāo)訪問。在名稱訪問中,與位置有關(guān)的四個成分(x,y,z,w), 與顏色相關(guān)的四個成分(r,g,b,a),與紋理坐標(biāo)相關(guān)的四個成 分(s,t,p,q)。下標(biāo)訪問,通過數(shù)組索引進(jìn)行訪問元素。如圖1 是 opengl的頂點(diǎn)映射在LCD上的坐標(biāo)系。

      (三)類型限定符

      統(tǒng)一變量 Uniform,是頂點(diǎn)著色器和片段著色器共享, 必須聲明為全局變量,任何類型的變量,都可以聲明為 uniform 變量,包括數(shù)據(jù)和結(jié)構(gòu)體,這些值在幾何圖形中可以一直為常 量。屬性 Attribute,是頂點(diǎn)著色器的輸入變量關(guān)鍵字,支持?jǐn)?shù) 據(jù)更新。Varying,是片段著色器的輸入變量關(guān)鍵字。

      二、第二章

      Imx6 系列處理器有四核imx 6Quad、雙核imx6Dual、單核 imx6Solo 三個子系列。 imx系列處理器支持DDR3、 LV-DDR3、 LPDDR2 等存儲芯片。

      本文研究中,使用飛思卡爾的MARS Board,飛思卡爾半 導(dǎo)體公司長久致力于研究工業(yè)控制的應(yīng)用,有著成熟的產(chǎn)品體 系、開發(fā)技術(shù)支持和哦年工業(yè)級芯片的制造能力和經(jīng)驗(yàn),在嵌 入式處理器市場排名很高,其產(chǎn)品具有長期穩(wěn)定的供貨保證, 工業(yè)級產(chǎn)品具有至少10年的供貨保證【1】。最終選擇了飛思卡爾 的imx系列芯片作為軟件開發(fā)設(shè)計的支撐。imx 6Dual處理器集 成了高達(dá)1GHz的ARM Cortex?-A9 內(nèi)核、2D和3D圖形處理 器和3D 1080p視頻處理器。MarS Board評估板具有豐富的接口, 包括HDMI接口、LVDS 接口、Mini USB OTG接口、Mini USB Debug接口、RJ45接口、USB Host接口、TF卡接口和LCD顯示 接口[2],能夠幫助開發(fā)者針對上網(wǎng)本、桌面一體機(jī)、高端移動 互聯(lián)網(wǎng)設(shè)備、高端掌上電腦、高端便攜式媒體播放器、游戲機(jī) 和便攜式導(dǎo)航設(shè)備等各種不同領(lǐng)域進(jìn)行開發(fā)。

      本文使用Linux平臺運(yùn)行軟件,使用VirtualBox虛擬機(jī)來在 windows系統(tǒng)安裝Ubuntu Linux操作系統(tǒng)。

      三、第三章

      Opengl 提供的圖形設(shè)計程序API,在函數(shù)命名和函數(shù)參數(shù) 命名上都能夠做到直觀易懂,便于程序員使用。著色器是opengl 的核心部分,能靈活使用著色器的API函數(shù),是渲染場景的重 要手段。

      本文使用硬件的火星開發(fā)板,以及基于Linux平臺下的軟件 語言opengl,利用著色器編程思想,成功搭建了航空顯示器中 的天地球畫面的演示,包括航姿數(shù)據(jù)顯示及航向角的顯示,并 支持二維圖形的顯示和旋轉(zhuǎn)等。imx6的應(yīng)用前景十分廣泛,對 imx6的展望,后續(xù)可以繼續(xù)深入研究使用imx系列的幾何著色 器以及三維顯示和應(yīng)用。

      參考文獻(xiàn):

      [1]高與聰,大連理工大學(xué),基于imx6的車載視頻播放 單元的硬件設(shè)計與實(shí)現(xiàn),大連, 2014

      [2]Imx 6Dual/6Quad Applications Processors for Industrial Products. http://cache.freescale.com

      猜你喜歡
      頂點(diǎn)卡爾變量
      卡爾幾歲
      一場爭奪卡爾的戰(zhàn)爭
      “圖形的認(rèn)識”復(fù)習(xí)專題
      刪繁就簡三秋樹
      分離變量法:常見的通性通法
      不可忽視變量的離散與連續(xù)
      數(shù)學(xué)問答
      一個人在頂點(diǎn)
      輕松把握變量之間的關(guān)系
      變中抓“不變量”等7則
      卢氏县| 泾阳县| 永德县| 南华县| 遵义县| 新邵县| 丰城市| 临沂市| 瓦房店市| 民乐县| 万州区| 上饶县| 宝坻区| 阆中市| 云和县| 甘德县| 定日县| 苍山县| 康保县| 通山县| 南和县| 柳江县| 原平市| 潮州市| 出国| 龙泉市| 天气| 桂阳县| 和硕县| 集安市| 辰溪县| 阿拉善右旗| 清涧县| 西青区| 灌云县| 肥东县| 吉安县| 平顶山市| 丹巴县| 荣昌县| 珠海市|