2014-03-14 14:13:41 -04:00
|
|
|
// Copyright (C) 2009 Nine Realms, Inc
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
#include "CoreMinimal.h"
|
2022-09-11 18:32:18 -04:00
|
|
|
#include "UnrolledLinkList.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
|
|
|
|
|
template< typename T > class TSimpTri;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
enum ESimpElementFlags
|
|
|
|
|
{
|
|
|
|
|
SIMP_DEFAULT = 0,
|
|
|
|
|
SIMP_REMOVED = 1 << 0,
|
|
|
|
|
SIMP_MARK1 = 1 << 1,
|
|
|
|
|
SIMP_MARK2 = 1 << 2,
|
|
|
|
|
SIMP_LOCKED = 1 << 3,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
class TSimpTri;
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
class TSimpVert
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
TSimpVert();
|
|
|
|
|
|
2021-05-05 15:07:25 -04:00
|
|
|
FVector3f& GetPos() { return vert.GetPos(); }
|
|
|
|
|
const FVector3f& GetPos() const { return vert.GetPos(); }
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
float* GetAttributes() { return vert.GetAttributes(); }
|
|
|
|
|
const float* GetAttributes() const { return vert.GetAttributes(); }
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// this vert
|
|
|
|
|
void EnableFlags( uint32 f );
|
|
|
|
|
void DisableFlags( uint32 f );
|
|
|
|
|
bool TestFlags( uint32 f ) const;
|
|
|
|
|
|
|
|
|
|
void EnableAdjVertFlags( uint32 f );
|
|
|
|
|
void DisableAdjVertFlags( uint32 f );
|
|
|
|
|
|
|
|
|
|
void EnableAdjTriFlags( uint32 f );
|
|
|
|
|
void DisableAdjTriFlags( uint32 f );
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
template< typename Allocator >
|
|
|
|
|
void FindAdjacentVerts( TArray< TSimpVert<T>*, Allocator >& adjVerts );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// all verts in group
|
|
|
|
|
void EnableFlagsGroup( uint32 f );
|
|
|
|
|
void DisableFlagsGroup( uint32 f );
|
|
|
|
|
//bool TestFlagsGroup( uint32 f ) const;
|
|
|
|
|
|
|
|
|
|
void EnableAdjVertFlagsGroup( uint32 f );
|
|
|
|
|
void DisableAdjVertFlagsGroup( uint32 f );
|
|
|
|
|
|
|
|
|
|
void EnableAdjTriFlagsGroup( uint32 f );
|
|
|
|
|
void DisableAdjTriFlagsGroup( uint32 f );
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
template< typename Allocator >
|
|
|
|
|
void FindAdjacentVertsGroup( TArray< TSimpVert<T>*, Allocator >& adjVerts );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
typedef TUnrolledLinkList< TSimpTri<T>*, 8 > TriList;
|
|
|
|
|
typedef typename TriList::TIterator TriIterator;
|
|
|
|
|
|
|
|
|
|
// other verts sharing same point grouped
|
|
|
|
|
TSimpVert<T>* next;
|
|
|
|
|
TSimpVert<T>* prev;
|
|
|
|
|
|
|
|
|
|
// bitfield of ESimpElementFlags
|
|
|
|
|
uint32 flags;
|
|
|
|
|
|
|
|
|
|
T vert;
|
|
|
|
|
|
|
|
|
|
// Adjacent triangles, all triangles which reference this vert
|
|
|
|
|
// TODO could be link list of index buffer elements
|
|
|
|
|
// /3 gives tri index
|
|
|
|
|
TriList adjTris;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
class TSimpTri
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
TSimpTri()
|
|
|
|
|
: flags( SIMP_DEFAULT )
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void EnableFlags( uint32 f );
|
|
|
|
|
void DisableFlags( uint32 f );
|
|
|
|
|
bool TestFlags( uint32 f ) const;
|
|
|
|
|
|
|
|
|
|
bool HasVertex( const TSimpVert<T>* v ) const;
|
2021-05-05 15:07:25 -04:00
|
|
|
FVector3f GetNormal() const;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2021-05-05 15:07:25 -04:00
|
|
|
bool ReplaceVertexIsValid( const TSimpVert<T>* oldV, const FVector3f& pos ) const;
|
2014-03-14 14:13:41 -04:00
|
|
|
void ReplaceVertex( TSimpVert<T>* oldV, TSimpVert<T>* newV );
|
|
|
|
|
|
|
|
|
|
TSimpVert<T>* verts[3];
|
|
|
|
|
|
|
|
|
|
// bitfield of ESimpElementFlags
|
|
|
|
|
uint32 flags;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
class TSimpEdge
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
TSimpEdge();
|
|
|
|
|
|
|
|
|
|
void EnableFlags( uint32 f );
|
|
|
|
|
void DisableFlags( uint32 f );
|
|
|
|
|
bool TestFlags( uint32 f ) const;
|
|
|
|
|
|
|
|
|
|
// Edge group
|
|
|
|
|
// Link list of all edges sharing the same end points, different attributes.
|
|
|
|
|
// Need multiple edges to know which in both vert groups are connected.
|
|
|
|
|
TSimpEdge* next;
|
|
|
|
|
TSimpEdge* prev;
|
|
|
|
|
|
|
|
|
|
TSimpVert<T>* v0;
|
|
|
|
|
TSimpVert<T>* v1;
|
|
|
|
|
|
|
|
|
|
// bitfield of ESimpElementFlags
|
|
|
|
|
uint32 flags;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//=============
|
|
|
|
|
// TSimpVert
|
|
|
|
|
//=============
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE TSimpVert<T>::TSimpVert()
|
|
|
|
|
: flags( SIMP_DEFAULT )
|
|
|
|
|
{
|
|
|
|
|
next = this;
|
|
|
|
|
prev = this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags |= f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags &= ~f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE bool TSimpVert<T>::TestFlags( uint32 f ) const
|
|
|
|
|
{
|
|
|
|
|
return ( flags & f ) == f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableAdjVertFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
|
|
|
|
{
|
|
|
|
|
for( int j = 0; j < 3; j++ )
|
|
|
|
|
{
|
|
|
|
|
(*i)->verts[j]->EnableFlags(f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableAdjVertFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
|
|
|
|
{
|
|
|
|
|
for( int j = 0; j < 3; j++ )
|
|
|
|
|
{
|
|
|
|
|
(*i)->verts[j]->DisableFlags(f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableAdjTriFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
|
|
|
|
{
|
|
|
|
|
(*i)->EnableFlags(f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableAdjTriFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
|
|
|
|
{
|
|
|
|
|
(*i)->DisableFlags(f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
template< typename Allocator >
|
|
|
|
|
void TSimpVert<T>::FindAdjacentVerts( TArray< TSimpVert<T>*, Allocator >& adjVerts )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
// fill array
|
|
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
|
|
|
|
{
|
|
|
|
|
for( int j = 0; j < 3; j++ )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert* v = (*i)->verts[j];
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
if( v != this )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
adjVerts.AddUnique(v);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->EnableFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->DisableFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableAdjVertFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->EnableAdjVertFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableAdjVertFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->DisableAdjVertFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::EnableAdjTriFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->EnableAdjTriFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpVert<T>::DisableAdjTriFlagsGroup( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
|
|
|
|
v->DisableAdjTriFlags( f );
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
template< typename Allocator >
|
|
|
|
|
void TSimpVert<T>::FindAdjacentVertsGroup( TArray< TSimpVert<T>*, Allocator >& adjVerts )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
// fill array
|
|
|
|
|
TSimpVert<T>* v = this;
|
|
|
|
|
do {
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
for( TriIterator i = adjTris.Begin(); i != adjTris.End(); ++i )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
for( int j = 0; j < 3; j++ )
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
TSimpVert* TriVert = (*i)->verts[j];
|
|
|
|
|
if( TriVert != v )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
adjVerts.AddUnique( TriVert );
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
v = v->next;
|
|
|
|
|
} while( v != this );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//=============
|
|
|
|
|
// TSimpTri
|
|
|
|
|
//=============
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpTri<T>::EnableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags |= f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpTri<T>::DisableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags &= ~f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE bool TSimpTri<T>::TestFlags( uint32 f ) const
|
|
|
|
|
{
|
|
|
|
|
return ( flags & f ) == f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE bool TSimpTri<T>::HasVertex( const TSimpVert<T>* v ) const
|
|
|
|
|
{
|
|
|
|
|
return ( v == verts[0] || v == verts[1] || v == verts[2] );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
2021-05-05 15:07:25 -04:00
|
|
|
FORCEINLINE FVector3f TSimpTri<T>::GetNormal() const
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2021-05-05 15:07:25 -04:00
|
|
|
FVector3f n = ( verts[2]->GetPos() - verts[0]->GetPos() ) ^ ( verts[1]->GetPos() - verts[0]->GetPos() );
|
2014-03-14 14:13:41 -04:00
|
|
|
n.Normalize();
|
|
|
|
|
return n;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
2021-05-05 15:07:25 -04:00
|
|
|
FORCEINLINE bool TSimpTri<T>::ReplaceVertexIsValid( const TSimpVert<T>* oldV, const FVector3f& pos ) const
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
checkSlow( oldV );
|
|
|
|
|
checkSlow( oldV == verts[0] || oldV == verts[1] || oldV == verts[2] );
|
|
|
|
|
|
|
|
|
|
uint32 k;
|
|
|
|
|
if( oldV == verts[0] )
|
|
|
|
|
k = 0;
|
|
|
|
|
else if( oldV == verts[1] )
|
|
|
|
|
k = 1;
|
|
|
|
|
else
|
|
|
|
|
k = 2;
|
|
|
|
|
|
2021-05-05 15:07:25 -04:00
|
|
|
const FVector3f& v0 = verts[k]->GetPos();
|
|
|
|
|
const FVector3f& v1 = verts[ k = (1 << k) & 3 ]->GetPos();
|
|
|
|
|
const FVector3f& v2 = verts[ k = (1 << k) & 3 ]->GetPos();
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2021-05-05 15:07:25 -04:00
|
|
|
const FVector3f d21 = v2 - v1;
|
|
|
|
|
const FVector3f d01 = v0 - v1;
|
|
|
|
|
const FVector3f dp1 = pos - v1;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2021-05-05 15:07:25 -04:00
|
|
|
FVector3f n0 = d01 ^ d21;
|
|
|
|
|
FVector3f n1 = dp1 ^ d21;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
return (n0 | n1) > 0.0f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpTri<T>::ReplaceVertex( TSimpVert<T>* oldV, TSimpVert<T>* newV )
|
|
|
|
|
{
|
|
|
|
|
checkSlow( oldV && newV );
|
|
|
|
|
checkSlow( oldV == verts[0] || oldV == verts[1] || oldV == verts[2] );
|
|
|
|
|
checkSlow( newV != verts[0] && newV != verts[1] && newV != verts[2] );
|
|
|
|
|
|
|
|
|
|
if( oldV == verts[0] )
|
|
|
|
|
verts[0] = newV;
|
|
|
|
|
else if( oldV == verts[1] )
|
|
|
|
|
verts[1] = newV;
|
|
|
|
|
else
|
|
|
|
|
verts[2] = newV;
|
|
|
|
|
|
|
|
|
|
checkSlow( !HasVertex( oldV ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//=============
|
|
|
|
|
// TSimpEdge
|
|
|
|
|
//=============
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE TSimpEdge<T>::TSimpEdge()
|
|
|
|
|
: flags( SIMP_DEFAULT )
|
|
|
|
|
{
|
|
|
|
|
next = this;
|
|
|
|
|
prev = this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpEdge<T>::EnableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags |= f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE void TSimpEdge<T>::DisableFlags( uint32 f )
|
|
|
|
|
{
|
|
|
|
|
flags &= ~f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template< typename T >
|
|
|
|
|
FORCEINLINE bool TSimpEdge<T>::TestFlags( uint32 f ) const
|
|
|
|
|
{
|
|
|
|
|
return ( flags & f ) == f;
|
|
|
|
|
}
|