Jump to content

Pixel fighting in scene


photo

Recommended Posts

Hi, we're currently converting some of our existing content to use Unigine and we've found a couple of problems that we wanted some advice on.

The first problem is illustrated in video 1 (flickering.mp4). As we fly the camera along the track, there appears to be some pixel fighting on the track about 100m in front of the camera. Similarly there seems to be the same sort of problem on the buildings on the left and on the right. I initially thought it may be problem that the textures on the track contained only 1 mipmap level so in an attempt to fix the track problem, I modified these textures. However, even after modifying this, the problem still remains.

 

The second problem is shown in video 2. The edge definition in the overhead wires overhanging the track is inconsistent as you move along. This is more pronounced with light scattering turned on (as shown in the video) but still exists with it turned off.

 

Both videos are using Direct3d9 and have anti aliasing set to 8x, trilinear filtering, and anisotropy set to 16x. My graphics card is an NVidia 8800 GTX. Certainly modifying the antialiasing settings does help but the problems still remain. If you need any further information let me know.

graphics.zip

Link to comment

problem 1 : it is the texture mipmap problem, try using unigine's texture tool: imagedds

problem 2 : I have once met this kind of problem, but my problem is that material has parallax map, after I remove the parallax flag, everything was fine.

Link to comment

Hi Craig, Steve and others.

Some follow-up on this problem.

 

It would seem that the LightScattering pixel shader may be interferring with the AA deferred rendering pass? Is there a masking method or similar we could use to minimize this effect? Or can we force the AA pass before the LightScattering pass (this may introduce other artefacts I suspect)? Or.. maybe we should add our own line/blur filter to the light scattering shader routine?

 

Any suggestions to help improve this issue would be great.

Thanks,

Link to comment
  • 2 weeks later...

It would seem that the LightScattering pixel shader may be interferring with the AA deferred rendering pass? Is there a masking method or similar we could use to minimize this effect? Or can we force the AA pass before the LightScattering pass (this may introduce other artefacts I suspect)? Or.. maybe we should add our own line/blur filter to the light scattering shader routine?

LightScattering does not work good with AA on DirectX 9 level hardware. It cannot be bypassed as it is a hardware restriction. To get rid of this artifact, try using higher-level APIs (DirectX 10/11 or corresponding OpenGL versions).

Link to comment
×
×
  • Create New...