What's new in DX 9.0c


This year the latest in the DirectX API is getting a bit of a face lift. The new feature in DirectX 9.0c is the inclusion of Pixel Shader and Vertex Shader 3.0. Rather than calling this DirectX 9.1, Microsoft opted to go for a more "incremental" looking update. This can end up being a little misleading because whereas the 'a' and 'b' revisions mostly extended and tweaked functionality, the 'c' revision adds abilities that are absent from its predecessors.

Pixel Shader 3.0 (PS3.0) allows shader programs of over 65,000 lines and includes dynamic flow control (branching). This revision also requires that compliant hardware offer 4 Multiple Render Targets (MRT's allow shaders to draw to more than one location in memory at a time), full 32-bit floating point precision, shader antialiasing, and a total of ten texture coordinate inputs per pixel.

The main advantage here is the ability for developers to write longer, more complex, shader programs that run more efficiently. The flow control will give developers the freedom to write more intuitive code without sacrificing efficiency. Branching allows a shader program the expanded ability to make decisions based on its current state and inputs. Rather than having to run multiple shaders that do different things on different groups of pixels, developers can have a single shader handle an entire object and take care of all its shading needs. Our example of choice will be shading a tree: one shader can handle rendering the dynamics of each leaf, smooth new branches near the top, rugged old bark on the trunk, and dirty roots protruding from the soil.

Vertex Shader 3.0 extends its flow control ability by adding if/then/else statements and including the ability to call subroutines in shader programs. The instruction limit on VS3.0 is also extended to over 65000. Vertex textures are also supported, allowing more dynamic manipulation of vertices. This will get even more exciting when we make our way into the next DirectX revision which will allow for dynamic creation of vertices (think very cool particle systems and hardware morphing of geometry).

One of the coolest things that VS3.0 offers is something called instancing. This functionality can remove a lot of the overhead created by including multiple objects based on the same 3d model (these objects are called instances). Currently, the geometry for every model in the scene needs to be setup and sent to the GPU for rendering, but in the future developers can create as many instances of one model as they want from one vertex stream. These instances can be translated and manipulated by the vertex shader in order to add "individuality" to each instance of the model. To continue with our previous example, a developer can create a whole forest of trees from the vertex stream of one model. This takes pressure off of the CPU and the bus (less data is processed and sent to the GPU).

Now that we've seen what developers are looking at with DirectX 9.0c, let's take a look at how NVIDIA plans to bring these features to the world.
Index NV40 Under the Microscope
Comments Locked

77 Comments

View All Comments

  • mkruer - Wednesday, April 14, 2004 - link

    Well I hope this card is on par with ATi's or visa versa. ATi is planning to see their best at $500 pop and Nvidia is selling their at $400. How long to you think ATi is going to see their card for that price if the performance is virtually identical. Finally in the terms of the Power. Makes me wonder why PCI-Ex doesn’t include enough voltage from the socket? VPU's are getting to the point that they are just as powerful and complex as their CPU brethren, and will require the same power requirements as the CPU. Some one didn’t do their homework I guess. Well hears hoping that it will be in the next specification.
  • quikah - Wednesday, April 14, 2004 - link

    Can you post some screen shots of Far Cry? The demo at the launch event was pretty striking so I am wondering if PS 3 were actually enabled since you didn't see any difference.
  • Novaoblivion - Wednesday, April 14, 2004 - link

    Wow nice looking card I just hope the new ATI doesnt kick its ass lol
  • Rudee - Wednesday, April 14, 2004 - link

    When you factor in the upgrade price of a power supply and a top of the line CPU, this is going to be one heck of an expensive gaming experience. People will be wise to wait for ATI's newest flagship before they make any purchase decisions.
  • Pete - Wednesday, April 14, 2004 - link

    Nice review, Derek. Some impressive performance, but now I'm expecting more from ATi in both performance (due to higher clockspeed) and IQ (I'm curious if ATi improved their AF while nV dropped to around ATi's current level). I also have a sneaking suspicion nV may clock the 6800U higher at launch, but maybe they're just giving themselves room for 6850U and beyond (to scale with faster memory). But a $300 12-pipe 128MB 6800 should prove interesting competition to a ~$300 256MB 9800XT.

    The editor in me can't refrain from offering two corrections: I'm pretty sure you meant to say Jen Hsun (not "Jensen") and well nigh (not "neigh").
  • Mithan - Wednesday, April 14, 2004 - link

    Looks like a fantastic card, however I will wait for the ATI numbers first :)


    PS:
    Thanks for including the 9700 Pro. I own that and it was nice to see the difference.
  • dawurz - Wednesday, April 14, 2004 - link

    Derek, could you post the monitor you used (halo at 2048 rez), and any comments on the look of things at that monstrous a resolution?

    Thanks.
  • rainypickles - Wednesday, April 14, 2004 - link

    does the size and the power requirement basically rule out using this beast of a card in a SFF machine?
  • Damarr - Wednesday, April 14, 2004 - link

    It was nice to see the 9700 Pro included in the benchmarks. Hopefully we'll see the same with the X800 Pro and XT so there can be a side-by-side comparison (should make picking a new card easier for 9700 Pro owners like myself :) ).
  • DerekWilson - Wednesday, April 14, 2004 - link

    We are planning on testing the actual power draw, but until then, NVIDIA is the one that said we needed to go with a 480W PS ... even making that suggestion limits their target demographic.

    Though, it could simply be a limitation of the engineering sample we were all given... We'll just have to wait an see.

Log in

Don't have an account? Sign up now