Game Development Community

T3D 1.1 Beta 2 - Terrain Material Blending Issue - LOGGED

by Henri Aalto · in Torque 3D Professional · 08/18/2010 (3:35 pm) · 8 replies

When I paint with more than 3 materials within the same terrain segment with Advanced Lighting enabled the blending becomes "grey-washed".

Most likely the issue is related to the fact I'm using Mobility Radeon GPUs, I don't know whether this issue is present with any other GPUs.

OS: Windows 7 x64
GPU: Mobility Radeon 5870 / July Drivers (10-7_mobility_vista_win7_64_dd_ccc.exe)
- Catalyst Settings: all set to "Application Control" except for Catalyst AI which is disabled
- Engine Graphics Settings: Auto Detect (High / High / High)
DirectX SDK: June 2010

Running the T3D 1.1b2 out-of-the box (i.e. I have not re-compiled the engine from the source code or anything)

1) Making new terrain (256x256) and painting a mountain on it
2) Assigning 4 basic materials
1) Desert: diffuse & detail
2) Cliff_horizontal: diffuse & detail & normal (displacement on Alpha-channel)
3) Cliff_vertical: diffuse & detail & normal (displacement on Alpha-channel); side projection
4) Rocks: diffuse & detail
*) All the materials are using the same Diffuse texture (i.e. it is a noise map)

3) Painting the terrain with the materials, everything ok with the first three materials in use
i177.photobucket.com/albums/w204/hkaalto/Bugs3/Adv_light_3_materials.jpg
4) Adding fourth material to the same terrain block seems to mess up the blending between the others; in "Basic Lighting" mode everything is fine
i177.photobucket.com/albums/w204/hkaalto/Bugs3/Adv_light_4_materials-1.jpgi177.photobucket.com/albums/w204/hkaalto/Bugs3/Basic_light_4_materials-2.jpg
5) Removing one of the materials (e.g. I removed the 1st material called "Desert") fixes the blending issue
i177.photobucket.com/albums/w204/hkaalto/Bugs3/Adv_light_back_to_3_materials-1.jpg
6) Same problem has been evident with all earlier versions of the engine with my Mobility Radeons (venerable x1600 and the new 5870) regardless of Catalyst/DirectX/T3D/OS version (XP/W7)






#1
08/18/2010 (5:29 pm)
Currently on a ATI x1950 duo and I'm not getting this, catalyst 10.2
#2
08/18/2010 (6:32 pm)
Yup, that's what I suspected as I would suppose such an issue would have been reported earlier.

There seems to be something fundamentally different with the Mobility Radeons, maybe its the number of pipelines being detected or some blending mode default (?)

Anyways, the issue has been always present with the T3D engine and my Mobility Radeons.
#3
08/19/2010 (6:44 pm)
Logged as TQA-833 for the QA team to verify.
#4
08/19/2010 (9:59 pm)
@Henri

Most likely this is an issue with the back buffer format used for the prepass in AL. We need a blend enabled format so that normals from subsequent shader passes on the terrain can be applied in a second or third pass.

It seems like it couldn't find a blend enabled format... either because one is not supported or because the driver is reporting it wrong.

First... does it happen in Basic Lighting?
#5
08/20/2010 (7:06 am)
With basic lighting it blends correctly in the described scenario (see third picture). I don't know whether the issue arises in basic if I increase the number of textures significantly.
#6
09/03/2010 (3:29 pm)
@Henri
Are there any errors in the console at all when it occurs? We haven't been able to reproduce this so far.
#7
09/03/2010 (7:37 pm)
Hmph, how silly of me NOT to look into the logs earlier :P

When the actual error happens nothing is logged but there is something (minor?) during GPU initialization:

--------- Parsing Arguments ---------
Binding server port to default IP
UDP initialized on port 0
Attempting to create GFX device: ATI Mobility Radeon HD 5800 Series (D3D9)
Device created, setting adapter and enumerating modes
Cur. D3DDevice ref count=1
Pix version detected: 3.000000
Vert version detected: 3.000000
Maximum number of simultaneous samplers: 16
Number of simultaneous render targets: 4
Hardware occlusion query detected: Yes
Using Direct3D9Ex: No
WMIVideoInfo: DxDiag initialized
Initializing GFXCardProfiler (D3D9)
o Chipset : 'ATI Technologies Inc.'
o Card : 'Mobility Radeon HD 5800'
o Version : '8.17.0010.1036'
- Scanning card capabilities...
GFXCardProfiler (D3D9) - Setting capability 'autoMipMapLevel' to 1.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureWidth' to 16384.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureHeight' to 16384.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureSize' to 16384.
GFXCardProfiler (D3D9) - Setting capability 'lerpDetailBlend' to 1.
GFXCardProfiler (D3D9) - Setting capability 'fourStageDetailBlend' to 1.
- Loading card profiles...
- Loaded card profile core/profile/D3D9.cs
- Loaded card profile core/profile/D3D9.ATITechnologiesInc.cs
<input> (0): Unable to find function GFXCardProfiler::getVersion
- No card profile core/profile/D3D9.ATITechnologiesInc.MobilityRadeonHD5800.cs exists
- No card profile core/profile/D3D9.ATITechnologiesInc.MobilityRadeonHD5800.81700101036.cs exists
% - PostFX Manager - Executing core/scripts/client/postFx/default.postfxpreset.cs
% - PostFX Manager - Applying from preset
% - PostFX Manager - PostFX enabled
% - Initialized Core
#8
08/05/2012 (9:08 am)
Ops wrong thread... Sorry.