RVT display different color

Hi community, I’m experiencing something strange with RVT. (in 426/427)
Colors writed and redrawn on landscape using RVT are differents.

I’v created a material who write a color in RVT and display or not (depending of the lerp) the color directly or the RVT. (the result should be the same)

The issue is more visible in unlit and with dark colors :

  • Issue appear with AND without YCoCg
  • (TangentSpaceNormal disabled, fresh project, default scene)

Here is the lite project (4.27) :
RVTIssue.zip (2.3 MB)

Someone has a fix or something ? Thank you :slight_smile:

Hey!

This could be a result from compression (BC1) perhaps.

Looking at the documentation of RVT’s: Runtime Virtual Texturing | Unreal Engine Documentation

And the documentation for BC1 compression: Block Compression (Direct3D 10) - Win32 apps | Microsoft Docs

Digging a little further I see that Only the lower values ( darker colors) show a slight discernable color difference, which seems to be related to texture compression artefacts as texturecompression often chooses to loose details/color accuracy in dark tints as they are less discernable to our eyes.

This happens with both the RVT asset and sampler set to “Base Color” and “YCoCg”, so I am pretty sure you can’t work around it.

A question that I have for you is:
Do you really need these colors to be 1:1 accurate to each other?

Kay

My understanding/experience is that you will never get a 1:1 fidelity.

This is even doc’d:

By default, the Base Color is stored as RGB and compressed to BC1. This type of encoding can lead to color shifts and banding in the stored data. This is most apparent with Base Color data that has smooth gradients. The YCoCg material type helps reduce these types of artifacts. However, using it comes at the cost of 25% extra memory and some additional performance sampling and decoding of the virtual texture data.