Strange shader bug
by Greg Houston · in Torque Game Engine Advanced · 08/19/2004 (6:43 pm) · 14 replies
Ok, I'm not the best at explaining things so I'm going to try my best here. I currently have two TSE executable files on my hard-drive. One is TSE_Demo, and it came along with the publicly available demo for the Torque Shader Engine. The other is simply TSE, and it was created in my /tse/example folder after compiling the engine from the current HEAD. Now when I run the TSE_Demo application, using the resources that came along with it, everything displays correctly and works beautifully. When I ran the TSE application I compiled myself (from the current HEAD as well as previous revisions) everything works ok until I come across the Blob object with per-pixel refraction. In the TSE_Demo the blob looks great, as can be seen in this screen:
www.oes-mod.org/pdf/good.jpeg
In the TSE.exe, the one I compiled from the HEAD, it runs into a strange bug causing it to be rendered to the screen looking like this:
www.oes-mod.org/pdf/bad.jpeg
Now I at first thought it was a shader/material/texture issue. So I moved the TSE_Demo application from it's default folder, into the /tse/example/ folder which had been created while retrieving TSE from cvs. I then moved TSE.exe from it's default folder (/tse/example/) into the folder that had previously been home to TSE_Demo.exe. I ran both applications from their new locations, and saw that the exact same error was showing up just as it had before. Everything was fine while running TSE_Demo.exe, even with the resources I had retrieved from cvs. However, TSE.exe showed odd results with the Blob and per-pixel refraction using the resources that came along with TSE_Demo.exe (which I downloaded from this site). As before, everything else was fine. So basically, I'm guessing it's not an error with shaders, materials, or textures, but is instead something in the source code itself. I'm not sure exactly what version of the source on cvs was used to compile TSE_Demo.exe, or I'd look for errors myself? Does anyone have any idea what may be wrong here? If not, does anyone know where I can acquire the source code used to compile TSE_Demo.exe? Thanks a lot guys. This is my first real post here by the way, so forgive me if I've done anything wrong, over-explained, or seemed critical. I love TSE and am very excited about it's future :)
Edit: I forgot to add what sort of card I currently have. I'm running on an ATi Radeon 9700 Pro, with driver version 4.8 (although I have tried quite a few other versions as well).
www.oes-mod.org/pdf/good.jpeg
In the TSE.exe, the one I compiled from the HEAD, it runs into a strange bug causing it to be rendered to the screen looking like this:
www.oes-mod.org/pdf/bad.jpeg
Now I at first thought it was a shader/material/texture issue. So I moved the TSE_Demo application from it's default folder, into the /tse/example/ folder which had been created while retrieving TSE from cvs. I then moved TSE.exe from it's default folder (/tse/example/) into the folder that had previously been home to TSE_Demo.exe. I ran both applications from their new locations, and saw that the exact same error was showing up just as it had before. Everything was fine while running TSE_Demo.exe, even with the resources I had retrieved from cvs. However, TSE.exe showed odd results with the Blob and per-pixel refraction using the resources that came along with TSE_Demo.exe (which I downloaded from this site). As before, everything else was fine. So basically, I'm guessing it's not an error with shaders, materials, or textures, but is instead something in the source code itself. I'm not sure exactly what version of the source on cvs was used to compile TSE_Demo.exe, or I'd look for errors myself? Does anyone have any idea what may be wrong here? If not, does anyone know where I can acquire the source code used to compile TSE_Demo.exe? Thanks a lot guys. This is my first real post here by the way, so forgive me if I've done anything wrong, over-explained, or seemed critical. I love TSE and am very excited about it's future :)
Edit: I forgot to add what sort of card I currently have. I'm running on an ATi Radeon 9700 Pro, with driver version 4.8 (although I have tried quite a few other versions as well).
#2
08/20/2004 (7:15 pm)
Im getting the same problem on the same card as kevin. fx5900 with 128 megs and the latest drivers.
#3
Are you guys also seeing a problem with the orange blob? Or the sphere tendrils?
08/24/2004 (1:32 pm)
We aren't seeing the problem here. I'm not at head yet though, I've got my hands full with XBox stuff for another week. Are you guys running with the new Summmer Update SDK by any chance? We haven't updated yet and there could very well be a problem there. I don't recall any recent changes to the shader generation code, so I'm not sure where this problem is coming from.Are you guys also seeing a problem with the orange blob? Or the sphere tendrils?
#4
The orange blob looks fine to me, but the blue blob is more of a white glow:

The tendrils also look fine to me:

I've re-checked on the demo and the blue blob looks fine there.
08/24/2004 (3:05 pm)
I'm seeing the same problem on HEAD. I'm using a mobility radeon 9700.The orange blob looks fine to me, but the blue blob is more of a white glow:

The tendrils also look fine to me:

I've re-checked on the demo and the blue blob looks fine there.
#5
08/27/2004 (12:36 pm)
Can any of you having problems please confirm which version of the DirectX SDK you are using? Thanks.
#6
I wouldn't bother porting to 9.0c any time soon as it sadly has a number of bugs and incompatibility issues. As a result I would be suprised if TSE works for DX9.0c at all!
The main issue seems to be that the DX team have changed interface names, parameters and in some instances basic functionality (rotating sprites is broken for instance!)
I contacted microsoft who informed me that a patch is forthcoming, though they couldn't give a date on it. The issue is further compounded by the fact that the end user runtime does not appear to have many of the bugs present in the sdk.
Anyone who has an early adopter license I would strongly recommend you don't upgrade to 9.0c until it is patched or 9.0d suddenly appears :oP
08/27/2004 (3:25 pm)
@BrianI wouldn't bother porting to 9.0c any time soon as it sadly has a number of bugs and incompatibility issues. As a result I would be suprised if TSE works for DX9.0c at all!
The main issue seems to be that the DX team have changed interface names, parameters and in some instances basic functionality (rotating sprites is broken for instance!)
I contacted microsoft who informed me that a patch is forthcoming, though they couldn't give a date on it. The issue is further compounded by the fact that the end user runtime does not appear to have many of the bugs present in the sdk.
Anyone who has an early adopter license I would strongly recommend you don't upgrade to 9.0c until it is patched or 9.0d suddenly appears :oP
#7
The SDK on my system is DirectX 9.0b, with build revision number 9.00.0900. I'll try 9.0c and see if I have any better luck. Or worse luck, if what Peter has to say is true!
08/27/2004 (8:45 pm)
@BrianThe SDK on my system is DirectX 9.0b, with build revision number 9.00.0900. I'll try 9.0c and see if I have any better luck. Or worse luck, if what Peter has to say is true!
#8
08/28/2004 (3:50 am)
I've rebuilt on the DirectX 9.0c final, otherwise known as "DirectX 9.0 SDK Update (Summer 2004)". It works great now. Problem solved!
#9
08/28/2004 (10:30 am)
I too have rebuilt using the DirectX 9.0 SDK Update (Summer 2004)and it's working perfectly. Problem solved for me as well!
#10
Micro$oft have confirmed the bugs in 9.0c but, if it works for you good luck.
08/29/2004 (3:04 pm)
Hmmm what drivers are you using for your cards? I had exactly the opposite problem when I compiled with 9.0c as anything that tries to use fixed funstion fails miserably and often in quite spectacular ways.Micro$oft have confirmed the bugs in 9.0c but, if it works for you good luck.
#11
Since ATi don't provide drivers for laptops I'm using a recent Omega driver numbered: rad_w2kxp_omega_2558_7z.exe
You can find them on www.omegadrivers.net
08/30/2004 (12:39 am)
@PeterSince ATi don't provide drivers for laptops I'm using a recent Omega driver numbered: rad_w2kxp_omega_2558_7z.exe
You can find them on www.omegadrivers.net
#12
08/30/2004 (2:13 am)
Thanks Zik I'll give them a try. I have 9.0b on my desktop but 9.0c on my laptop. My laptop is the one that refuses to compile anything with shaders in it (even the dx9.0b examples don't work with 9.0c!)
#13
09/01/2004 (2:26 pm)
Summer update did the trick for me...Thanx guys
#14
09/02/2004 (5:22 am)
I upgraded to DX9.0c (Summer update 2004) and i have no problems whatsoever.
Torque Owner Kevin Johnson