導航:首頁 > 編程語言 > linuxopengl編程

linuxopengl編程

發布時間:2022-04-17 10:47:20

1. linux 下opengl編程 編譯成功,運行不了!

我認為問題是顯示較低級別的系統
常式找不到什麼東西,以支持該庫要求。你可以嘗試同時測試老的和較新的版本上相同的硬體?

2. linux 下大部分顯卡驅動對OPENGL支持不好

我對3D驅動開發是一點都不懂……
但肯定DirectX在Linux下是沒啥用的,那是微軟的介面~~
OpenGL介面Linux肯定支持,但貌似是比較挑顯卡
其他還有什麼3D驅動的介面我也不了解了
給你提供個思路:雷神之錘的3D引擎貌似是開源的,本身支持Linux平台,你可以去找一下相關的開源項目。把源代碼拿來看看人家是怎麼做的~~

3. 求問OpenGL在windows,linux,Mac三大系統上一般那都用哪些軟體來開發

1.所有windows下的軟體包括游戲都不能再Linux或mac下運行,他們是完全不同的系統,可執行文件是不能在不同系統下運行的。

2.基於上述原因,很多軟體如果缺少Linux或Mac版本,那你就無法使用,這對一些有某種特定軟體需求的人群來說就很麻煩,你可以尋找支持該系統的替代軟體,但並不總是能百分之百地代替;但如果基於家庭用途,而且不是特定游戲的愛好者,你可以考慮別的系統;

3.三種系統的區別:
Mac OSX是蘋果旗下電腦的專用系統,一直以來蘋果電腦和其它電腦都是區分開來的(即Mac和PC),Mac OSX系統是作為Mac的一部分發售的,任何把Mac OSX系統用於PC的行為都是違法的(當然我們作為黑金塔愛好者不會在意),而且把OSX裝在普通PC上是非常困難的。OSX比Windows更為易用(當然也因人而異),也能出色地完成PC上的任務(例如iLife和iWork,以及系統的Mail之類的都遠強於Windows),但OSX在法律和兼容性(因為是用於Mac的系統,硬要在PC上用當然會有兼容性問題。。)上的局限,無法廣泛地流傳,由於用戶群小,隨之而來的問題比如網銀(中國)對Mac缺乏良好的支持等等;
Linux是一類開源免費的操作系統,因此被廣泛看好。Linux早就擁有了桌面版本,比如Ubuntu,也是類似於視窗的操作系統,可以像使用Windows那樣操作。你可以得到正版免費的Ubuntu,甚至可以向Ubuntu申請正版光碟,當然也可以下載正版刻錄。至於游戲,好像比Mac OSX還少。。。而且Linux版本眾多,也是一大問題。。由於它的系統架構,擁有Windows無法擁有的一些特性(比如不會產生磁碟碎片等等)
Windows嘛,隨著使用時間的積累,Windows會越來越臃腫,系統會越來越慢,貌似這是相對於Linux最大的缺點。但畢竟是使用人群最多的系統,所以得到了良好的支持~~

4. linux平台下的應用程序開發

除了使用qt gtk 其實還有很多圖形庫 像openGL 樓主如果想自己編寫圖形界面也是可行的 使用framebuffer 可以直接寫屏 在grub啟動項中加入 vga=791(具體值得看樓主顯示器的解析度等來看) 啟動之後就會在/dev 文件夾底下會有一個fb0文件 打開文件將其映射到內存中 通過對這塊內存的操作 就可以實現對屏幕的控制 像畫點 畫線 畫圖 等 再通過對滑鼠及鍵盤設備文件的訪問 就可以獲得滑鼠輸入和鍵盤輸入 通過這些 就可以實現一些圖形控制項 嵌入式中常用的 Qt/E 就是基於framebuffer的 樓主可以上網查查framebuffer編程 再多看看計算機圖形學的書 了解一些常用高效的畫線畫圖方法

5. 如何在Linux I/O 重定向的一些小技巧

·The XFree86 Project XFree86是由X11R6發展出來的最初專門給Intel X86 結構PC機使用的X Window的系統。而後XFree86發展成為幾乎適用於所有類UNIX操作系統的X Window系統。XFree86是一個開放源代碼的基於X11的桌面基礎構架。Red Hat 9中使用的X Window系統就是 XFree86 4.3。XFree86從2004年發布的版本4.4起不再遵從GPL許可證發行,而是遵循新的XFree86 1.1 許可證。由於XFree86不再遵從GPL許可證發行,導致許多發行套件不再使用XFree86,轉而使用Xorg。XFree86官方網站是http://www.xfree86.org/ ·The XOrg Foundation(X.org) Xorg 是由 X.Org 基金會發行的開放源代碼 X Window 系統實現的 X 服務。Xorg 遵從GPL許可證發行。Xorg 基於 XFree86 4.4RC2 和 X11R6.6 的代碼。X.Org 基金會在 2004 年 4 月發布了 X11R6.7。在 2005 年 2 月發布了 X11R6.8.2。由於在XFree86 4.4最終版本採用新許可證問題上的分歧,Xorg伺服器的第一個版本X11R6.7.0從XFree86 4.4 RC2派生出來,並加入了X11R6.6的一些改動。許多原先XFree86的開發者加入了這個比XFree86更開放的項目。XOrg伺服器逐漸在開源Unix風格操作系統中流行。它被以下發行版本採用以代替XFree86:Gentoo Linux, Fedora Core, Slackware, SUSE, Mandrake Linux, Ubuntu Linux等。基本特色:基本和xfree86一樣。已經成為主流,支持的非常的多。7.0實現模塊化。7.0支持使用xgl模塊,可以實現桌面3d效果,非常的不錯。官方網址:http://www.x.org/ 在Linux中使用以上兩個組織的驅動都可以實現3D加速,自從KP和授權修改事件以來,XFree86的支持率真的是跌倒了低谷,各大發行版紛紛轉向Xorg。本文以後者為准。 ·3D API API是Application Programming Interface的縮寫,是應用程序介面的意思,而3D API則是指顯卡與應用程序直接的介面。3D API能讓編程人員所設計的3D軟體只要調用其API內的程序,從而讓API自動和硬體的驅動程序溝通,啟動3D晶元內強大的3D圖形處理功能,從而大幅度地提高了3D程序的設計效率。 如果沒有3D API在開發程序時,程序員必須要了解全部的顯卡特性,才能編寫出與顯卡完全匹配的程序,發揮出全部的顯卡性能。而有了3D API這個顯卡與軟體直接的介面,程序員只需要編寫符合介面的程序代碼,就可以充分發揮顯卡的不必再去了解硬體的具體性能和參數,這樣就大大簡化了程序開發的效率。 同樣,顯示晶元廠商根據標准來設計自己的硬體產品,以達到在API調用硬體資源時最優化,獲得更好的性能。有了3D API,便可實現不同廠家的硬體、軟體最大范圍兼容。比如在最能體現3D API的游戲方面,游戲設計人員設計時,不必去考慮具體某款顯卡的特性,而只是按照3D API的介面標准來開發游戲,當游戲運行時則直接通過3D API來調用顯卡的硬體資源。 目前個人電腦中主要應用的3D API有DirectX和OpenGL。DirectX目前已經成為游戲的主流,市售的絕大部分主流游戲均基於DirectX開發,例如《帝國時代3》、《孤島驚魂》、《使命召喚2》、《Half Life2》等流行的優秀游戲。而OpenGL目前則主要應用於專業的圖形工作站,在游戲方面歷史上也曾經和DirectX分庭抗禮,產生了一大批的優秀游戲,例如《Quake3》、《Half Life》、《榮譽勛章》的前幾部、《反恐精英》等,目前在DirectX的步步進逼之下,採用OpenGL的游戲已經越來越少,但也不乏經典大作,例如基於OpenGL的《DOOM3》以及採用DOOM3引擎的《Quake4》等,無論過去還是現在,OpenGL在游戲方面的主要代表都是著名的ID Software。 ·OpenGL 繼DirectX後,OpenGL可說是下一個最受歡迎的3D API。其實OpenGL比DirectX存在的時間更久,相對於DirectX只可以應用在微軟的平台,OpenGL則可以應用在很多不同的操作系統上。目前,大多數Linux下的3D加速游戲採用的都是OpenGL,因此對於nVIDIA最新的驅動程序,只需做很小的改動就可以適於大多數的游戲。Linux下的3D API是基於OpenGL的。OpenGL是個專業的3D程序介面,是一個功能強大,調用方便的底層3D圖形庫。OpenGL的前身是SGI公司為其圖形工作站開發的IRIS GL。IRIS GL是一個工業標準的3D圖形軟體介面,功能雖然強大但是移植性不好,於是SGI公司便在IRIS GL的基礎上開發了OpenGL。 OpenGL的英文全稱是「Open Graphics Library」,顧名思義,OpenGL便是「開放的圖形程序介面」。雖然DirectX在家用市場全面領先,但在專業高端繪圖領域,OpenGL是不能被取代的主角。 OpenGL是個與.硬體無關的軟體介面,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之間進行移植。因此,支持OpenGL的軟體具有很好的移植性,可以獲得非常廣泛的應用。由於OpenGL是3D圖形的底層圖形庫,沒有提供幾何實體圖元,不能直接用以描述場景。但是,通過一些轉換程序,可以很方便地將AutoCAD、3DS等3D圖形設計軟體製作的DFX和3DS模型文件轉換成OpenGL的頂點數組。 OpenGL不是自由軟體,它的版權、商標(OpenGL這個名字)都歸SGI公司所有。但在Linux下有OpenGL的取代產品:Mesa。Mesa提供和OpenGL幾乎完全一致的介面,對利用OpenGL API編程的人來說,幾乎感覺不到任何差異。Mesa是遵循GPL協議(部分遵循LGPL協議)的自由軟體,而且,正是由於Mesa的自由性,它在對新硬體的支持度等方面都超過了OpenGL。Mesa可以從www.mesa3d.org取得。在Linux下開發OpenGL程序,最常用的工具是GLUT(The OpenGL Utility Toolkit)。它可以創建一個或多個OpenGL窗口,響應、處理用戶的交互操作、簡單的彈出式菜單以及一些內置的繪圖和字體處理功能。GLUT和OpenGL一樣,可以移植於多種平台。由於它良好的表現,現在它已經成為Mesa發布的標准套件之一。 ·DRI,全稱 Direct Rendering Infrastructure,是 X 窗口系統里允許應用程序以一種安全有效的方式直接訪問顯示設備的框架。它包括對 X 伺服器,某些X客戶端庫和內核的改動。DRI 的第一個主要應用是創建快速的 OpenGL 實現。DRI 是 XFree86 4.x 以及其後繼者 X.org 的組成部分,也是 Mesa -個 OpenGL API 的開源實現-的組成部分。有一些3D加速驅動是按照 DRI 標准寫成的,包括 ATI,Matrox,3DFX 和 Intel。 DRI 最初是由 Precision Insight, Inc. (PI) 公司在 Red Hat Inc. 和 SGI 的合作和部分資助下開發的。隨著 PI 被 VA Linux 所收購,以及後來 VA Linux 退出 Linux 領域,DRI 現在由Tungsten Graphics Inc.公司繼續維護。該公司由當初 PI 公司的一些 DRI 開發者所創建。Tungsten Graphics 是目前所有 DRI 開發的焦點,許多開源開發者通過 sourceforge 上的 DRI 項目繼續為 DRI 貢獻代碼。

希望採納

6. 如何在Linux下使用OpenGL+ C++開發

前提是:
1.配置好了Ubuntu下的c++環境,gcc以及g++可用。
2.使用eclipse for c+做OpenGL開發

步驟一:
在ubuntu終端下運行以下命令,安裝opengl所需要的庫文件
$ sudo apt-get install build-essential
$ sudo apt-get install freeglut3-dev

步驟二:

運行一下opengl實例,測試配置的環境是否安裝成功
在eclipse下新建一個工程文件,假設我們命名為Test,在工程Test裡面新建一個C++源代碼文件,這里我們把它命名為main.cpp,在main.cpp文件中打入一下代碼

#include<GL/glut.h>
voidinit();
voiddisplay();
intmain(intargc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
glutInitWindowPosition(0,0);
glutInitWindowSize(300,300);
glutCreateWindow("OpenGL3DView");
init();
glutDisplayFunc(display);
glutMainLoop();
return0;
}
voidinit()
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5,5,-5,5,5,15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0,0,10,0,0,0,0,1,0);
}
voiddisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0,0);
glutWireTeapot(3);
glFlush();
}

右擊工程文件名
Test->點擊屬性(Properties)->C/C++Bulid->Settings->GCC C++Linker->Libraries,
在這個窗口中添加幾個個庫,
分別為GLU,glut,GL,
點擊OK。
如果還想使用opencv,
在這里還加入cv,cxcore,highgui等庫文件,
根據自己的需要來定
同時在GCC C++ Compiler->Includes下的incudepath中添加路徑/usr/include/GL
如果還想使用opencv中的庫,那麼加入opencv的路徑,一般是/usr/include/opencv

運行以上程序,會顯示一個茶壺形狀的opengl運行結果

7. 如何學習linux平台上的網路編程

呵呵,你問對人啦,我就是學習了C語言的基礎知識(譚浩強的那本書),然後學習了網路編程。現在在做linux雲計算
你需要找到《UNIX網路編程第1卷:套介面API》
看這個書的同時,你從網上找些最簡單的網路通訊程序小例子看看,對比書的介紹,很快你就會做個簡單的聊天工具。
然後:《UNIX網路編程第2卷:進程間通信》
嘗試做個具備一定並發量的Server端程序,使用多線程方式。

用這本書做你的學習的匯流排,網上搜索學習做驗證,測試。相信很快可以學會。

如果對你有幫助,請給分哦,謝謝!

8. 如何學習android/linux顯卡驅動(2D/3D,openGL等等)

顯卡驅動不用學了,都是一些匯流排輸入輸出的內容,要做東西的話沒太大用。 opengl可以看看, 了解顯卡的渲染管線, 可編程位置, 顯存(頂點緩存,紋理緩存)使用和cpu與顯卡之間的數據傳遞方式。 再了解最基本的矩陣運算概念(投影矩陣,頂點移動矩陣,頂點旋轉矩陣), 以及著色器工作原理(高級渲染腳本,頂點,片段著色器), 渲染後的數據以及存儲位置(幀緩存), 以及如何輸出(雙緩沖)。 對數據格式有一定的認識(RGB等顏色空間,片段,光柵化。。)就可以了。 如果有基礎, 上網看看一個星期就可以了解完, 忙的話一兩個月也可以。

9. openGL是什麼是不是一個軟體

OpenGL是個專業的3D程序介面,是一個功能強大,調用方便的底層3D圖形庫。OpenGL的前身是SGI公司為其圖形工作站開發的IRIS GL。IRIS GL是一個工業標準的3D圖形軟體介面,功能雖然強大但是移植性不好,於是SGI公司便在IRIS GL的基礎上開發了OpenGL。OpenGL的英文全稱是「Open Graphics Library」,顧名思義,OpenGL便是「開放的圖形程序介面」。雖然DirectX在家用市場全面領先,但在專業高端繪圖領域,OpenGL是不能被取代的主角。

OpenGL是個與.硬體無關的軟體介面,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之間進行移植。因此,支持OpenGL的軟體具有很好的移植性,可以獲得非常廣泛的應用。由於OpenGL是3D圖形的底層圖形庫,沒有提供幾何實體圖元,不能直接用以描述場景。但是,通過一些轉換程序,可以很方便地將AutoCAD、3DS等3D圖形設計軟體製作的DFX和3DS模型文件轉換成OpenGL的頂點數組。

在OpenGL的基礎上還有Open Inventor、Cosmo3D、Optimizer等多種高級圖形庫,適應不同應用。其中,Open Inventor應用最為廣泛。該軟體是基於OpenGL面向對象的工具包,提供創建互動式3D圖形應用程序的對象和方法,提供了預定義的對象和用於交互的事件處理模塊,創建和編輯3D場景的高級應用程序單元,有列印對象和用其它圖形格式交換數據的能力。

OpenGL的發展一直處於一種較為遲緩的態勢,每次版本的提高新增的技術很少,大多隻是對其中部分做出修改和完善。1992年7月,SGI公司發布了OpenGL的1.0版本,隨後又與微軟公司共同開發了Windows NT版本的OpenGL,從而使一些原來必須在高檔圖形工作站上運行的大型3D圖形處理軟體也可以在微機上運用。1995年OpenGL的1.1版本面市,該版本比1.0的性能有許多提高,並加入了一些新的功能。其中包括改進列印機支持,在增強元文件中包含OpenGL的調用,頂點數組的新特性,提高頂點位置、法線、顏色、色彩指數、紋理坐標、多邊形邊緣標識的傳輸速度,引入了新的紋理特性等等。OpenGL 1.5又新增了「OpenGL Shading Language」,該語言是「OpenGL 2.0」的底核,用於著色對象、頂點著色以及片斷著色技術的擴展功能。

OpenGL 2.0標準的主要制訂者並非原來的SGI,而是逐漸在ARB中占據主動地位的3Dlabs。2.0版本首先要做的是與舊版本之間的完整兼容性,同時在頂點與像素及內存管理上與DirectX共同合作以維持均勢。OpenGL 2.0將由OpenGL 1.3的現有功能加上與之完全兼容的新功能所組成(如圖一)。藉此可以對在ARB停滯不前時代各家推出的各種糾纏不清的擴展指令集做一次徹底的精簡。此外,硬體可編程能力的實現也提供了一個更好的方法以整合現有的擴展指令。

目前,隨著DirectX的不斷發展和完善,OpenGL的優勢逐漸喪失,至今雖然已有3Dlabs提倡開發的2.0版本面世,在其中加入了很多類似於DirectX中可編程單元的設計,但廠商的用戶的認知程度並不高,未來的OpenGL發展前景迷茫。

Open GL現狀

Open GL仍然是唯一能夠取代微軟對3D圖形技術的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已經不再以任何讓微軟不悅的方式推廣Open GL,因而它存在較高的風險。游戲開發人員是一個有著獨立思想的群體,很多重要的開發人員目前仍然在使用Open GL。因此,硬體開發商正在設法加強對它的支持。Direct3D目前還不能支持高端的圖形設備和專業應用; Open GL在這些領域占據著統治地位。最後,開放源碼社區(尤其是Mesa項目)一直致力於為任何類型的計算機(無論它們是否使用微軟的操作系統)提供Open GL支持。

高級功能
OpenGL被設計為只有輸出的,所以它只提供渲染功能。核心API沒有窗口系統、音頻、列印、鍵盤/滑鼠或其它輸入設備的概念。雖然這一開始看起來像是一種限制,但它允許進行渲染的代碼完全獨立於他運行的操作系統,允許跨平台開發。然而,有些整合於原生窗口系統的東西需要允許和宿主系統交互。這通過下列附加API實現:

* GLX - X11(包括透明的網路)
* WGL - Microsoft Windows

另外,GLUT庫能夠以可移植的方式提供基本的窗口功能。

10. 在Linux上怎麼安裝OpenGl

在linux下opengl編程,首先需要安裝glut包。 1 安裝glut (1)下載地址: http://fidelio.cacs.louisiana.e/resources/linux/glut.zip (2)將glut.zip解壓: unzip glut.zip 解壓後

閱讀全文

與linuxopengl編程相關的資料

熱點內容
php獨立運行 瀏覽:530
手機sh執行命令 瀏覽:727
雲伺服器的角色 瀏覽:733
單片機頻率比例 瀏覽:840
我的世界伺服器如何關閉正版驗證 瀏覽:504
如何查roid伺服器上的 瀏覽:130
安卓手機主板如何撬晶元不掉電 瀏覽:249
php各個框架的優缺點 瀏覽:101
php1100生成數組 瀏覽:359
以後做平面設計好還是程序員好 瀏覽:552
雲伺服器應用管理 瀏覽:438
飢荒雲伺服器搭建過程 瀏覽:186
可編程式控制制器優點 瀏覽:99
壓縮垃圾車說明書 瀏覽:28
五輪書pdf 瀏覽:802
單片機定時流水中斷系統流水燈 瀏覽:701
u8如何連接伺服器配置 瀏覽:68
動力在於緩解壓力 瀏覽:867
報考科一用什麼app 瀏覽:346
knn人臉識別演算法 瀏覽:431