Direct3D8 has no software renderer? Are you kidding me?!

Started by
13 comments, last by sfsdfd 22 years ago
I''ve spent about 200 hours developing a DirectX app and it runs great on my ATI Mobility M4-powered notebook. But when I ported it to a friend''s Mobility M3-powered notebook, it ran like molasses. Turns out his graphics chip is awful, and my simple graphics are much better processed in software. So I''ve spent the evening trying to force my app to use software rendering even if hardware is available (but inferior.) After all, one of the much-vaunted aspects of DirectX, and D3D in general, is its robust software HEL, right? But tonight''s research suggests the unbelievable: NO SOFTWARE RENDERER?! CreateDevice allows three options: D3DDEVTYPE_HEL, which is hardware; D3DDEVTYPE_REF, which is a slow-as-dirt software renderer built for reference compatibility (and not meant to be playable); and D3DDEVTYPE_SW, which supports third-party software rasterizers but doesn''t include any of its own. (The most reliable and well-known third-party software rasterizer is Fastgraph, but this costs $300! - a little steep for my freeware project!) Tell me this isn''t true... tell me I''m missing something... (groan) - David Stein
Advertisement
From here

Is there a software rasterizer included with Direct3D?
No. Direct3D now supports plug-in software rasterizers. However, there is currently no software rasterizer supplied by default.
i have a question related to directX 8 too, what function should i call when i''m using dirextX 8 to do 2d games?

thanks in advance!
Nothing to do, try complimenting someone, it will make you feel better!
That is not even a legitimate question, Wingcom. There is NO function to call to do 2D graphics. You still need to use 3D graphic methods.

You simply set up an orthographic view and use textured quads for your sprites.

This question gets asked about 3 times a week... Please search the forums.

Landsknecht
My sig used to be, "God was my co-pilot but we crashed in the mountains and I had to eat him..."
But folks whinned and I had to change it.
make a sprite using the D3DXSPRITE interface..


{ Stating the obvious never helped any situation !! }
wingcom -- This is EXACTLY what you are looking for, boy!

[ my engine ][ my game ][ my email ]
SPAM
Rate me up.
AHEM...

Now that we''ve got the, er, totally unrelated and off-topic question out of the way ...

What do you guys think about this software rendering issue? Yes, I read that bit in the DX8SDK - pretty much the last crushing blow to my hopes here! - I''m just writing here to see how (if at all) other people have solved this problem. So your advice would be appreciated.

- David Stein
Of the new features in DirectX 8, added since DX7, which would you expect to be handled at decent speeds in software ?

Probably none!

The truth is to get any kind of decent performance from the old DirectX 7 software rasteriser you had turn off most of the "new" features and essentially go back to DX5 level features...

...which means if you need software rasterisation on a machine with DirectX 8 installed, use DirectX 7 interfaces - they will always be present in future versions of DirectX.

Alternatively use a 3rd party solution like Hybrid''s Surrender3D (http://www.surrender3d.com).

--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

So Geoff Crammond for its magnificent SW mode in GP3 used a plugin on its own? or the cited one? ( i suppose $300 is not out of budget for microprose)
It was under DX7, with HUGE effects like wet road reflex, and ran at very high speeds.
It can be done in SW, i don''t know at what effort.

Michele.
Rumour has it that Geoff Crammond''s GP3 had an extreme amount of hand-tuned assembly written specifically for their game.

When you can make assumptions about the constraints of your game world such as the track always being at a certain Y position etc, specific optimisations (e.g.massively simplified culling) and tricks become possible.

Anyway I thought we were talking about a ***generic*** software renderer here which takes anything you throw at and renders it (as D3D7''s s/w renderer does). With D3D''s software renderer you aren''t going to get hardware levels or even GP3 levels of quality any time soon!

For specialised renderers, take a look at what some parts of the demo scene are doing in software (gouraud shading on a C64 anyone ?). IIRC the Surrender3D guys are ex-demo scene, their engine runs better than D3D7s rasteriser.

MS spend their time working on what the majority of users are interested in - and the majority are using desktop PCs with hardware 3D.


--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

This topic is closed to new replies.

Advertisement