Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Graphics Software Entertainment Games

TransGaming Releases Fast Software 3D Rendering 256

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."
This discussion has been archived. No new comments can be posted.

TransGaming Releases Fast Software 3D Rendering

Comments Filter:
  • The Meat... (Score:5, Informative)

    by Beren ( 21815 ) on Wednesday October 19, 2005 @02:44PM (#13829036)

    Here's the meat of the article for those who can't be bothered.

    • Vertex Shader 1.1 Support
    • Pixel Shader 1.4 Support
    • DirectX 9.0 class features
    • Faster than Microsoft's reference rasterizer
    • Available for Windows
    • Available for Linux under Cedega

    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.

  • In short, No. (Score:5, Informative)

    by Digital_Quartz ( 75366 ) on Wednesday October 19, 2005 @02:47PM (#13829074) Homepage
    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.
  • by Assmasher ( 456699 ) on Wednesday October 19, 2005 @02:49PM (#13829108) Journal
    ...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.
  • Re:Ads (Score:2, Informative)

    by StarvingSE ( 875139 ) on Wednesday October 19, 2005 @03:04PM (#13829262)
    If the poster has a vested interest in the content, then why would they want their site to be slashdotted???
  • Re:The Meat... (Score:2, Informative)

    by Max_Abernethy ( 750192 ) on Wednesday October 19, 2005 @03:06PM (#13829280) Homepage
    "Faster than Microsoft's reference rasterizer" isn't saying a whole lot - even if it's 50 times faster. It's called a reference rasterizer for a reason - it's not meant to actually be used in final products, it's just so you can see everything that DX supports. It's unusably slow.

    I honestly don't see the use for a pure software renderer. We have DirectX and OpenGL, which make compatibility with different video cards pretty easy. I don't think there are a lot of video cards out there at this point that don't support VS 1.1 and PS 1.4, and that will be especially true once Vista becomes commonplace and suddenly you need modern graphics hardware just to run your operating system. The intiative over the past several years has been to get graphics off the CPU, so this seems a little backwards to me.
  • Great, I suppose (Score:3, Informative)

    by dtfinch ( 661405 ) * on Wednesday October 19, 2005 @03:34PM (#13829556) Journal
    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.
  • by jjl ( 514061 ) on Wednesday October 19, 2005 @03:37PM (#13829608) Homepage
    SwiftShader code seems to be directly based on SoftWire [sourceforge.net] and swShader [sourceforge.net], which used to be both SourceForge projects.
  • Re:The Meat... (Score:3, Informative)

    by Creepy ( 93888 ) on Wednesday October 19, 2005 @03:41PM (#13829655) Journal
    I'm guessing no, because I don't think it's possible to do it with any performance. Think of it like this - you have a texture in graphics memory and you want to pixel shade it - you have to copy the texture to main memory, do the pixel shading in software, then recopy the texture back into graphics memory. If you're thinking pixel shade in software and then copy to memory, how do you know you can do that operation first? Bump mapping, for example, shifts the pixels of the texture and if you pixel shade first, you probably will have the wrong pixels shaded.

        The graphics card-memory bandwidth would be constantly in use, which may be a bottleneck (especially on older systems, since you'd be limited to 2-8MB of textures to maintain 30FPS). In addition, the graphics card wouldn't have the texture to work with while it's offloaded, so it would need to either do something else (if anything is available) or idle. You also wouldn't be able to render your scene unless all the textures were back on card, so that's another potential bottleneck (though that may be possible with changes to the hardware drivers).
  • Re:The Meat... (Score:5, Informative)

    by TheRealMindChild ( 743925 ) on Wednesday October 19, 2005 @03:43PM (#13829682) Homepage Journal
    You DO know that you just described EXACTALLY what DirectX (DirectDraw/Direct3d) are, don't you? DirectX has a HAL (Hardware Abstraction Layer) and a HEL (Hardware Emulation Layer). What isn't supported by hardware is SUPPOSED to be done in software (with exceptions of things too slow in software).
  • Re:Ads (Score:2, Informative)

    by bluelip ( 123578 ) on Wednesday October 19, 2005 @03:43PM (#13829685) Homepage Journal
    I'd say he's very much associated w/ Transgaming. He's even got his own page.

    http://www.transgaming.com/gavstates.php [transgaming.com]

    Transgaming surely lost my respect w/ this stunt.
  • Re:Load balancing? (Score:3, Informative)

    by Musc ( 10581 ) on Wednesday October 19, 2005 @03:53PM (#13829783) Homepage
    No. They don't make use of the GPU at all. That, in fact, is the whole point: a software only renderer.
  • by Anonymous Coward on Wednesday October 19, 2005 @05:16PM (#13830579)
    All files seem to be removed, but can be downloaded from:

    http://prdownloads.sourceforge.net/sw-shader/ [sourceforge.net]

    http://prdownloads.sourceforge.net/softwire/ [sourceforge.net]
  • by c0d1f1ed ( 924228 ) on Thursday October 20, 2005 @12:58AM (#13833236)
    Please try the demos. You will see that they run at pretty impressive performance for software rendering, often many times faster than 50 times the reference rasterizer.

    The comparison with REF in the press release is just to indicate that SwiftShader is way faster than the only other alternative for Direct3D 8/9 emulation.
  • by Assmasher ( 456699 ) on Thursday October 20, 2005 @09:39AM (#13835170) Journal
    Oh, I presume that the demos are very much faster than 50x the REF, but again people should not be saying "the only other alternative for Direct3D 8/9 emulation" because first, you are not allowed to redistribute the reference rasterizer with a product because it is part of the DirectX SDK not the redistributables package for DX8 or DX9, second, there IS another DirectX 9 compatible API for software rendering and it is fantastically fast and feature rich, it's called Pixomatic:

    http://www.radgametools.com/#Pixomatic [radgametools.com]

For God's sake, stop researching for a while and begin to think!

Working...