Archived

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

Problems with CreateTexture on FX 5900

This topic is 4983 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

Hello I have the following code tried to to run on a ATI and on a nvidia card. m_pd3dDevice->CreateTexture(1, 1, 1, D3DUSAGE_RENDERTARGET, D3DFMT_R32F, D3DPOOL_DEFAULT, &m_pFloatTexture,0); Unfortunately does this run only on the ATI Radeon 9800 Pro. Do you have any idea why this works only on ATI''s Hardware and not on nvidia FX 5900 XT (return value ist D3DERR_INVALIDCALL)? Thanks

Share this post


Link to post
Share on other sites
See here, question 8. It is possible to use floating-point textures with FX and D3D, but with some limitations.

Please ask for more info if needed.

-Nik

EDIT: And this approach does actually work with render targets as well

[edited by - Nik02 on April 20, 2004 1:38:53 PM]

Share this post


Link to post
Share on other sites
I ran on the same problem, and like Nik02 said, it works, but it IS a hack, and I wonder why nVidia hasn''t released a driver patch to support floating points formats from natives DX9 D3DFMT_16F/D3DFMT_32F formats...

Anyway I changed my FX 5200 for a Radeon 9800 Pro. ;-)

JF

Share this post


Link to post
Share on other sites
quote:
Original post by deks
I ran on the same problem, and like Nik02 said, it works, but it IS a hack, and I wonder why nVidia hasn''t released a driver patch to support floating points formats from natives DX9 D3DFMT_16F/D3DFMT_32F formats

They can''t release a patch because it''s a hardware limitation. To expose a CAP you have to match the D3D spec completely. I don''t recall the specifics but in some manner the FX line is not capable of full support.

The FX line is actually pretty lame in many regards with poor drivers. I think nvidia learned their lesson though and their newest chip looks pretty nice.


Stay Casual,

Ken
Drunken Hyena

Share this post


Link to post
Share on other sites
Speaking of the 5900, I built a new system this weekend with a 5900 Ultra card and when running the SkinnedMesh DX9 SDK sample with indexed skinning, the rendered model is drawn the vertices way out of whack making the character look like a it has a bunch of spikes. Switching to the refdrv doesn''t exhibit the problem so I''m assuming it''s a driver or hardware problem.

I''m curious for the folks that have 5900s if you see the same sort of artifacts with this sample. I''m using the latest NVIDIA drivers from their website (latest as of Saturday night anyway).

thanks,
don

Share this post


Link to post
Share on other sites
Thanks to all!
But I have a further problem. If I try to change textures at running time I would like to use the following instruction:

m_pd3dDevice->CreateTexture(1, 1, 1, 0, (D3DFORMAT)MAKEFOURCC(''N'',''V'',''E'',''d''), D3DPOOL_SYSTEMMEM , &ms_pMainMemTexture, 0);

This does not works also! ;-(

Is there in addition also a FAQ?

pajofego

Share this post


Link to post
Share on other sites
Extension textures can only be created in Default pool (that is, video memory) because D3D itself doesn''t understand what the formats contain, only the card/driver does. For the same reason, FillTexture* functions won''t work (AFAIK) with them.

However, it is legal to lock the extension surfaces direcly for r/w despite of they being in vidmem.

-Nik

Share this post


Link to post
Share on other sites
Sardak1234,

I forgot to tell you about one small detail. When the sample is running, press 'F2' to bring up the settings screen, then change the 'Vertex Processing' option to 'Hardware vertex processing'. Then make sure you are using the 'Fixed function indexed (s)kinning' option from the main screen.

Thanks for your help.

Here's what the problem looks like:




[edited by - don on April 21, 2004 3:42:26 PM]

Share this post


Link to post
Share on other sites
I had only the possibility to test my program on the Ati 9800 Pro. Is there any difference or limitations with the Ati 9700 Pro using DX9 D3DFMT_16F/D3DFMT_32F Formats? Now I am very careful ;-)

Thanks

Share this post


Link to post
Share on other sites