我刚刚读到了direct3D中的“参考设备”设备类型。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb219625(v=vs.85).aspx
这是否意味着我可以在任何旧硬件上开发和测试(不是性能,只是视觉效果)包括花哨的ShaderLevel5内容的Direct3D 11应用程序?
有没有OpenGL的等价物?
发布于 2012-03-02 19:00:24
是的,这实际上就是参考驱动器所做的事情。具体地说,它的存在是为了让硬件渲染可以与它进行比较。如果硬件渲染不等于引用,则这可能表明驱动程序错误(或“优化”)。
不幸的是,据我所知,没有针对OpenGL的参考驱动程序。
发布于 2012-03-03 01:30:41
这是否意味着我可以在任何旧硬件上开发和测试Direct3D 11应用程序(不是性能,只是视觉效果),包括奇特的ShaderLevel5内容?
是。然而,你应该期待着绝对糟糕的性能。对于复杂的像素着色器(DirectX9参考设备),您可以获得大约每分钟1帧的,而且可能需要更长的时间。不用说,相同的着色器可以通过硬件加速实时工作。参考设备并不是为了性能而设计的,如果我没记错的话,DirectX软件开发工具包声明(在某个地方),参考设备的主要目的是让开发人员看到他们的场景是否看起来像它应该的样子,并且没有意外的驱动程序错误。
另一个问题是,如果你运行的是winxp,将不会有DirectX 10或11,或者没有参考设备。
是否有OpenGL的等价物?
不是的。最接近的是mesa3d,但它不是OpenGL认证的。1..2年前,当涉及GLSL着色器时,它可以显示非常不同的图片。它也可能在具有流控制的着色器上崩溃。从那以后我就没用过它了。然而,当不使用GLSL着色器时,mesa3d相当快,与OpenGL相当,并且在DirectX 9中明显快于han参考设备。
发布于 2012-03-02 23:40:12
Mesa3d有一个软件光栅化器。他们最近增加了对GL 3.0的支持。
https://stackoverflow.com/questions/9532043
复制相似问题