例如在某些遊戲中有3種不同的顯示模式有如何在不使用DirectX或OpenGL的情況下呈現遊戲?
- 的OpenGL
- 的DirectX
- 軟件
這是什麼軟件模式?比如,程序員如何讓遊戲引擎在不使用OpenGL或DirectX的情況下生成圖像,在C++中是否有生成幀的類?
例如在某些遊戲中有3種不同的顯示模式有如何在不使用DirectX或OpenGL的情況下呈現遊戲?
這是什麼軟件模式?比如,程序員如何讓遊戲引擎在不使用OpenGL或DirectX的情況下生成圖像,在C++中是否有生成幀的類?
軟件意味着:軟件。
所有的渲染是通過一些算法着色像素。該算法可以由專用硬件完成,但您可以簡單地在實際代碼中實現這些功能。現在,這並不意味着它特別快速;需要大量的技能來實現速度不錯的三角形光柵化器。
軟件模式有兩個含義:
系統提供的仿真層。例如,DX11提供WARP設備,作爲應用程序員,您只需指定「我想使用WARP」,其餘部分由DirectX完成。仿真層基本上沒有選項編號2:
全部手工完成。基本上硬件加速GFX卡大多隻繪製三角形。您可以編寫一個函數,將紋理三角形的像素直接繪製到圖形卡的屏幕內存中。現在速度不是很快(這就是爲什麼硬件加速的gfx卡存在的原因),但這就是80年代和90年代當沒有這種卡時的情況。
對於粗糙examplanation如何紋理映射工作只是窺視wikpedia文章:https://en.wikipedia.org/wiki/Texture_mapping
我不知道任何GFX-庫提供了自己的軟件層,但我敢肯定它們存在於某個地方。
作爲一個例子,directx具有分層設置,還有代碼接口,它與HAL或硬件抽象層進行交互。根據底層硬件的功能,HAL可能會在CPU上運行一些代碼,因爲驅動程序報告GPU不支持該功能。 (是的,我知道這樣一個過於簡單化)
見:http://msdn.microsoft.com/en-us/library/gg426101(v=vs.85).aspx
和:http://www.codeproject.com/KB/graphics/DirectX_Lessons_2_.aspx
這只是意味着它呈現使用CPU來執行頂點/光照計算,而不是GPU。 – asawyer
這可能更適合[遊戲開發網站](http://gamedev.stackexchange.com/) – James
就像使用GDI,它只是顯示像素的原始庫。查看Processing,你可以從這些例子中學到很多。 http://processing.org/ – CrazyDart