I have a noobish question for any graphic programmer.
I'm confused, how can some games (like Crysis) support both DirectX 9 (in XP) and 10 (in Vista)?
As far as I understand, if you are writing a DX10 application, it can only work in Vista.
Maybe they have 2 code bases - one written in DX9 and the other in DX10? But isn't that an excess?
They have two rendering pipelines: one uses DX9 calls and one uses DX10 calls. The APIs are incompatible, although most game engines can be reused. If you need open source examples on how various rendering pipelines are executed, take a look at something like Ogre3d that supports OpenGL, DX9, and (soon) DX10 rendering.
/ . , (, ..). , , DX. DX10- DX9, - " ".
, , - , " ", , . DX9/DX10, 99,9% , 0,1%, , , API.
, , DX10 DX9 , ( , , , ..).
, , . DX9 DX10.
I assume that their abstraction is very close to the DirectX level and simply provides the DX9 with reasonable manual implementations of the DX10 functions or improves the DX9 logic when running on the DX10.
Source: https://habr.com/ru/post/1696894/More articles:How do you classify text based content? - algorithmHandling null values with ADO.NET and AddWithValue () - sqlWhat is the .NET platform deployment level? - c #What is the best library to read Outlook.msg files in Java? - javaКаков наилучший способ рандомизировать порядок массива в PHP без использования функции shuffle()? - arrays.NET 3.5 Linq Datasource and Joins - linqReject angle brackets via System.Xml.XmlWriter - c #Java VNC Libraries - javaJava EE Syntax SqlResultSetMapping - javaHow to start Oracle plsql procedure from Lisp? - oracleAll Articles