Direct X 7 experts please respond
Miscellaneous Forums/General Discussion/Direct X 7 experts please respond
Hi all,
Simon thinks its not possible to get anti aliasing working within the dx 7 framework. I'm just wondering if anyone here is able to disprove this theory?
Basically only nvidia and ati cards are worth supporting with this, so if you can help track down how to enable antialiasing without using driver control panel it will be a great improvement to Blitz3D SDK.
Any help lads?
Also how about enabling anisotropic filtering if such a beast exists? super sharp textures and FSAA are two DX7 possible things -- I dont know why we can't.
In fact I'm beginning to think its a miracle the GPU is used.
Some answers for you.If blitz is using something like:
surfaceDesc.ddsCaps.dwCaps = DDSCAPS_VIDEOMEMORY | DDSCAPS_PRIMARYSURFACE;
Then this should be changed to:
If DDSCAPS_3DDEVICE is set then you can use DDSCAPS2_HINTANTIALIASING like so...
surfaceDesc.ddsCaps.dwCaps = DDSCAPS_VIDEOMEMORY | DDSCAPS_PRIMARYSURFACE | DDSCAPS2_HINTANTIALIASING | DDSCAPS_3DDEVICE;
Note If your application will use antialiasing, it should create the render-target surface with the DDSCAPS2_HINTANTIALIASING capability flag. Applications that omit the flag might suffer from poor performance when antialiasing is enabled, or might not receive antialiasing serices at all.
This is the correct way to enable AA in DX7.
Further reading:
http://www.blitzbasic.com/Community/posts.php?topic=40848Can we have better filtering and AA please as blitz looks kind of nintendo 64ish and there's no call for it.
OK WE'VE DONE IT... a good friend of mine managed to reliably get it antialising all the time. Here's what he said:
surfaceDesc.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
surfaceDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_3DDEVICE;
surfaceDesc.ddsCaps.dwCaps2 = DDSCAPS2_HINTANTIALIASING;
This works every time on old and modern hardware, can we have a B3D SDK update? :)
say "Please!"
IPete2.
Please! :)
Graphics3D w,h,bpp,mode[,hintAntialias = False]
Wouldn't break any code.
I seem to recall Mark saying AA in DX7 was fussy.
it would be a cool addon to blitz3d.
I hope Simon and mark will take a look at the code / caps I posted.
This has been tested on new and old hardware and appears to work. Should be cool to add to Blitz3D SDK please :)
What happened about this? Mark please check it out!
how do I put in your coded antialiasing?? is there a DECL or something?
no i think its changes made to the blitz3d sdk. but if it can be changed in blitz3d that would be amazing.
anistropic filtering is already possible, i've used it several times in b3d with the use of tom's DLL.
does it slow down old hardware ? (just curious)
It simply would be nice if simon added it to Blitz3D. I can only hope to buy him a few beers if I am local one day.
where IS tom's DLL??? He said he couldn't afford to host it anymore, but seriously, why doesn't he stick it on filefront and link to it in his sig? If I made a semi-demi-godly DLL like that, I'd be sure to immortalize it.
chunks, it was supposed to cause a slowdown, but i never noticed it on my old geforce 4......
anisotropic isn't that a problem.
its trilinear filtering which causes the slowdown but is no problem in Blitz3D which only uses bilinear.
would be nice to have as an option for the player I spose
what does Toms dll do? ive heard people talk about this before but ive never had a copy
Ok Found a post on toms dll, has he a upto date version because i dont want to go back to version 1.88