2011-08-12 43 views
2

例如在某些遊戲中有3種不同的顯示模式有如何在不使用DirectX或OpenGL的情況下呈現遊戲?

  1. 的OpenGL
  2. 的DirectX
  3. 軟件

這是什麼軟件模式?比如,程序員如何讓遊戲引擎在不使用OpenGL或DirectX的情況下生成圖像,在C++中是否有生成幀的類?

+0

這只是意味着它呈現使用CPU來執行頂點/光照計算,而不是GPU。 – asawyer

+0

這可能更適合[遊戲開發網站](http://gamedev.stackexchange.com/) – James

+0

就像使用GDI,它只是顯示像素的原始庫。查看Processing,你可以從這些例子中學到很多。 http://processing.org/ – CrazyDart

回答

7

軟件意味着:軟件。

所有的渲染是通過一些算法着色像素。該算法可以由專用硬件完成,但您可以簡單地在實際代碼中實現這些功能。現在,這並不意味着它特別快速;需要大量的技能來實現速度不錯的三角形光柵化器。

1

軟件模式有兩個含義:

  1. 系統提供的仿真層。例如,DX11提供WARP設備,作爲應用程序員,您只需指定「我想使用WARP」,其餘部分由DirectX完成。仿真層基本上沒有選項編號2:

  2. 全部手工完成。基本上硬件加速GFX卡大多隻繪製三角形。您可以編寫一個函數,將紋理三角形的像素直接繪製到圖形卡的屏幕內存中。現在速度不是很快(這就是爲什麼硬件加速的gfx卡存在的原因),但這就是80年代和90年代當沒有這種卡時的情況。

對於粗糙examplanation如何紋理映射工作只是窺視wikpedia文章:https://en.wikipedia.org/wiki/Texture_mapping

我不知道任何GFX-庫提供了自己的軟件層,但我敢肯定它們存在於某個地方。

相關問題