TransGaming Releases Fast Software 3D Rendering
gavriels writes "TransGaming has just released SwiftShader, an ultra-fast software-only 3D renderer that supports Vertex and Pixel Shaders. SwiftShader dynamically compiles the geometry and rasterization pipelines to produce code that exactly matches the graphics features a game or application is using. Demo download and tech details can be found on their website."
Here's the meat of the article for those who can't be bothered.
TransGaming's SwiftShader technology provides the world's fastest pure software 3D renderer with DirectX 9.0 class features, according to the company, including support for Pixel and Vertex Shaders. SwiftShader is built to provide the same APIs that developers are already using for their games and applications. This makes it possible to directly integrate SwiftShader into applications without any changes to source code. Direct3D 8 and Direct3D 9 compatible APIs are available immediately, and OpenGL-compatible APIs are also under development. Vertex Shader 1.1 and Pixel Shader 1.4 features are currently supported, along with the majority of features used by most developers when producing 3D games and applications.
SwiftShader can perform over 50 times faster than Microsoft's Direct3D Reference Rasterizer in tests with sample applications, and can rival the performance of low end hardware 3D graphics solutions in some cases. SwiftShader achieves this unprecedented level of performance by dynamically compiling highly optimized code specific to an applications 3D rendering needs.
SwiftShader is currently available for x86 CPUs with Intel's SSE multimedia instruction set extensions. SwiftShader runs on Microsoft Windows 98 and higher, and on Linux through TransGaming's Cedega portability technology.
OpenGL is an API, which programmers use to describe a set of graphics primatives.
SwiftShader is a renderer, which draws things.
You would, in fact, program your code in Direct3D or OpenGL, and then use SwiftShader as the renderer, the same way today you would program in Direct3D or OpenGL, and then use your ATI X800 as the renderer. They even mention, in the article, that "OpenGL-compatible APIs are also under development".
The only difference is that, compared to an ATI X800, SwiftShader will be very slow, and compared to the SuperImageCrazyMagic 9000 VGA+++ graphics card in my crappy laptop, SwiftShader will be quite fast.
...saying that it performs up to 50 times better than the Microsoft Reference Rasterizer you're actually calling it slooooow. The REF driver exists with absolutely ZERO optimizations explicitly for the purpose of discerning if a problem is in your code or is in the video card's device driver. Maybe they're confused about the old RAMP and RGB devices you could use to render in software. 50 times faster than REF is pathetic to be honest.
Loading...
If the poster has a vested interest in the content, then why would they want their site to be slashdotted???
I got nothin'
The site is /.'d, so I can't rtfa.
Swiftshader is based on the sw-shader project, which produced very good quality output very quickly using SoftWire to compile the rasterizers. A lot of other software 3D implementations only optimize the most common cases and fall back on very slow, general purpose rasterizers to do the rest, often using giant switch statements or function pointers in their innermost loops to handle the countless combinations of blending, lighting, and raster options available. Even precompiling them all with a generator script or clever use of macros is infeasable due to the number of combinations, and just one of those will slow any 3D rendering to a crawl, which is the problem that sw-shader solved, by optimizing all cases.
What's good is that the project is once again under active development, and it's no longer windows-only. The downside is that it's gone commercial. With so few contributors other than the original author, that sort of thing can happen to an OSS project. He put a lot of hard work into it though, writing a substantially complete DirectX 9 replacement based on his library. Transgaming actually had to purchase two projects for this, because sw-shader depends on SoftWire.
SwiftShader code seems to be directly based on SoftWire and swShader, which used to be both SourceForge projects.
--
I'd say he's very much associated w/ Transgaming. He's even got his own page.
http://www.transgaming.com/gavstates.php
Transgaming surely lost my respect w/ this stunt.
Yep, I never spell check.
More incorrect spellings can be found he
No. They don't make use of the GPU at all. That, in fact, is the whole point: a software only renderer.
Hamsters are at least as feathery as penguins. HamLix