Slashdot Mirror


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."

52 of 256 comments (clear)

  1. Ads by Lord+Byron+II · · Score: 5, Insightful

    Ad-posts such as this one, wouldn't be as offensive if they would just come out and say that they're an ad-post. I.e., instead of "on their website", say "on our website". And make some sort of comment that, yes, the poster does have a vested interest in the content of the post.

    1. Re:Ads by Anonymous+Custard · · Score: 2, Funny

      Slashdot Editor should change the post to indicate that.

      Change "on their website" to say "on our website".

    2. Re:Ads by Anonymous Coward · · Score: 5, Funny

      You sound tense. Why don't you unwind with a cool, delicious Coke(TM)?

    3. Re:Ads by ZachPruckowski · · Score: 5, Insightful

      Personally, I'd like it if they had their own section. Like there is an Apple section, a Linux section, etc, how about a New Toys section? I mean, I'm all for reading about good new products, therefore I don't think ad posts are defacto bad, but it would be nice to distinguish them as biased towards the manufacturer.

      ::Braces for the inevitable "What, slashdot biased?" joke::

    4. Re:Ads by StarvingSE · · Score: 2, Informative

      If the poster has a vested interest in the content, then why would they want their site to be slashdotted???

      --
      I got nothin'
    5. Re:Ads by hardaker · · Score: 3, Interesting

      How about we call the new section "slashmeat"? And then we can set up a web interface to post to slashdot and freshmeat at the same time! Two birds and all...

      --
      The next site to slashdot will be ready soon, but subscribers can beat the rush and start slashdotting it early!
    6. Re:Ads by mcg1969 · · Score: 4, Funny

      Hey kid! Thanks.

    7. Re:Ads by gavriels · · Score: 4, Interesting

      Actually, they already changed it. I wrote 'here', not 'on their website'.

        -Gav

    8. Re:Ads by bluelip · · Score: 2, Informative

      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
    9. Re:Ads by gavriels · · Score: 3, Funny

      I didn't write 'on their website', I wrote 'here'. The Slashdot editors made that change.

    10. Re:Ads by cyberdemo · · Score: 5, Funny

      Hey Gavriel, do you still sue people for packaging your software?

      Love,

      Someone who remembers the feud you had with Debian

      --
      I have no sig at all.
    11. Re:Ads by rpdillon · · Score: 3, Insightful
      I never really understood this attitude...is this news for nerds? You bet...I'm pretty interested when the #1 windows gaming emulation environment has a new product.

      There is a fine line between an ad an something that is news...it is all about targeting. That is why people that hate advertising (like me) don't mind Google adwords and posts like this. At least Gav didn't post as AC...there was nothing really dishonest about this post.

      Besides, anyone could have submitted a Transgaming-related post...take mine from last year...was that an ad? Because if so, I want some payment! =)

  2. The Meat... by Beren · · Score: 5, Informative

    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.

    1. Re:The Meat... by MindStalker · · Score: 5, Interesting

      What I really want to know is can it use the 3D capabilities of your card while software rendering the things your card doesn't support. This would be the killer app for Linux and Windows.

    2. Re:The Meat... by Max_Abernethy · · Score: 2, Informative

      "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.

    3. Re:The Meat... by vasqzr · · Score: 2, Insightful

      The intiative over the past several years has been to get graphics off the CPU, so this seems a little backwards to me.

      They started this back in 1995, before 3D hardware became commonplace. And they've just now finished it.

      I remember the old newsgroup posts where people were using MMX and writing '5 cycle per pixel' texture mappers and such.

    4. Re:The Meat... by Creepy · · Score: 2, Informative

      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).

    5. Re:The Meat... by TheRealMindChild · · Score: 5, Informative

      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).

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    6. Re:The Meat... by JacobO · · Score: 2, Interesting

      This sounds very much like Pixomatic, courtesy of Michael Abrash.

      The DX9 featureset appears to be the big win here, unless of course you consider Linux support important :-)

  3. In short, No. by Digital_Quartz · · Score: 5, Informative

    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.

  4. Desktop Environments by taskforce · · Score: 4, Interesting
    If this can do what it's boasting it will certainly come in handy for Graphic heavy desktop environments such as the Aero Glass Theme Windows Vista is using. If a Linux GUI (ho ho ho) can provide an experience as rich as Aqua or Aero and base it on this software rendering it could make leaps and bounds on the desktop as more savvy system admins decline to purchase the latest gaming card so they can run Vista.

    Obviously I realise that a lot more is needed before desktop Linux taxes off, but if someone could capitalise on this we could have a decent GUI utilised without pissing all over Linux's reputation for not taxing hardware too heavily. (Personally I prefer an understated GUI which uses no resources, but obviously there is a market for eye candy.)

    --
    My 3D Texturing Skinning work (under construction)
    1. Re:Desktop Environments by earnest+murderer · · Score: 5, Insightful

      A: Admins don't care about Aero Glass, the Windows 2000 UI will do just fine for Vista installs.

      B: This is only usefull for runing Aero Glass if the only thing you are running is Aero Glass. Real work will have to take a back seat while this is grinding through the glorious shading of your progress bar.

      C: This totally misses the point of what Aero is for. Getting the UI grunt work off of the CPU and onto the video card.

      This is a neat trick, and possibly usefull for some very specific purposes such as foolproof DX9.0 rendering in Linux reguardless of the state of device drivers. Hardware review sites could get some milage out of this. Especially when they need to know what a game/benchmark is doing in certain situations and image quality comparisons.

      --
      Platform advocacy is like choosing a favorite severely developmentally disabled child.
    2. Re:Desktop Environments by DrCode · · Score: 2, Interesting

      Isn't this a commercial product? It's hard to see how any Linux distribution could be based on this.

  5. The Point by Anonymous Coward · · Score: 5, Insightful

    I realize that I'm just a humble AC, but let me say this: I'm not certain I understand the point here. Casual gamers are exactly that, casual. They're more interested in online play like Java Applets or MIDP Applications for phones than they are in Gee Whiz Bang games that they must install to their computers. So from that perspective, I really don't understand what market TransGaming plans to attack with this new software.

    Even if we assume that casual gamers are looking to install games onto their computers, it's hard to say that such gamers wouldn't have at least a basic 3D card to play games on. Even the Intel Integrated Graphics (about as bad as you can get) has decent 3D support. Are the Gee Whiz features of DX9 really all that important to these players?

    1. Re:The Point by Surt · · Score: 4, Interesting

      For developers, this can be very useful, particularly if they can get it up to date on the newer pixel and vertex shaders for the simple reason that running your application on the real hardware can nuke your system, and running in the existing microsoft renderer is painfully slow. This could provide a useful compromise.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:The Point by Anonymous Coward · · Score: 2, Insightful

      One thing this might be able to do is to offer features like pixel and vertex shaders that might be missing from lower-end hardware. It'll probably be useless for playing Quake4, but it might be useful for some applications. Having said this, if they are trying to sell this directly to customers, they will fall flat on their face. People aren't used to paying for drivers (in this case, drivers for virtual hardware). If it's as fast as they say it is, they should try to sell this technology to Microsoft to be integrated into the Direct3D software renderer.

  6. Fast Software 3D Rendering by Anonymous Coward · · Score: 5, Funny

    Formerly known as slow rendering.

  7. Re:A Blow to OpenGL? by macklin01 · · Score: 2, Insightful

    With no free licensing for personal and/or academic use available, I don't see that happening. Furthermore, it's only supported on Win 98 and up and Linux. One of the principal strengths of OpenGL is that it works on all Windows flavors, Linux, Unix, Solaris, Mac, ... -- Paul

    --
    OpenSource.MathCancer.org: open source comp bio
  8. LOL, GamaSutra doesn't seem to realize that... by Assmasher · · Score: 5, Informative

    ...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...
    1. Re:LOL, GamaSutra doesn't seem to realize that... by c0d1f1ed · · Score: 2, Informative

      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.

    2. Re:LOL, GamaSutra doesn't seem to realize that... by Assmasher · · Score: 2, Informative

      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

      --
      Loading...
  9. Next up... by Enahs · · Score: 2, Funny

    ...an uber ultra-fast fixed-point math library!

    --
    Stating on Slashdot that I like cheese since 1997.
  10. Missing from the FAQs.. by onion2k · · Score: 4, Insightful

    I'm sure that creating this engine was an interesting challenge .. but .. why? 2D only graphics cards don't really exist anymore. It doesn't exist for non-PC platforms so it doesn't really aid portability (though they say in the FAQs it could if someone wrote a "SwiftASM" thing for the target CPU) either.

    Is it just a fun toy? Or have I missed something?

  11. Good but limited... by dogmatixpsych · · Score: 4, Insightful

    Sure, it *may* be faster than other software rendering solutions, but it still only approaches (that's such a broad term) the performance of low-end cards: "can rival the performance of low end hardware 3D graphics solutions in some cases." Sounds pretty iffy to me. It'll be good in some cases; however, as it is, I doubt it will replace dedicated hardware cards for many people (it's not like low-end cards are very expensive. You can find decent (albeit older) graphics cards for under $20.

    I'm not saying this technology isn't useful, it just has limited application in its current state.

  12. Pixomatic by Acy+James+Stapp · · Score: 4, Insightful

    This looks like it is meant to compete with Pixomatic from RAD Game Tools. ( http://www.radgametools.com/default.htm ) Perhaps it's cheaper or faster, but pixomatic is not overly pricy and I trust Mike Abrash *now at RAD) has a little bit of experience writing fast renderers :)

    --
    -- Too lazy to get a lower UID.
  13. Load balancing? by iammaxus · · Score: 2, Interesting

    Can it split the rendering load between your GPU and your CPU if your GPU is capable of some of these features? I couldn't find an answer on their website.

    1. Re:Load balancing? by Musc · · Score: 3, Informative

      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
  14. possible deathknell for lowend non-integrated gfx by l33t-gu3lph1t3 · · Score: 4, Interesting

    Believe it or not, but integrated graphics hold the lion's share of the PC graphics market. Nvidia and Ati are both pretty far behind Intel in terms of install base. This could be very bad for the other vendors: the main reason for the popularity of integrated graphics is cost - Intel itself only holds about a $5 premium on gfx-enabled chipsets over discrete chipsets.

    What happens when Microsoft licenses this tech and integrates it into Windows? Suddenly, all anyone needs is a RAMDAC to output framebuffer to VGA, so Intel doesn't need to develop GPUs anymore, and overnight gets a massive performance boost and full DX9 support....

    --
    ------- "From bored to fanboy in 3.8 asian girls" ----------
  15. In other news... by TMonks · · Score: 4, Funny

    Earlier this afternoon, the CEO of TransGaming was found on his office floor with two broken knees. Witnesses observed a pickup truck with the word "nVidia" printed on the side leaving the scene.

    --
    I, for one, welcome our new karma-whore sig writing overlords
  16. So, how about some numbers? by Lendrick · · Score: 2, Interesting

    Anyone have time to, say, download this driver and fire up UT2004 or somesuch and test the framerate using software rendering vs their 3d card (with all other settings being equal)? Of course, this wouldn't be particularly scientific, but it would at least give some idea about how well this thing performs and whether it's useful.

  17. What I want to know... by deathy_epl+ccs · · Score: 2, Interesting

    ...is what demogroup they were before they went commercial, because that's the only crowd I can see with the drive and desire to create something like this. One of my group's coders still gets a stiffy for software rendering, and I know he's not the only demoscener that does.

  18. Great, I suppose by dtfinch · · Score: 2, Informative

    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.

  19. SwiftShader code originates from... by jjl · · Score: 4, Informative

    SwiftShader code seems to be directly based on SoftWire and swShader, which used to be both SourceForge projects.

    --
    --
  20. Re:possible deathknell for lowend non-integrated g by dominator · · Score: 2, Insightful

    What you're suggesting is that Microsoft might license tech from a company whose main product is a re-implemenation of the Microsoft Windows SDK for *NIX. If this happens, I'll either eat my hat or die of laughter. Oh the irony.

  21. Faster than... by Mingco · · Score: 2, Funny

    Claiming that it's 50 times faster than some other software renderer is like claiming your racecar is 50 times faster than any other racecar that has no wheels.

    What's the point?

  22. Oh, come on! by spun · · Score: 4, Funny

    Pull the other one, it's got bells on. You expect us to believe that the slashdot editors actually edited a submission?

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  23. What I'd Like To Know by ThePyro · · Score: 3, Interesting

    Can it take advantage of multiple processors?

    For years, some analysts claimed that ordinary processors would eventually obsolete 3D accelerators, because they would be fast enough to handle all of the rendering in software. Since graphics processing can usually make pretty good use of parallelism, then perhaps a package like this along with multiple CPUs is the "wave of the future"?

    Obviously not now... but in 20 years?

  24. swShader? by ravyne · · Score: 2, Interesting

    I wonder if this is possibly a take off of an open source project called swShader (its on source forge.) I've had some contact with the author of swShader, Nicholas Cappens(spelling likely incorrect), we discussed the unique approach he has taken to polygon filling/texturing. swShader also has DX 8 & 9 interfaces and a dll which could stand in to interface with regular DirectX games. While its an interesting piece of work, I hate to see when an OSS project, particularly one with one primary author(the owner if you will) gets taken and then commercialized becuae I'm sure he'll never see a penny, despite having written most of it. I don't know that thats the case here or not, but I hope it isn't. I guess its part of the deal when you open it up to OSS but it would still stink. Then again, maybe he's commercialized it himself or got hired to produce it, which I would be all for.

  25. Maybe something, but not all by Sycraft-fu · · Score: 2, Interesting

    Vertex shaders, sure. In fact, DirectX does just that. If you lack hardware vertex shaders, DirectX will happily do them in software. It's not as fast, of course, since it hits your CPU, but it works. However other things can't be done, at least not yeat. Pixel shaders would be an example. They are later in the chain, after the graphics card has done it's work, even if it's a simple one. So that either requires doing it all in software, or sending data from the graphics card back to the CPU, doing more work, then back to the graphics card.

    With AGP it's right out. PCIe makes it a remote possibility, the bus would work, but it's still not a real solution. It would end up being too slow to matter. The thing is you can get a cheap 3d card that WILL do it, though slow (any Radeon 9200 or above), but faster than software.

    So I don't know about killer app. Certianly not for Windows. As it stands, DirectX does this to the extent that it's useful. Things that can be done in software to a reasonable speed will be, if necessary. Things that can't are simply excluded. It's probably the best compramise from a consumer standpoint.

  26. Re:Swiftshader in hardware? by c0d1f1ed · · Score: 2, Interesting

    Actually shaders as used on graphics hardware and the dynamically generated code used by SwiftShader share a lot of resemblance. The biggest difference is that the GPU is designed specifically to run shader code, while to make it run on the CPU we need to translate it to MMX and SSE instructions. The GPU also has many more pipelines and dedicated texture samplers. Other than that there's a convergence in technology as graphics hardware gets more programmable and reuses the same units for different threads (i.e. unified architecture).

    So, to answer your question more directly, I doubt that any of the technology used in SwiftShader can further improve hardware rendering performance. But I do see an evolution in CPU thread parallelism...

  27. Re:Can I run Doom3 on this thing? by c0d1f1ed · · Score: 2, Interesting

    There is no OpenGL interface yet, but I expect that Doom 3 will be nearly playable on a powerful CPU at low detail. Even shadows might be possible, because stenciling requires very little operations per pixel and MMX allows to process up to eight pixels in parallel.

    Anyway, it's not our immediate goal to support the latest games. The people playing Doom 3 really know they need a powerful graphics card. But once it becomes feasible to run it on the CPU, we'll let you know...

  28. Re:Better software acceleration? Who cares? by c0d1f1ed · · Score: 2, Interesting

    Not all systems come with good hardware rendering. And even though an upgrade is relatively cheap, not everyone is willing to pay that price for casual gaming, tons of people don't know/care how to do a graphics card upgrade, and many systems simply can't be upgraded (laptops in particular). TransGaming is all about portability. Whether from Windows to Linux, Mac to PlayStation, hardware to software... I can hardly imagine a better company for releasing a product like SwiftShader.