Artifacts; Global Illumination, local lights, processing volumes, etc..

+
I don't know where to report/discuss bugs, issues, etc. Technical seemed fitting; Inform me or move the thread if needed, please.

I'm not sure it's been brought up, but the GI system creates considerable artifacts during sunny,mostly sunny, polluted, and mostly cloudy weather. Anytime the sun is out, creating an opportunity indirect illumination, there is a very noticeable triangulated breakup in the bounce light that makes it look like the normals have broken. I know that's not the case because then everything would look this way all the time. it's only present when it's sunny, and I tested further by turning GI off.

When GI is turned off though; many of the local lights(especially those under overpasses, bridges, arches, etc) have an almost solid black box around themselves cast on the nearby geometry - again, during the day. At night this issue isn't present whether GI is turned on or off because the sun gone. This is everywhere, especially outside of V's apartment.

Perhaps related; the NCART elevator.. yet again outside V's apartment. When the player approaches it; the object turns nearly solid black and not evenly. It's almost as if there is a post-processing volume (I'm using UE4 terms to describe something I can't understand, please forgive me) attempting to dim the player view of the outside when entering the elevator but this isn't working. I'm a pre-production artist, and my experience with UE4 (a completely different engine) is limited, so I wouldn't really know what terms accurately describe the systems present or not. Turning on RT lighting, alleviates the issues in certain areas to some extent, but they're still there and that's a big performance demand just to barely fix an issue that shouldn't be present.

I really love this game. I'm happy it's sold well and look forward to the team working on it more. I've seen perhaps one video on youtube even mention this briefly, so it seemed fitting to try and get eyes on this because it really does spoil the experience.
 

Attachments

  • GIArtifacts (1).png
    GIArtifacts (1).png
    4.4 MB · Views: 120
  • GIArtifacts (2).png
    GIArtifacts (2).png
    4.5 MB · Views: 122
  • GIArtifacts (3).png
    GIArtifacts (3).png
    4.9 MB · Views: 105
  • GIArtifacts (5).png
    GIArtifacts (5).png
    4.6 MB · Views: 93
  • GIArtifacts (6).png
    GIArtifacts (6).png
    4.3 MB · Views: 91
  • GIArtifacts (7).png
    GIArtifacts (7).png
    4.7 MB · Views: 89
  • GIArtifacts (8).png
    GIArtifacts (8).png
    4.5 MB · Views: 100
  • Volume Error.png
    Volume Error.png
    4.7 MB · Views: 88
  • VolumeErrorRT.png
    VolumeErrorRT.png
    4.7 MB · Views: 124
GI is borked all across the game in every geometry that is a building, an overpass, a road, a bridge, etc.
Normally, GI transport parts of the source light to surfaces to make them reflect a certain amount so it can create natural bouncing and refraction that change with the angle and intensity of the light source. BUT in CP77, the GI never change its intensity or direction.
I stood in one spot on the map, skipping a few hours at the time, from day to night and the illumination never changed in intensity or direction, as if it's casted from the geometry that it should be applied to and not casted from the light source to the geometry itself.

It's especially egregious in interiors, making objects overly glow that should be not receiving any bouncing light or at least a very limited amount - Visit the interiors of shacks in Japan town during day time to see it.

I am currently using a mod to disable GI during gameplay, and all those artifacts you are showing in your pictures disappear; although it removes a portion of bouncing light that gives "some" rightful depth and proper refracted light to some objects, it also correct the over glowing effect on objects and the intrusion of light in areas that should not be receiving it.

------------

Another light system that is just half borked is Local shadows which casts real time shadows from different light sources. There is plenty of example around the Trauma Team building. There is a lot of light sources there and some cast shadow properly and some cast very pixelated shadow, as if the resolution is 10 times lower that it should be.
 
There have been quite a few lighting issues going back to 1.1:


I think these are not related to rtx but rather local (point) lights. I haven't looked at environment geometry yet but where you get strange shadows as in the first picture, my first thought was to check the face normals.

A triangular face has a normal vector derived from the normal vectors of the vertices making up the points of the triangle. If one of the vertex normals is pointing inwards while the other 2 are pointing outwards, your face normal will look weird when lit and it wont shade smoothly. You can get get strange lighting artefacts when you move a light source around it. I see this a lot on hair meshes which are very non-manifold, so problems like this can occur very easily and are very visible:

1635756261332.png


What you see above is a single hair card from Judy's hair mesh. Half way down you can see a shading artefact on the edge where the face normal flips. Below is another example showing multiple cards with this problem:

1635756393528.png


And below you can see the face orientation, showing where the inversion happens:

1635756428170.png


If I select a triangle and flip its face normal, then recalculate normal vectors, I get this:

1635756574016.png


Look familiar maybe?

With environment geometry, the difficult thing in game is the sun is constantly moving across the sky. In RTX it behaves like a giant area light. If environment geometry has a bad face normal, you won't necessarily see it for most of the day, until the sun is in the right position in the sky to light the object at the right angle.

And you wont know for sure until you look at the mesh in 3DS Max/Blender or whatever and check if you have any geometry where an edge is made between 2 vertices, one with an inward pointing normal vector and the other with an outward pointing normal vector. There are other situations where you can set custom vertex normals if you want an object to be shaded in a very particular way. When we talk about lighting geometry, we do it by taking the dot product of 2 vectors: the light vector and the vertex normal. If the vertex normal is pointing in the exact same direction as the light vector, the pixel at this point will be fully lit.
 
Last edited:
There have been quite a few lighting issues going back to 1.1:


I think these are not related to rtx but rather local (point) lights. I haven't looked at environment geometry yet but where you get strange shadows as in the first picture, my first thought was to check the face normals.

A triangular face has a normal vector derived from the normal vectors of the vertices making up the points of the triangle. If one of the vertex normals is pointing inwards while the other 2 are pointing outwards, your face normal will look weird when lit and it wont shade smoothly. You can get get strange lighting artefacts when you move a light source around it. I see this a lot on hair meshes which are very non-manifold, so problems like this can occur very easily and are very visible:

View attachment 11262202

What you see above is a single hair card from Judy's hair mesh. Half way down you can see a shading artefact on the edge where the face normal flips. Below is another example showing multiple cards with this problem:

View attachment 11262208

And below you can see the face orientation, showing where the inversion happens:

View attachment 11262211

If I select a triangle and flip its face normal, then recalculate normal vectors, I get this:

View attachment 11262214

Look familiar maybe?

With environment geometry, the difficult thing in game is the sun is constantly moving across the sky. In RTX it behaves like a giant area light. If environment geometry has a bad face normal, you won't necessarily see it for most of the day, until the sun is in the right position in the sky to light the object at the right angle.

And you wont know for sure until you look at the mesh in 3DS Max/Blender or whatever and check if you have any geometry where an edge is made between 2 vertices, one with an inward pointing normal vector and the other with an outward pointing normal vector. There are other situations where you can set custom vertex normals if you want an object to be shaded in a very particular way. When we talk about lighting geometry, we do it by taking the dot product of 2 vectors: the light vector and the vertex normal. If the vertex normal is pointing in the exact same direction as the light vector, the pixel at this point will be fully lit.
Wow. To correct these seems to be a tremendous task since those problems are found everywhere. I hope they do because it"s really off putting.
The first one I have ever noticed was in V"s apartment left side of the door.
 
I don't know if it is. Its just a theory at this point. Geometry is just the other half of lighting a scene in a game. If I see really funky shadows on my 3D models, my first port of call is to check the mesh geometry for non manifolds, sharp edges, doubled vertices etc since these can all cause shading abberations. Really obvious problems with face/vertex normals can be seen clearly in shaded view (no materials).
 
So, from your experience, how difficult or time consuming would it be to correct all of these inverted normals?
 
1635813706386.png


This is the first time I've looked at environment meshes. So there are no edges corresponding to those triangular shadows in image 1. These meshes are: common_megabuilding_exterior_foot_a.mesh and common_megabuilding_exterior_foot_b.mesh.

1635813914254.png


Very efficient geometry as expected, since it consists of lots of flat surfaces, with most of the geometry in the bevels. No edges where you are seeing shadow artefacts. Non manifold edges highlighted below:

1635814140049.png


So I think this asset can be ruled out. Megabuilding exteriors are composed of dozens upon dozens of meshes, most of it panelized like single wall sections that repeat. So perhaps it could be a panel mesh z fighting with this one? You would have to check all the exterior megabuilding meshes too.

It could also be an aberrant shadow cast by the shadow mesh of another building in the immediate vicinity. This is a needle in a haystack if I'm honest. Game dev is hard. This is why I work in legal.
 
One thing that alleviates this issue is extending the RTAO radius using Cyber Engine Tweaks for instance., always assuming you enabled RTGI.

BUT... The more you extend the radius, the darker some areas will turn, making almost impossible to see things even at noon, in indirectly lit/dark areas.

In any case, I also really don't like that too. I've already reported it but I don't know if they can actually fix it. Probably it's because they use a hybrid GI solution (prebaked/real time) which cannot be 100% accurate all the time, producing those kind of artifacts. But I am no expert.
 
Top Bottom