This was found as a result of Licensees doing a Code Review of the Engine code. Here's the code snippet in question. It seems to be missing a line similar to Vertex->TangentY = InTangentY;.:
int32 FDynamicMeshBuilder::AddVertex( const FVector& InPosition, const FVector2D& InTextureCoordinate, const FVector& InTangentX, const FVector& InTangentY, const FVector& InTangentZ, const FColor& InColor ) { int32 VertexIndex = VertexBuffer->Vertices.Num(); FDynamicMeshVertex* Vertex = new(VertexBuffer->Vertices) FDynamicMeshVertex; Vertex->Position = InPosition; Vertex->TextureCoordinate[0] = InTextureCoordinate; Vertex->TangentX = InTangentX; Vertex->TangentZ = InTangentZ; Vertex->TangentZ.Vector.W = GetBasisDeterminantSignByte( InTangentX, InTangentY, InTangentZ ); Vertex->Color = InColor; return VertexIndex; }
This was tested in //UE4/Release-4.25 @ CL 14854745 and the code looks the same there, so not a Regression.
RESULT:
The InTangentY variable is declared but never given a value
EXPECTED:
Like the InTangentX and InTangentY variables, InTangentY would have a value passed to it
How does TextureRenderTarget2D get TArray<uint8> type data?
How would I go about lerping the rotation instead of it snapping when turning (pls dont sue me epic)
How do I set a material as a post-processing material?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the difference between Camera and CineCamera?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-109991 in the post.
1 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.25plus, 4.26 |
Target Fix | 5.0 |
Created | Mar 4, 2021 |
---|---|
Resolved | Sep 1, 2021 |
Updated | Apr 27, 2022 |