Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / General Programming / Direct3D - SOFTWARE vs HARDWARE vertex processing... Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
optionalreaction

February 22, 2005, 04:55 PM

Hi,

My demo works fine with SOFTWARE_VERTEX_PROCESSING , but when I switch on HARDWARE_VERTX_PROCESSING (or MIXED), half of my landscape disappears!

To see what I mean, download the demo from http://optionalreaction.com/software/game_engine

Does anyone know what could be causing this, or, does anyone know what I should look out for with HARDWARE_VERTEX_PROCESSING?

Thx,
optionalreaction

 
theAntiELVIS

February 22, 2005, 06:56 PM

I see no difference between the two - except frame rate of course - much higher FPS with hardware processing.

I'd say it's your video card - I'm running an ATI Radeon 9800 Pro with 128 MB. Could be your card has more limited caps in hardware mode. Without knowing more about what you're doing it's hard to say. Are you using 32-bit buffer indicies? Can you post screenshots of what it looks like in software vs. hardware mode?

 
Scoot

February 23, 2005, 06:26 AM

Are you using ProcessVertices() in your app at all? This function is only supported on vertex buffers created with software vertex processing.

Another thing to look out for is setting (or not setting) the appropriate flags when creating vertex/index buffers: e.g. check all of your CreateVertexBuffer()/CreateIndexBuffer() statements and see if you are specifying D3DUSAGE_SOFTWAREPROCESSING, which will not work when using the H/W mode.

Personally I have never been able to get mixed mode fully working - but there is no reason why you should need to use it as long as the card supports hardware.

One last issue is with point sprites - a lot of cards do not support point sprite *sizes* under hardware mode, which can be a real pain.

Lecture over kids, time for your milk :o)

 
juhnu

February 23, 2005, 06:48 AM

>One last issue is with point sprites - a lot of cards do not support point >sprite *sizes* under hardware mode, which can be a real pain.

who really cares as point sprites are awfully limited concept anyway :)

juhani

 
tokjunior

February 23, 2005, 06:55 AM

It's because your card only supports 16 bit indexbuffers and/or 65536 primitives per buffer.

 
optionalreaction

February 23, 2005, 10:51 AM

I'm not using ProcessVertices() or D3DUSAGE_SOFTWAREPROCESSING anywhere.

Thanks for your help anyway,
Keith

 
optionalreaction

February 23, 2005, 10:53 AM

I'm not using 32 bit index buffers, but it may be that I have more than 65536 primitives per buffer (or too many vertices).

I will check that out and let you know.

Thanks for your help,
Keith

 
optionalreaction

February 23, 2005, 10:55 AM

I'm not using 32 bit buffer indices... I will try to sort out some screenshots (I'm using my mum's work computer which hasn't got a 3D card).

Thanks for your help,
Keith

 
optionalreaction

February 23, 2005, 04:17 PM

I was using too many vertices per buffer. The limit on my GeForce2 is 65536 and the VB had 1254400 vertices in it :)

Thanks again,
Keith

 
This thread contains 9 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.