Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

kovacsp

Mobility Radeon 9000, 9200 doesn't render anything when using fixed function pipeline

This topic is 5272 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi! I have dx9 code, which works well on most hardware (it was tested on more then 10 cards), but it behaves strange on mobility radeon 9000 and 9200. It works on non-mobility 9000 and 9200, moreover it works on mobility radeon 7500 and 9600. The effect is: wireframed elements are ok elements using vertex shaders (dot3 bump mapped objects) are ok but the simple textured or diffuse colored objects are just invisible, nothing appears on the screen. If someone faced the same or similar problem in the past and knows the solution, then please let me know! Thank you for your help in advance, Peter

Share this post


Link to post
Share on other sites
Advertisement
I think this is one of two problems
1-you are not setting a variable, and the driver uses the default value in some cases, while other drivers doesn''t.try to find if you are not setting a variable in your program.
2-It may be a driver bug. Usually the drivers of the laptops are buggy in many cases.

Share this post


Link to post
Share on other sites
Thanks for your replies guys!

I''ve checked it with software rendering and the debug output showed nothing wrong with it.

mohamed:
what kind of variable do you mean? renderstates? or something different? I''ll have a close look at it..
I hope it''s not a driver bug.. I downloaded the latest ones in both cases. And other software using directx runs ok, so it must be my fault.

Peter

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Hi,
When you are using the vertex/pixel shaders you might be bypassing the fixed function pipeline, so you might need to try rendering the fixed funtion objects before you render the shaded elements. Then try to set the device back to its basic state before rendering again.

Share this post


Link to post
Share on other sites
quote:
Original post by kovacsp
Thanks for your replies guys!

I've checked it with software rendering and the debug output showed nothing wrong with it.

mohamed:
what kind of variable do you mean? renderstates? or something different? I'll have a close look at it..
I hope it's not a driver bug.. I downloaded the latest ones in both cases. And other software using directx runs ok, so it must be my fault.

Peter



yes, I mean renderstates, light properties (attenuation,color and so on) and such similar things.Some times drivers give default values for these things that you may not take into consideration.for example ,as far as I remember, one of my 9700 drivers gives the light the RGB values (0.8,0.8,0.8)if you don't set them yourself, and I was assuming it is one, so it gave me undesired results.
so try to check these variables and render states, or try to contact ati.

[edited by - mohamed adel on June 5, 2004 12:08:14 PM]

Share this post


Link to post
Share on other sites
For your information, here is the solution:

I''ve used the same vertex declaration for bump mapped objects (using a vertex shader), and the normal objects (using the fixed function pipeline). As far as I know this should not be a problem, since the fixed funcion pileline will not use the fileds it does not need. Here is the vertex declaration used:

D3DVERTEXELEMENT9 CCDX9::DeclVertexXYZNCTTTB[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{ 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },
{ 0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 },
{ 0, 28, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
{ 0, 36, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1 },
{ 0, 44, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 2 },
{ 0, 56, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 3 },
D3DDECL_END()
};

But on those two mobility radeons, the extra fields cause that the objects will not render at all. Removing the extras (or even nodifying the usage of the tangent filed to texcoord) solves the problem.
Strange for me...
Any ideas, why could it be?

Anyway, thanks again for your replies.

kp

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!