Directx 如何在版本之间迁移?

Directx 如何在版本之间迁移?,directx,directx-11,directx-10,Directx,Directx 11,Directx 10,从directx 10到11有哪些变化?我用directx 10写了一些代码,我想把它改成directx 11。这仅仅是关于质量,我可以通过改变头文件和dll文件或函数和编码方式来实现吗?ing。首先,我需要说,如果您只是将D3D10DoSomething函数更改为D3D11DoSomething,则不会有任何变化。他们会做同样的事情。没有被动增益。您必须明确使用新功能,以使您的应用程序更好。D3D10没有的功能:如硬件细分、计算着色器和代码 所以,主要的问题是你真的需要这些功能吗?或者,你以后

从directx 10到11有哪些变化?我用directx 10写了一些代码,我想把它改成directx 11。这仅仅是关于质量,我可以通过改变头文件和dll文件或函数和编码方式来实现吗?ing。

首先,我需要说,如果您只是将D3D10DoSomething函数更改为D3D11DoSomething,则不会有任何变化。他们会做同样的事情。没有被动增益。您必须明确使用新功能,以使您的应用程序更好。D3D10没有的功能:如硬件细分、计算着色器和代码

所以,主要的问题是你真的需要这些功能吗?或者,你以后会需要这些功能吗?你的编码伙伴看到你古老的D3D10代码时会笑吗

如果答案是肯定的:

DirectX 10到11的移植非常简单。与DirectX 9到10的移植相比,这只是一个笑话

下面是将D3D10移植到D3D11时要做的简短而非详尽的事情列表:

备份你的资料来源 获取文本查找替换工具,例如在VisualStudio或grep中,查找D3D10并替换为D3D11 替换包括以包括 将链接器选项中的d3d10*.lib替换为d3d11*.lib 设备和上下文创建:

在D3D11中,设备接口被拆分为设备和上下文,因此现在负责创建功能的大多数方法是Create*,负责状态更改功能的大多数方法是Set*/Get*。 在使用D3D10CreateDevice*函数之一创建设备的地方,添加其他参数,并添加与相关的参数。更多关于功能级别的信息 更改设备->更改状态调用deviceContext->更改状态 其他材料:

有些函数接受附加参数。大多数情况下,在不需要此功能之前,您只能暂时传递0。如果出现与参数数量相关的编译器错误或无法转换参数。。只要在中找到这个函数,看看是否必须添加额外的零参数= 着色器:

顶点、几何体和像素着色器基本保持不变,因此可以安全地使用旧着色器。 如果您使用Effect10框架,事情可能会更复杂,但移植仍然需要一个小时左右的时间。如有疑问,请参阅或谷歌。 下面是来自微软的其他提示:


好吧,基本上完成了!欢迎来到D3D11 world=

首先,我需要说的是,如果您只是将D3D10DoSomething函数更改为D3D11DoSomething,那么一切都不会改变。他们会做同样的事情。没有被动增益。您必须明确使用新功能,以使您的应用程序更好。D3D10没有的功能:如硬件细分、计算着色器和代码

所以,主要的问题是你真的需要这些功能吗?或者,你以后会需要这些功能吗?你的编码伙伴看到你古老的D3D10代码时会笑吗

如果答案是肯定的:

DirectX 10到11的移植非常简单。与DirectX 9到10的移植相比,这只是一个笑话

下面是将D3D10移植到D3D11时要做的简短而非详尽的事情列表:

备份你的资料来源 获取文本查找替换工具,例如在VisualStudio或grep中,查找D3D10并替换为D3D11 替换包括以包括 将链接器选项中的d3d10*.lib替换为d3d11*.lib 设备和上下文创建:

在D3D11中,设备接口被拆分为设备和上下文,因此现在负责创建功能的大多数方法是Create*,负责状态更改功能的大多数方法是Set*/Get*。 在使用D3D10CreateDevice*函数之一创建设备的地方,添加其他参数,并添加与相关的参数。更多关于功能级别的信息 更改设备->更改状态调用deviceContext->更改状态 其他材料:

有些函数接受附加参数。大多数情况下,在不需要此功能之前,您只能暂时传递0。如果出现与参数数量相关的编译器错误或无法转换参数。。只要在中找到这个函数,看看是否必须添加额外的零参数= 着色器:

顶点、几何体和像素着色器基本保持不变,因此可以安全地使用旧着色器。 如果您使用Effect10框架,事情可能会更复杂,但移植仍然需要一个小时左右的时间。如有疑问,请参阅或谷歌。 下面是来自微软的其他提示:


好吧,基本上完成了!欢迎来到D3D11 world=

为什么要迁移?DirectX 11添加了一些新功能。您显然不需要的功能。仅仅切换DirectX版本并不能提高程序的质量。我认为不同的版本与技术有关。更好的照明、更好的渲染和。。。。。。没有?:没有。照明和渲染由程序员决定。为什么要迁移?DirectX 11添加了一些新功能。您显然不需要的功能。您的程序质量不会增加b
我只是在切换DirectX版本。我认为不同的版本与技术有关。更好的照明、更好的渲染和。。。。。。没有?:没有。照明和渲染由程序员决定。