Archived

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

algumacoisaqualquer

Does something made At DX8.1 works at DX8.0?

Recommended Posts

Hello everybody, I'm making a game based on an example from the DirectX8.1 SDK Donuts, on Visual Basic. Well, I've created some new sprites based on the background image(properly modified, I hope), and I use the pink (RGB (255,0,255), or &HFFFF00FF with is what actually goes into the code) as the color key for the transparency. It works fine on my computer, but when my partner (graphic designer) tried on his, the transparent part became black (weard thing: in the bmp, their background is pink, but in the game, it appears as black). I have searched for something that could have caused this, and his version of the DirectX is the 8.0, while I´m developling at 8.1. This may or may not be the problem, but it is the only diference I found bettwen his and mine computer. On the other hand, the floating thing that exist in the example (all that donuts an particles), with I kept just for fun, are still transparent on his computer, with leave me clueless! (shoud I post parts of the code here?) Well, eighter if this is or isn't the problem, can anybody tell me if something developled for the directX8.1 will work on the directX8.0, or will I have to force all that nice people who downloaded my game to download the DirectX8.1 also? Thanks for the atention! EDIT- Just fixing some typos and complementing Edited by - algumacoisaqualquer on January 30, 2002 2:33:29 PM

Share this post


Link to post
Share on other sites
I can''t answer your question directly but I had a related problem in that one of my programs which was written for DX8.1 would not compile under the DX8.0 SDK. I tracked this dowm to one of the D3DX functions that was new to the 8.1 SDK - the said function did not exist in the 8.0 SDK.

Henry

Share this post


Link to post
Share on other sites
to make things nice and simple. assume that if you use the dx8.1 sdk and it was compiled with the 8.1sdk you should only run it on dx8.1

the problem lies with that ms fixed some bugs and changed things in 8.1, now whether it will affect what you are doing is unknown. it may actually just be a graphics card fluke. check the drivers AND check the driver caps to make sure it supports what you are doing. its possible the drivers amy not support the texture mode or something.

in the end you may have to update to dx8.1
though the app running on a dx8 system is a possible sign that its probally a hardware/driver problem.

Share this post


Link to post
Share on other sites
You should use D3DCOLOR_XRGB(red,green,blue) or D3DCOLOR_ARGB(alpha,red,green,blue) instead of the RGB(red,green,blue) macro. It takes into account the format of what you are working with. It''s more safer.

Maybe the color didn''t worked because you don''t have the same color format. It shouldn''t be caused by the DX 8 or 8.1 version. To see the things that can''t be made with DX 8, just check the document of the DX 8.1 version that tells the new addons or repairs to DX 8. This list is the same of what you can''t do with DX 8.

be happy



/* Bullmax */
-------------
Reality has many forms : good and evil, black and white, ying and yang.

Share this post


Link to post
Share on other sites
First off all, thanks everybody for replying!

Henry:
here's what I've found on the SDK:

"New D3DX Functionality

(...)

Texture Library

Implemented a higher quality DXTn encoding algorithm.
Use D3DXGetImageInfoFrom to get image information before loading it.
Includes support for dynamic textures.
D3DPOOL_SCRATCH allows creation of resources that are not limited by device capabilities. They can be created and destroyed, locked and unlocked. These resources can be set to a device and used in rendering. Use with D3DX to convert to something useable such as loading a high-precision height field and converting to a normal map.

(...)"

I think the D3DPOOL_SCRATCH is the one that doesen't exist in the 8.0, but I'm not using this one. However, they did changed the D3DX part, with I'm using on the game (I believe it's a necessary part for texturing, but I'm not shure), so this is probably causing some problems.

a person:

Hum... that make a lot of cense, I guess I'll have to force my friend to download the new version and see what happends. I'll check for it, thanks!

Bullmax:

Well, here´s my code of the texture loading:
Set d3dtSprite = d3dx.CreateTextureFromFileEx(dev, sFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_POINT, D3DX_FILTER_POINT, &HFFFF00FF, ByVal 0, ByVal 0)

So, the format of the color is that err... &HFFFF00FF thing that I don't understand very much, but worked on mine. When you say "Maybe the color didn't worked because you don't have the same color format" what do you mean? I checked for his color bit-depth, and it's 16 bits, same as mine.

Well... thanks for the help everybody, I guess I'll just have to test some more things.

UPDATE - My parten just told me that when he converted the texture that was transparent in his computer to 16 colors (it was a 32bit color image), it lost the transparency. Cinse all the other graphics are 16 or 256 colors, and they don't have the transparency, I guess that is the problem, "Maybe the color didn't worked because you don't have the same color format".

Edited by - algumacoisaqualquer on January 31, 2002 10:14:48 AM

Share this post


Link to post
Share on other sites