目錄ios
Osg 2c++
特性. 2程序員
面向用戶. 2web
平臺支持. 2數據庫
許可. 2編程
技術. 2設計模式
高性能. 3網絡
Productivity 3架構
數據加載. 3app
工具類. 3
接口化. 4
可伸縮性. 5
多語言支持. 5
寒霜引擎. 5
UE4(虛幻4) 5
Vega 8
簡介. 8
應用領域. 9
本質. 9
總結. 9
Vitriols 9
簡介. 9
應用. 10
開放性. 10
總結. 10
Oger 10
簡介. 10
總結. 11
Cry 11
OpenSceneGraph是一個開源的三維引擎,被普遍的應用在可視化仿真、遊戲、虛擬現實、科學計算、三維重建、地理信息、太空探索、石油礦產等領域。OSG採用標準C++和OpenGL編寫而成,可運行在全部的Windows平臺、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操做系統。OSG在各個行業均有着豐富的擴展,可以與使用OpenGL書寫的引擎無縫的結合,使用國際上最早進的圖形渲染技術,讓每一個用戶都能站在巨人的肩上。
OSG是一個開源的三維實時場景圖開發引擎,被普遍應用在可視化(飛行、船舶、車輛、工藝等仿真)、加強現實以及醫藥、教育、遊戲等領域。
OSG能夠支持幾乎全部的操做系統平臺,它使用OpenGL ES使得能夠支持手持臺、平板以及其它嵌入式設備,使用OpenGL使得其能夠在全部的家用電腦以及中型大型機和集羣上進行工做。
LGPL,在國內不多有人徹底明白各類開源許但是怎麼回事,可是你們都在使用開源工程。在中國使用一個引擎就是對該引擎發展的最大貢獻,用戶多就意味着繁榮和對該引擎愈來愈多的完善(非原文,譯者加)。
OSG採用C++書寫,使用了標準模版庫(STL)。OSG使用場景樹的方式來管理三維場景,使用邏輯組來構建場景樹,以便進行高效的渲染和遍歷等。
OSG使用運行時對各類顯卡擴展的實時檢測,使得OSG支持從OpenGL1.0到OpenGL4.2以及OpenGL ES 1.1 到2.0的全部設備,因此無論設備新舊,操做系統如何,OSG均能及時識別出它支持什麼版本的OGL或OES,而後無缺的在其上運行。
OSG採用模塊化的設計,下降了OSG內部模塊的耦合性,使得用戶更加容易理解。而且OSG提供了豐富的示例,經過閱讀這些示例能夠很好的學習這些模塊(學習例子對於學習OSG是很是重要的---FreeSouth注)。模塊化的設計使得用戶不只能夠只學習和使用本身須要的模塊,也能夠根據須要定製本身的模塊。
OSG的關鍵特色可使用以下關鍵詞進行總結:高性能、可擴展性、接口化等,具體以下:
支持基於視錐體的裁切、基於遮檔的裁切以及其它的小特性裁切,支持LOD、OpenGL狀態排序、VAO、VBO以及着色語言、顯示列表等全部的圖形學裏常常提到的提升效率的招數。它使得OSG成爲一個效率高,表現力好的引擎。OSG一樣支持客戶化的LOD,客戶能夠本身定製基於分頁的四叉樹場景結構用來實現複雜場景,具體能夠看一下VTP和Delta3D以及osgEarth。
OSG的核心支持全部的OpenGL擴展,哪怕是剛發佈的最新擴展,對其進行封裝,優化使得用戶不用關注OpenGL那些底層的代碼和擴展等,就能夠快速的搭建基於最新特性的三維應用程序。
除對底層代碼的封裝外,OSG還有着與其它系統相似Performer以及OpenInventor等各類現代高級系統的結合,這些結合的案例可使得用戶快速的將OSG與本身的系統相結合提供幫助。OSG和現有與三維相關的,尤爲是基於OpenGL的系統有着豐富的結合案例,能夠看一下業內知名人士array的osgRecipes、osgXI以及osgCookbook從中獲取三維繫統與OSG相結合的方案靈感。
OSG支持市面上幾乎全部的數據格式,不管是圖片仍是三維模型,以及字體等都能很好的讀取。
除了支持單一的格式外,OSG還有VPB、osgEarth以及其它不經常使用的擴展來支持對海量數據的處理和讀取。
OSG提供一些工具類用來完成一些相互獨立的功能,列舉以下:
OSG作到不依賴任何與操做系統有關的中間件,只使用標準C++和OpenGL,早期在IRIX上開發,隨後擴展到Linux、Windows、Mac、AIX以及Andriod和其它中國人不關心也用得少的操做系統。
OSG的接口化保證了其高度獨立,這也使得其除了跨各類平臺之外,還能夠支持各類UI,好比MFC、QT、SDL、GLUT、WxWidget、Cocoa等。OSG的示例中有這些UI與OSG相結合的例子。(國內使用最多的是QT和MFC--FreeSouth注)。
OSG能夠運行在多核的CPU和GPU上,這緣於OSG對OpenGL顯示列表和紋理單元以及揀選、繪製遍歷等過程實施了保護措施,使這些階段能夠單獨爲一個線程也能夠在一個線程中串行執行。能夠經過osgViewer以及全部的例子來配置當前OSG應用程序的線程模型。
Lua、Python、甚至JAVA都有與OSG的結合。
寒霜引擎(Frostbite Engine),是瑞典DICE遊戲工做室爲著名電子遊戲產品《戰地》(Battlefield)系列設計的一款3D遊戲引擎。該引擎從2006年起開始研發,第一款使用寒霜引擎的遊戲在2008年問世。寒霜引擎的特點是能夠運做龐大而又有着豐富細節的遊戲地圖,同時能夠利用較低的系統資源渲染地面、建築、雜物的全破壞效果。使用寒霜引擎能夠輕鬆地運行大規模的、全部物體均可被破壞的遊戲。
EA獨家
當你的團隊和項目很小時,用unity。unity有不少現成的東西能夠用,你基本能夠靠marketplace買來的東西搭建原型,甚至某些最終業務的核心組件也能夠用買來的東西。好比你能夠把整個material換成alloy、用ngui替代UI系統、若是你要作個賽車遊戲,你能找到從模型、音效、材質、到控制系統一切。
項目大到必定規模時,咱們發現定製化的需求會太多。unity基本對於咱們來講只是一個編輯器,咱們幾乎要把裏面全部模塊所有找插件或者本身寫插件。因此若是當你須要一個穩定的工具集,不想本身維護一堆插件(由於unity在基礎功能方面確實作的通常)。並且有一堆人可以扛住每一個模塊的製做壓力時-對於人員的素質要求更高。那麼unreal是更好的選擇。
但這也只是針對中型項目這個級別。真上到大型項目時,二者又不會有太大區別。由於這時整個工具流是inhouse的,各個公司會針對本身的產品定義不一樣的流程和方式。這會誕生大量插件。並且到這個級別的公司確定也會本身去買unity的源碼。此時的需求不管是unity仍是unreal都不會徹底知足一個大型項目的需求。只是渲染部分unreal應該是不須要作什麼而已。
因此若是你有時間,能夠兩個都試下,你才知道本身的業務真的須要什麼。
另外說unity畫面質量問題的人,我懷疑大家能力。即使是咱們用本身的流程和工具,均可以達到和unreal平級的畫面質量。更不用說國外一堆團隊作的產品了。unreal只是讓一堆作效果圖的都很容易產生高質量的畫面。
給你看profile根本沒意義,在不一樣的需求下兩個引擎效率和效果都會不一樣。僅從單純效率來講,提交效率確定是unreal高一些,但大多數項目遇到的瓶頸遠不是遊戲引擎的瓶頸。
另外,你的回答截圖只能說那我的unity多是歷來不掛任何插件或本身寫點工具。也多是指默認unity和unreal的對比。影響畫面的幾個點好比lightmess, material, post processing他都沒處理過。好比radiosity normal mapping會讓lightmess效果好得多,ggx shader也會讓材質好表現好一些。因此不管是unity仍是unreal去實現你圖右邊效果都不是很難的事情。只能說要達到右圖的效果對於unreal來講會很簡單,幾乎不須要什麼經驗便可。
Vega是MultiGen-Paradigm公司應用於實時視景仿真、聲音仿真和虛擬現實等領域的世界領先的軟件環境。使用Vega能夠迅速地建立各類實時交互的三維環
境,以知足各行各業的需求。它還擁有一些特定的功能模塊,能夠知足特定的仿真要求,例如:船舶、紅外、雷達、照明系統、人體、大面積地理信息和分佈式交互仿真等等。附帶的Lynx程序,這是一個用來組織管理Vega場景的
GUI工具。MultiGen Creator系列產品是世界上領先的實時三維數據庫生成系統,它能夠用來對戰場仿真、娛樂、城市仿真和計算可視化等領域的視景數據庫進行產生、編輯和查看。這種先進的技術由包括自動化的大型地形和三維人文景觀產生器、道路產生器等強有力的集成選項來支撐。MultiGen Creator
是一個完整的交互式實時三維建模系統,普遍的選項加強了其特性和功能。
MultiGen-Paradigm公司已經計劃用Vega Prime取代Vega,Vega Prime
所有用C++寫成,是全新的產品,而不是Vega的後續版本,雖然目前在功能上比Vega3.7沒有大的提升,可是Vega Prime的核心Vega Scene Graph是徹底面向對象的先進架構,採用了許多現代C++的特性和技術,好比泛型,設計模式等,大大增長了軟件功能和靈活性、通用性;此外,目前大部分程序員都有面向對象編程經驗,Vega Prime提供的接口剛好符合其編程思惟,易於上手,所以特別有吸引力。Vega Prime有很好的發展前景,可是Vega Prime是新推出的產品,最新版本號是1.2,很明顯,有的方面還不夠成熟。
VagePrime 爲仿真引擎,優點在於大場景數據管理,能夠知足特殊軍事應用(航海、紅外、雷達…等)Vega重在強調真實性
Vega Prime 是一個渲染引擎,本質上說是一個類庫,它的功能都以類函數的形式而存在,須要c++程序員來完成二次開發,爲了簡化開發過程,提供了 Lynx Prime,一個圖形化的配置界面,在該界面當中,用戶能夠配置各個物體之間的關係,觸發條件。這些觸發條件都是事先定義好的,若是是未事先定以的條件,還須要程序員進行開發。整體來講,若是須要使用Vega Prime來開發應用程式,須要開發人員有較強的程序開發能力,同時項目的時間週期也比較長。
在專項的應用領域,如大地形管理方面,Vega具備不可取代的優點,多大爲大地形,地形數據類型和大小,須要用戶去衡量考慮;
Vitriols準肯定義爲遊戲引擎或虛擬現實引擎,其交互互動功能十分強大,2005年以前爲獨立運營的公司,主要應用於虛擬現實互動,web遊戲開發等應用,以後被達索收購,藉助其強大的VR功能,在工業用戶中被普遍應用:產品
體驗,虛擬漫遊,交互培訓,平臺開發等。
Vitriols 以拖拽的方式來定義程序運行的邏輯,提供 500 多個模組,經過不一樣模組的組合,能夠定製出各式的應用。程序的界面符合人思考的邏輯,相似於流程圖的結構,很是容易上手,能夠用較少的人員在較短的時間內快速開發應用. Vitriols 同時還提供 Shadows , havok Physics, AIPack,可使用戶在較短的時間內開發 具備物理模擬,人工智能應用的程式。
在 Vitriols 中編程體如今三個層面上 1,Building Blocks 2,VSL 3,C++;其在開發上的比例約爲60%,30%,10%。 初級程序製做能夠只經過Vitriols內置的Building blocks進行構建便可完成,高級程序或平臺的開發能夠徹底以Vitriols提供的SDK爲基礎進行開發,SDK是Vitriols提供的基於C++程序的開發包,只要對C++編程熟悉的人,便可對Vitriols的功能模塊進行定製。
Virtools通用性更強,開放擴展性更強,適合定製開發程序和定製應用; Virtools能兼容的數據類型最爲普遍:3D模型、動畫、人物、紋理、文字、聲音、場景等各種信息均能整合處理;若要實現後期的虛擬現實擴展應用,建議使用Virtools程序進行程序設計;
OGRE能(實際上就是)被用於開發遊戲,可是OGRE被設計成只提供一個世界級的圖形解決方案;對於其餘的特性,如:音效、網絡、人工智能、碰撞檢測、物理等子系統,你則須要將其整合到OGRE中,在這些子系統中,已有一些成熟的庫可供選擇,在發佈的SDK中,咱們有一個碰撞/物理的參考整合庫的例子。
那爲何OGRE不是一個遊戲引擎呢?緣由之一是:不是每個須要3D引擎的人都想用其來作遊戲,咱們並無假設你要將OGRE用於遊戲開發、模擬、商業應用、或是其餘用途。其次,遊戲產業中的需求是至關普遍的;以MMORPG(Massive Multiplayer Online Role Playing Game,即:大型多人在線角色扮演遊戲)爲例,它比起FPS(First Person Shooting,即:第一人稱射擊)類遊戲,須要不一樣類型的網絡庫,再如一個格鬥類遊戲將須要不一樣類型的碰撞/物理系統。若是OGRE包括了全部這些特性,你將被迫在一系列內建的假定的需求下使用一套有針對性的庫,那將不是一個好的設計。相反,咱們提供了一個用於整合其餘庫的很是友好的API。許多有經驗的遊戲開發者已經證實了這一點,由於沒有內建的限制。這可能會使得那些僅僅只是想建立另外一種類型的FPS遊戲的新用戶感到更加沮喪,可是對於這些人來講,已經有大量現存的採用OGRE提供完整解決方案的綜合庫可供使用。然而,須要明白的是OGRE自身老是保持足夠地獨立和靈活,以至可以與任何其餘庫融爲一體。「與其餘庫協做和整合,而不是實現他們」的原則是面向組件設計的標準原則。
在現在的平臺多樣性、硬件迭代速度和質量要求下,小團隊和低端項目使用開源引擎得不償失。Unity在很低廉的價格下,提供了足夠好的開發效率、通用性和多平臺性。用Ogre,誰有精力把各個平臺一個個作下來?
高端開發方面,UE4在更加低廉的價格下提供了大部分代碼——不是所有開源——若是我沒記錯的話。UE4原本就不是瞄準低端和手機開發市場。我以爲他們的目的更多的在於培植本身的Indie開發者社區。用Ogre是真不如花20刀一個月用UE4。
因此用Unity的人不在意是否是開源,用UE4的人不在意是否是龐大。Ogre真是兩頭不靠。
如今這個年頭,本身從頭造車輪,或者拆開車輪本身改,已是不多見的作法了,只有經費充足的AAA項目或者風格過於小衆的遊戲這麼搞。
不支持移動端!性能開銷賊大!
CryENGINE是一個很是強大的引擎,由開發公司Crytek設計實現,在第一代Far Cry遊戲中首次出現。它被設計用於PC平臺和遊戲機,包括Playstation 4以及Xbox One。CryENGINE的圖像處理能力優於Unity和UDK,可是Unreal Engine 4基本持平,擁有極度先進的光照,逼真的物理模擬,先進的動畫系統等等。最近利用CryENGINE開發的遊戲是Ryse: Son of Rome。和UDK以及UE4相似,CryENGINE擁有直觀並且強大的關卡設計功能。
儘管CryENGINE是一個很是強大的遊戲引擎,想要學號是有一點難度的,特別是若是你沒有任何遊戲引擎使用經驗會以爲更難。若是你不須要你的遊戲具備像這些遊戲那樣牛X的圖像,那麼你最好不要選它,而選擇一個更容易的哦。
隨着UE4的發佈以及它很是吸引人的價格模式,CryENGINE也不甘示弱地發佈了更便宜的價格模型,即$10/每個月,而且沒有版權稅哦。