Originally posted by: taltamir
Originally posted by: Aberforth
Well, 10.1 is developer friendly but I'd love to see 4X AA without performance drop.
DX10.1 requires that the card BE CAPABLE of doing 4x MSAA (
http://en.wikipedia.org/wiki/Multisample_anti-aliasing) if the game requires it to, there is no improvement to AA performance whatsoever, it is simply a requirement to support it, all new cards from both camps already support 4x AA, but I am not sure.
This is a DX10.1 requirement that has already been provided before DX10, it is just there to ensure new cards meet it and servers no purpose.
DX10.1 also brings SM4.1 (no clue what that improves over SM4.0), and adds a new command... Bi cubic Sampling. Which could, with a lot of work, be more efficient use of the cards power, but will require a lot of implementation work for benefitting only specific cards. Even if nvidia makes all its new cards support it, there are tons of DX10 only cards...
Also, I presented EXACT DATES that completely annihilate the "MS and NVidia conspired to screw ati with DX10.1" conspiracy theory.
This thread is inflammatory, I am disappointed in you BenSkywalker
Please don't quote information from Wiki, anyone can go there, click edit button and put whatever they want. Anyway your information about DX10.1 is inaccurate.
Now Let me put DX10.1 features listed in MSDN (
http://msdn.microsoft.com/en-u...y/bb694530(VS.85).aspx )
Direct3D 10.1 Features
Direct3D 10.1 extends the feature set of Direct3D 10.0 with the following new features:
* Blend Modes - Independent blend modes per render target using the new blend-state interface (see ID3D10BlendState1 Interface). Dual source blending operations are restricted to render target slot 0; you may not write to other outputs or have any render targets bound to slots other than slot 0.
* Culling Behavior - Zero-area faces are automatically culled; this affects wireframe rendering only.
* Floating Point Rules - Uses the same IEEE-754 rules for floating-point EXCEPT 32-bit floating point operations have been tightened to produce a result within 0.5 unit-last-place (0.5 ULP) of the infinitely precise result. This applies to addition, subtraction, and multiplication. (accuracy to 0.5 ULP for multiply, 1.0 ULP for reciprocal).
* Formats - The precision of float16 blending has increased to 0.5 ULP. Blending is also required for UNORM16/SNORM16/SNORM8 formats.
* Multisample Anti-Aliasing - Multisampling has been enhanced to generalize coverage based transparency and make multisampling work more effectively with multi-pass rendering. To achieve this, all multisample semantics are defined as if the pixel shader always runs once per sample (sample-frequency), computing a separate color per sample. If a pixel shader doesn't use any per-sample attributes, then it will compute the same value for each covered sample in a pixel. In that case, it is equivalent to the hardware executing the shader once per pixel (pixel-frequency), replicating the result to all covered samples. Naturally, running at pixel-frequency always produces the same results as running the same shader at sample-frequency, when the attributes are sampled at a pixel-frequency. The PSInvocations pipeline statistic increments at sample-frequency unless the shader is running at pixel-frequency.
* Pipeline Stage Bandwidth - Increased the amount of data that can be passed between shader stages:
* Rasterization Rules - The rules for rasterization have changed for lines, in addition, new functionality has been added.
o MultisampleEnable only affects line rasterization (points and triangles are unaffected), and is used to choose a line drawing algorithm. This means that some multisample rasterization from Direct3D 10 are no longer supported.
The new features require a 10.1 device type (see ID3D10Device1 Interface) which can be created by calling D3D10CreateDevice1, or you can create the device and swap chain at the same time by calling D3D10CreateDeviceAndSwapChain1.
In Windows Vista Service Pack 1, Direct3D 10.0 and Direct3D 10.1 DLLs exist side-by-side on the system. To access 10.1 features, do either of the following:
Accessing 10.1 Features on Vista Gold and Vista Service Pack 1
Developers that wish to support Vista Gold as well as SP1 will have to account for the lack of the new 10.1 API extensions on Vista Gold. Both DXUT and D3DX10 will provide convenience functions to create the appropriate device, based on the DLLs available on the system and the available hardware (10.0 or 10.1). The 10.1 device inherits from the 10.0 device, and can be retrieved using QueryInterface(). It is recommended that each application keeps track of the device type and maintains a pointer to the 10.1 device (if available) to avoid frequent QueryInterface calls when 10.1 functionality is desired. Likewise, where 10.1 resource views and state objects are associated by an application's custom class, it is recommended that the application track whether the object is a 10.0 or 10.1 type to avoid redundant QueryInterface() calls. D3DX10 includes a set of utility functions to simplify this process (see D3DX10CreateDevice and D3DX10CreateDeviceAndSwapChain).
Accessing 10.1 Features on Vista Service Pack 1 Exclusively
Some developers may choose to require Vista Service Pack 1, which will be distributed broadly to end-users and includes a series of improvements outside of Direct3D 10.1. These developers can use the Direct3D 10.1 headers and libraries exclusively, taking a dependency on the Direct3D 10.1 DLLs which support both 10.0 and 10.1 hardware (some calls may fail, however, on 10.0 devices where the new functionality is not supported).