2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2015-10-28 19:18:20 -04:00
/*=============================================================================
MeshRendering . cpp : Mesh rendering implementation .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
# include "MeshRendering.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
# include "EngineDefines.h"
# include "ShowFlags.h"
# include "RHI.h"
# include "RenderResource.h"
# include "HitProxies.h"
# include "RenderingThread.h"
# include "VertexFactory.h"
# include "TextureResource.h"
# include "PackedNormal.h"
# include "Engine/TextureRenderTarget2D.h"
# include "Misc/App.h"
# include "MaterialUtilities.h"
# include "Misc/FileHelper.h"
# include "RawMesh.h"
# include "SceneView.h"
# include "SkeletalMeshTypes.h"
2015-10-28 19:18:20 -04:00
# include "MeshBatch.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
# include "CanvasItem.h"
2015-10-28 19:18:20 -04:00
# include "CanvasTypes.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
# include "LocalVertexFactory.h"
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3227619)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3198996 on 2016/11/15 by Marc.Audy
BeginPlay calls will now be dispatched in a consistent order regardless of placed in persistent level, streamed in level, or dynamically spawned
AActor::BeginPlay is now protected, you should call DispatchBeginPlay instead.
#jira UE-21136
Change 3199019 on 2016/11/15 by Marc.Audy
Mark user-facing BeginPlay calls as protected
Change 3200128 on 2016/11/16 by Thomas.Sarkanen
Dont propgate threaded update flag from UAnimBluepint to CDO if we fail thread safety checks
Also fully deprecated (with _DEPRECATED) older flags in UAnimInstance.
#jira UE-38362 - Disable multi-threaded update when anim blueprints are not thread-safe
Change 3200133 on 2016/11/16 by Martin.Wilson
Fix Set Anim Instance Class not working on the second attempt (InitAnim would not be called)
#jira UE-18798
Change 3200167 on 2016/11/16 by Martin.Wilson
Newly added virtual bones are now selected in the skeleton tree
#jira UE-37776
Change 3200255 on 2016/11/16 by James.Golding
Stop SkeletalMeshTypes.h being globally included
Change 3200289 on 2016/11/16 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix Make sure that in PostEditChangeProp we reset the override material arrays
#misc changed a property comparison to use GET_MEMBER_NAME_CHECKED instead
#jira UE-38108
Change 3200291 on 2016/11/16 by Jurre.deBaare
Imported Alembic skeletal anims have cut-off shadow due to moving out of the bounds
#fix retrieve bounds from alembic archive at various levels (global, transform, meshes) and build archive bounds which is set on the animation sequence
#jira UE-37274
Change 3200293 on 2016/11/16 by Jurre.deBaare
Overlapping UV's cause merge actor texture baking issues
#fix Only look for overlapping UVs if vertex data baking is actually expected/enabled
#jira UE-37220
Change 3200294 on 2016/11/16 by Jurre.deBaare
Scrubbing Playback Speed under Geometry Cache in the details panel is too sensitive
#fix Make the UIMin/Max smaller than the clamping value for proper user interaction while sliding (thanks James for the tip!)
#jira UE-36679
Change 3200295 on 2016/11/16 by Jurre.deBaare
Merge Actor Specific LOD level can be set to 8
#fix Change clamping value and added UI clamp metadata
#jira UE-37134
Change 3200296 on 2016/11/16 by Jurre.deBaare
In Merge Actors if you select use specific Lod level you have access to all the merge material settings
#fix Added edit condition to non-grayed out material settings
#jira UE-36667
Change 3200303 on 2016/11/16 by Thomas.Sarkanen
Fixed diagonal current scrub value in anim curves
#jira UE-35787 - The red time indicator for viewing curves in persona is slightly tilted
Change 3200304 on 2016/11/16 by Thomas.Sarkanen
Rezero is now explicit about what it does (current vs. specified frame)
Also no longer ingores Z-offset (legacy feature - root motion can have any translation, not just 2D).
#jira UE-35985 - Rezero doesn't work by frame
Change 3200307 on 2016/11/16 by Thomas.Sarkanen
Add curve panel to anim BP editor
Also improve curve modification message routing. We were needlessly passing delegates up and down the widget hierarchy and conflating smart name edits with curve edits (key addition etc.).
#jira UE-35742 - Anim Curve Viewer allowed in Anim BP
Change 3200313 on 2016/11/16 by Jurre.deBaare
Animations with materials driven by scalar parameters from curves wont update until persona is closed and reopened
#fix in debug skeletal mesh component just mark the cached parameters dirty every tick
#jira UE-35786
Change 3200316 on 2016/11/16 by Jurre.deBaare
Converted Skeletal To Static Mesh Gets Corrupted When Merged
#fix Assume that the all static meshes will contain valid texture coordinates for channel 0 (which is expect by static mesh code as well)
#misc Ensure that we set the lightmap index for converted skeletal meshes to either an empty one or the highest one used
#jira UE-37988
Change 3200321 on 2016/11/16 by Jurre.deBaare
Scrolling/scroll bar are disabled in Alembic Import window if you scroll a certain way down
#fix change the way the layout is constructed
#jira UE-37260
Change 3200323 on 2016/11/16 by Jurre.deBaare
Toggling sky in Persona does not effect reflections
#fix turn of skylight together with the actual environment sphere
#misc found incorrect copy paste in toggling floor/environment visibility with key stroke
#jira UE-26796
Change 3200324 on 2016/11/16 by Jurre.deBaare
Open Merge Actor menu on right clicking two selected actors
#fix Added option 'Merge Actors' to right-click context menu when having selected one or multiple actors in the viewport
#jira UE-36892
Change 3200331 on 2016/11/16 by Benn.Gallagher
Added support for suspending clothing simulations at runtime, exposed also to blueperints. And aded option in Persona to pause simulations when animations are paused.
#jira UE-38620
Change 3200334 on 2016/11/16 by Jurre.deBaare
Dynamic light settings in Persona viewport cause edges to appear hardened
#fix Makeing the directional light stationary to ups the shadowing quality
#jira UE-37188
Change 3200356 on 2016/11/16 by Jurre.deBaare
Rate scale option for animation nodes in blend spaces
#added Rate scale variable to blend space samples, these rates are now multiplied with the global rate scale during playback
#misc bumped framework object version to update all blendspaces on load
#jira UE-16207
Change 3200380 on 2016/11/16 by Jurre.deBaare
Fix for Mac CIS issues
Change 3200383 on 2016/11/16 by Marc.Audy
Split FAttenuationSettings in to FBaseAttenuationSettings and FSoundAttenuationSettings in preparation for reuse of the base attenuation for force feedback
Change 3200385 on 2016/11/16 by James.Golding
Refactor SkeletalMesh to use same color buffer type as StaticMesh
Change 3200407 on 2016/11/16 by James.Golding
Fix CIS error in FbxAutomationTests.cpp
Change 3200417 on 2016/11/16 by Jurre.deBaare
Fix for CIS issues
#fix Rogue }
Change 3200446 on 2016/11/16 by Martin.Wilson
Change fix for Set Anim Instance Class from CL 3200133
#jira UE-18798
Change 3200579 on 2016/11/16 by Martin.Wilson
Fix for serialization crash in Odin
#jir UE-38683
Change 3200659 on 2016/11/16 by Martin.Wilson
Fix build errors
Change 3200801 on 2016/11/16 by Lina.Halper
Fix error message
Change 3200873 on 2016/11/16 by Lina.Halper
Test case for Update Rate Optimization
- LOD_URO_Map.umap - test map
- LODPawn - pawn that contains mesh with URO setting
- You can tweak the value in LODPawn
Change 3201017 on 2016/11/16 by Lina.Halper
- Allow slave component to be removed when setting master pose to nullptr
- licensee reported this issue. https://udn.unrealengine.com/questions/321037/skeletalmeshcomponent.html
Change 3201765 on 2016/11/17 by Jurre.deBaare
Improved tooltip for FBlendParameter.GridNum
Change 3201817 on 2016/11/17 by Thomas.Sarkanen
Added display/edit of bone transforms in details panel
Added UBoneProxy tickable editor object held by the skeleton tree that updates its internal transforms in Tick().
Updated various bits of supporting code to allow selection to be properly preserved in cases such as undo/redo. This allows the bone proxy object to be displayed over an undo/redo event. It also fixes some inconsistency with selection between the skeleton tree and the preview scene.
Breaking change: Updated FOnPreviewMeshChangedMulticaster delegate signature to take both the old and new skeletal mesh. This is to allow clients to skip certain logic if the skeletal mesh hasnt really changed (in this case de-selection).
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3201819 on 2016/11/17 by Thomas.Sarkanen
Fix CIS error
Change 3201901 on 2016/11/17 by Lina.Halper
With new system, the skeleton curve count is not the one we should check but BoneContainer.GetAnimCurveNameUids().
- removed GetCurveNumber from skeleton
- changed curve count to use BoneContainer's curve list.
#code review: Laurent.Delayen
Change 3201999 on 2016/11/17 by Thomas.Sarkanen
Add local/world transform editing to bone editing
Added details customization & support code for world-space editing of bone transforms
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3202111 on 2016/11/17 by mason.seay
Potential test assets for HLOD
Change 3202240 on 2016/11/17 by Thomas.Sarkanen
Fixed extra whitespace not being removed in front of console commands.
GitHub #2843
#jira UE-37019 - GitHub 2843 : Fixed extra whitespace not being removed in front of console commands.
Change 3202259 on 2016/11/17 by Jurre.deBaare
Readded missing shadows in advanced preview scene
Change 3203180 on 2016/11/17 by mason.seay
Moved and updated URO Map
Change 3203678 on 2016/11/18 by Thomas.Sarkanen
Bug fix for menu extenders in PhAT.
GitHub #2550
#jira UE-32678 - GitHub 2550 : Bug fix for menu extenders in PhAT.
Change 3203679 on 2016/11/18 by Thomas.Sarkanen
Fixed LOD hysteresis not being properly converted from the old metric
This addreses some 'LOD lag' issues seen when just treating as an equivalent fudge factor, as the magnitude needed to have an effect has changed.
#jira UE-38640 - Skeletal mesh LODs render incorrectly and incosistently
Change 3203747 on 2016/11/18 by Jurre.deBaare
Crash when repeatedly undoing and readding of animation to a AnimOffset 1D - IsValidBlendSampleIndex
#fix Ensure we reset the hightlighting / dragging / selection state when PostUndo is called, this makes sure we repopulate tooltips if need etc.
#jira UE-38734
Change 3203748 on 2016/11/18 by Jurre.deBaare
Crash Generating Proxy Meshes after replacing static meshes in the level
#fix just calculate bounds for the used UVs (old behaviour was wrong)
#jira UE-38764
Change 3203751 on 2016/11/18 by james.cobbett
Changes to TM-PoseSnapshot and new test assets
Change 3203799 on 2016/11/18 by Thomas.Sarkanen
Switched fudged auto-LOD calculations to use a pow() decay instead of a recprocal
Still a fudge when LOD reduction has not been performed in-engine, but a fudge with similar outcomes to the previous method.
Also fixed up the naming of some variables that still referred to screen areas & LOD distances.
#jira UE-38674 - LOD distance switching have changed since 4.14 and merged lod actors seem to switch at incorrect screen scales as a result
Change 3203856 on 2016/11/18 by james.cobbett
TM-PoseSnapshot - Rebuild lighting and updated anims
Change 3203880 on 2016/11/18 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3203940 on 2016/11/18 by Ori.Cohen
Fix missing newline for ps4
Change 3203960 on 2016/11/18 by Ori.Cohen
Readd fix for linux macro expansion warning
Change 3203975 on 2016/11/18 by Ori.Cohen
Fix for linux toolchain not knowing about no-unused-local-typedef
Change 3203989 on 2016/11/18 by Ori.Cohen
Make sure physx automation doesn't try to build html5 APEX.
Change 3204031 on 2016/11/18 by james.cobbett
Minor update to test level
Change 3204035 on 2016/11/18 by Marc.Audy
Additional Attenuation refactor cleanup
Change 3204044 on 2016/11/18 by Ori.Cohen
Fix typo of NV_SIMD_SSE2
Change 3204049 on 2016/11/18 by Ori.Cohen
Fix missing newline for PS4 compiler
Change 3204463 on 2016/11/18 by mason.seay
Finalized URO test map
Change 3204621 on 2016/11/18 by mason.seay
Small improvements
Change 3204751 on 2016/11/18 by Ori.Cohen
Make PhAT highlight selected bodies and constraints in the tree view
Change 3205868 on 2016/11/21 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3205744
Change 3205887 on 2016/11/21 by Jurre.deBaare
Fix for similar crash in blendspace editor like UE-38734
Change 3206121 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
#jira UE-38803
#jira UE-38692
Change 3206187 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
Additional bits
#jira UE-38519
#jira UE-38803
#jira UE-38692
Change 3206318 on 2016/11/21 by Marc.Audy
Fix Linux compiler whinging
Change 3206379 on 2016/11/21 by Marc.Audy
Fix crash when streaming in a sublevel with a child actor in it (4.14.1)
#jira UE-38906
Change 3206591 on 2016/11/21 by Marc.Audy
Refactor restrictions to allow hidden and clarify disabled
Change 3206776 on 2016/11/21 by Marc.Audy
ForceFeedback component allows rumble events to be placed or spawned in to the world with attenuation settings that dictate how intensely the rumble pattern will be applied to the player based on their distance to the effect.
ForceFeedback Attenuation settings can be defined via the content browser or directly on the component.
#jira UEFW-244
Change 3206901 on 2016/11/21 by Marc.Audy
Fix compile error in automation tests
Change 3207235 on 2016/11/22 by danny.bouimad
Updated Map
Change 3207264 on 2016/11/22 by Thomas.Sarkanen
Disable bone editing in anim blueprint editor
#jira UE-38876 - Transform options in bone Details panel in Anim Blueprint Persona editor appear editable
Change 3207303 on 2016/11/22 by Lina.Halper
Clear material curve by setting it directly because the flag might not exist
#jira: UE-36902
Change 3207331 on 2016/11/22 by Jon.Nabozny
Fix overflow issues in SerializeProperties_DynamicArray_r. Also, fix crash from not ensuring properties were serialized successfully.
Change 3207357 on 2016/11/22 by Danny.Bouimad
Updating testcontent for pose drivers
Change 3207425 on 2016/11/22 by Lina.Halper
Fix frame count issue with montage
#jira: UE-30048
Change 3207478 on 2016/11/22 by Lina.Halper
Fix so that curve warning doesn't happen when your name is same.
#jira: UE-34246
Change 3207526 on 2016/11/22 by Marc.Audy
Fix crash when property restriction introduces a hidden entry
Change 3207731 on 2016/11/22 by danny.bouimad
MoreUpdates
Change 3207764 on 2016/11/22 by Lina.Halper
#fix order of morphtarget to first process animation and then BP for slave component
Change 3207842 on 2016/11/22 by Ben.Zeigler
Fix it so ActiveStructRedirects are checked in addition to ActiveClassRedirects when serializing a raw UStruct reference, such as in a blueprint UStructProperty. This fixes issue with the attenuation settings struct rename, and should have always been working this way. ActiveClassRedirects will still work.
Change 3208202 on 2016/11/22 by Ben.Zeigler
#jira UE-38811 Fix regression with gimbal locking in player camera manager.
The quat->rotator->quat->rotator conversions are introducing more error than in 4.13, so a pitch limit of -89.99 was too precise.
Change 3208510 on 2016/11/23 by Wes.Hunt
Disable UBT Telemetry on internal builds #jira AN-1059
#tests build a few different ways, add more diagnostics to clarify if the provider is being used.
Change 3208734 on 2016/11/23 by Martin.Wilson
Change EnsureAllIndicesHaveHandles to try and maintain validity of as many of the handles as possible + Make FRichCurve key member private as it needs to stay in sync with map on base class
#jira UE-38899
Change 3208782 on 2016/11/23 by Thomas.Sarkanen
Fixed material and vert count issues with skeletal to static mesh conversion
Material remapping was not bein gbuilt, so material indices were overwitten inappropriately.
Vertex tangentY was being recalculated incorrectly (discarding the W component when transformed), so vertices were not correctly re-merged later in the static mesh build phase.
#jira UE-37898 - Materials are incorrect on static mesh made from skeletal mesh
Change 3208798 on 2016/11/23 by James.Golding
UE-38478 - Fix collision on procmesh created in BeginPlay in cooked builds
Change 3208801 on 2016/11/23 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix forgot to mark the renderstate dirty and wrapped it to only apply when overridematerials actually contain something
#jira UE-38108
Change 3208807 on 2016/11/23 by Thomas.Sarkanen
CIS fix
Change 3208824 on 2016/11/23 by danny.bouimad
More content updates for Testing
Change 3208827 on 2016/11/23 by Danny.Bouimad
Removing Old Pose driver Testassets I created awhile ago.
Change 3209026 on 2016/11/23 by Martin.Wilson
CIS Fix for FRichCurve
Change 3209083 on 2016/11/23 by Marc.Audy
Don't crash if after an undo the previously selected object no longer exists (4.14.1)
#jira UE-38991
Change 3209085 on 2016/11/23 by Marc.Audy
Don't crash if a negative length passed in to UKismetStringLibrary::GetSubstring (4.14.1)
#jira UE-38992
Change 3209124 on 2016/11/23 by Ben.Zeigler
#jira UE-38867 Fix some game mode log messages
From PR #2955
Change 3209231 on 2016/11/23 by Marc.Audy
Auto removal
Change 3209232 on 2016/11/23 by Marc.Audy
GetComponents now optionally can include components in Child Actors
Change 3209233 on 2016/11/23 by Marc.Audy
ParseIntoArray resets instead of empty
Change 3209235 on 2016/11/23 by Marc.Audy
Allow child actor components to be selected in viewports
Fix selection highlight not working on nested child actors
#jira UE-16688
Change 3209247 on 2016/11/23 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209194
Change 3209299 on 2016/11/23 by Marc.Audy
Use MoveTemp to reduce some memory churn in graph schema actions
Change 3209347 on 2016/11/23 by Marc.Audy
Don't dispatch a tick function that had been scheduled but has been disabled before being executed.
#jira UE-37459
Change 3209507 on 2016/11/23 by Ben.Zeigler
#jira UE-38185 Keep player controllers in their same order during a seamless travel
From PR #2908
Change 3209882 on 2016/11/24 by Thomas.Sarkanen
Copy-to-array now works with the fast path
Refactored the copy record generation/validation code to be clearer with better seperation of concerns.
Made sure we always properly generate a full exec chain for our events, despite some other them potentially using the fast path (this may have been a bug waiting to happen).
Fixed a potentiual bug with sub anim instances were potentiall fast path non-array properties were skipped.
Added tests for fast path validity to EditorTests project. Assets to follow.
#jira UE-34569 - Fast Path gets turned off if you link to multiple input pins
Change 3209884 on 2016/11/24 by Thomas.Sarkanen
File I missed
Change 3209885 on 2016/11/24 by Thomas.Sarkanen
Support assets for fast path tests
Change 3209939 on 2016/11/24 by Benn.Gallagher
Fixed anim blueprint compiler not following reroute nodes when building cached pose fragment list
#jira UE-35557
Change 3209941 on 2016/11/24 by Jurre.deBaare
Removing and readding a point to the Anim Offset graph results in the animation to not preview correctly.
#fix make sure that when we delete a sample point we reset the preview base pose
#misc changed how the preview base pose is determined/updated
#jira UE-38733
Change 3209942 on 2016/11/24 by Thomas.Sarkanen
Fixed transactions being made when setting bone space in details panel
Also added reset to defaults to allow easy removal of bone modifications.
#jira UE-38957 - Switching between Local and World Location in Persona Bone Transform options creates an Undo transaction
Change 3209945 on 2016/11/24 by james.cobbett
Test assets for Pose Snapshot Test Case
Change 3210239 on 2016/11/25 by Mieszko.Zielinski
Making Navmesh react to changes done to static mesh's collision setup via the SM Editor #UE4
#jira UE-29415
Change 3210279 on 2016/11/25 by Benn.Gallagher
Fixed anim sub-instances only allowing one pin to work when any pin required a call out to the VM for evaluation
#jira UE-38040
Change 3210288 on 2016/11/25 by danny.bouimad
Cleaned up Pose Driver Anim BP's
Change 3210334 on 2016/11/25 by Benn.Gallagher
Fixed preview mesh references getting broken in physics assets when renaming the preview mesh asset. Added explicit reference collection for the TAssetPtr
#jira UE-22145
Change 3210349 on 2016/11/25 by James.Golding
UE-35783 Fix scrolling in PoseAsset editor panels
Change 3210356 on 2016/11/25 by James.Golding
UE-38420 Disable 'Convert to Static Mesh' option if no MeshComponents selected (e.g. cables)
Change 3210357 on 2016/11/25 by Jurre.deBaare
Numeric textbox value label incorrect for aimoffset/blendspaces in grid
#fix change lambda capture type (was referencing local variable)
Change 3210358 on 2016/11/25 by Jurre.deBaare
Crash Generating Proxy Mesh with Transition Screen Size set to 1
#fix 1.0 was not included within the possible range
#jira UE-38810
Change 3210364 on 2016/11/25 by James.Golding
Improve BuildVertexBuffers to use stride and avoid copying colors
Change 3210371 on 2016/11/25 by Jurre.deBaare
You can no longer enable tooltip display when using anim offset
#fix Added back ability to show advanced preview sample weighting to tooltip under CTRL down
#jira UE-38808
It's not clear that the user has to hold shift to preview in blend spaces
#fix Preview value is now set by default and has a tooltip state, this will inform the user how to move the preview value
#jira UE-38711
#misc refactored out some duplicate code :)
Change 3210387 on 2016/11/25 by james.cobbett
Updating test asset
Change 3210550 on 2016/11/26 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209927
Brings IWYU in and required substantial fixups
Change 3210551 on 2016/11/26 by Marc.Audy
Delete empty cpp files
Change 3211002 on 2016/11/28 by Lukasz.Furman
added navigation update on editting volume's brush
#ue4
Change 3211011 on 2016/11/28 by Marc.Audy
Roll back CL# 3210334 as it is causing deadlocks during GC
Change 3211039 on 2016/11/28 by Jurre.deBaare
Merge Actors tool is splitting every vertex on spline meshes, causing hard edged vertex colors.
#fix prevent using the wedge map when propagating spline mesh vertex colours
#jira UE-36011
Change 3211053 on 2016/11/28 by Ori.Cohen
Make sure objects without simple collision do not simulate. Fixes crash when two trimesh only objects collide
#JIRA UE-38989
Change 3211101 on 2016/11/28 by mason.seay
Adjusting trigger collision so it can't be triggered by projectiles
Change 3211171 on 2016/11/28 by Jurre.deBaare
Previewing outside of Blendspace Graph points causes unexpected weighting
#jira UE-32775
Second Animation Sample added to AimOffset or Blendspace swaps with the first sample
#jira UE-36755
#fix Changed behaviour for calculating blendspace grid weighting for one, two or colinear triangles
- One: fill grid weights to single sample
- Two: find closest point on line between the two samples for the grid point, and weight according to the distance on the line
- Colinear: find two closest samples and apply behaviour above
#misc rename variables to make the code more clear and correct
Change 3211491 on 2016/11/28 by Marc.Audy
Provide proper tooltip for GetParentActor/Component
Expose GetAttachParentActor/SocketName to blueprints
De-virtualize Actor GetAttach... functions
#jira UE-39056
Change 3211570 on 2016/11/28 by Lina.Halper
Title doesn't update when asset is being dropped
#jira: UE-39019
Change 3211766 on 2016/11/28 by Ori.Cohen
Remove warning when a constraint has two empty components. This can be a valid usecase for when components are determined dynamically.
#JIRA UE-36089
Change 3211938 on 2016/11/28 by Mason.Seay
CSV's for testing gameplay tags
Change 3212090 on 2016/11/28 by Ori.Cohen
Expose angular SLERP drive to blueprints
#JIRA UE-36690
Change 3212102 on 2016/11/28 by Marc.Audy
Fix shadow variable issue
#jira UE-39099
Change 3212182 on 2016/11/28 by Ori.Cohen
PR #2902: Fix last collision preset display (Contributed by max99x)
#JIRA UE-38100
Change 3212196 on 2016/11/28 by dan.reynolds
AEOverview Update:
Minor tweaks and fixes
Added Attenuation Curve Tests
Renamed SC to SCLA for Sound Class prefix
WIP SCON (Sound Concurrency)
Change 3212347 on 2016/11/28 by Ben.Zeigler
#jira UE-39098 Fix issues with adding tag redirectors with the editor open, it now checks the redirector list in the editor
Fix chained tag redirectors to work properly
Const fixes and removed a bad error message spam, and fix rename message
Change 3212385 on 2016/11/28 by Marc.Audy
Avoid duplicate GetWorld() calls
Change 3212386 on 2016/11/28 by Marc.Audy
auto shoo
Change 3213018 on 2016/11/29 by Marc.Audy
Fix shadow variable for real
Change 3213037 on 2016/11/29 by Ori.Cohen
Fix deprecation warnings
Change 3213039 on 2016/11/29 by Marc.Audy
Generalize logic for when a component prevents an Actor from auto destroying
Add forcefeedback component to the components that will hold up the auto destroy of an actor
Change 3213088 on 2016/11/29 by Marc.Audy
Move significance manager out of experimental
Change 3213187 on 2016/11/29 by Marc.Audy
Add InsertDefaulted to mirror options available when Adding
Change 3213254 on 2016/11/29 by Marc.Audy
add auto-complete for showdebug forcefeedback
Change 3213260 on 2016/11/29 by Marc.Audy
Allow systems to inject auto-complete console entries
Change 3213276 on 2016/11/29 by Marc.Audy
add auto-complete entry for showdebug significancemanager
Change 3213331 on 2016/11/29 by James.Golding
Split SkeletalMesh skin weights into their own stream
Remove unused FGPUSkinVertexColor struct
Remove unused FSkeletalMeshVertexBuffer::bInfluencesByteSwapped bool
Fix FSkeletalMeshMerge::GenerateLODModel to handle >4 weights
Update friendly name for FColorVertexBuffer now it's used by skel mesh as well
Change 3213349 on 2016/11/29 by Ben.Zeigler
Fix tag rename feedback message
Change 3213355 on 2016/11/29 by Ben.Zeigler
#jira UE-39115 PR #2987: Added IsPaused to AGameModeBase (Contributed by RoyAwesome)
Change 3213406 on 2016/11/29 by Ori.Cohen
Make sure body transforms are not set while the physx simulation is running.
#JIRA UE-37270
Change 3213508 on 2016/11/29 by Jurre.deBaare
When performing a merge actor on an actor merging multiple materials certain maps aren't generated
#fix Apparently rendering out specular etc now outputs its value only to the red channel, so had to change how we populate the combined metallic/roughness/specular map
#jira UE-38526
Change 3213557 on 2016/11/29 by Ben.Zeigler
#jira UE-22145 Fix issues where TAssetPtrs weren't getting properly fixed up during rename fixup, it now runs the StringAssetReference fixup on the nested reference. This should fix lots of weird issues with references going away
Change 3213634 on 2016/11/29 by Ori.Cohen
Make sure if no shapes are found for vehicle wheels we create spheres and attach them to the actor.
Change 3213639 on 2016/11/29 by Ori.Cohen
Fix from nvidia for vehicle suspension exploding when given a bad normal.
#JIRA UE-38716
Change 3213812 on 2016/11/29 by James.Golding
UE-35925 Remove hard-coded asset<->animnode mapping, add SupportsAssetClass virtual instead
Change 3213824 on 2016/11/29 by Ori.Cohen
Fix CIS
Change 3213873 on 2016/11/29 by Ori.Cohen
Fix welded bodies not properly computing mass properties.
#JIRA UE-35184
Change 3213950 on 2016/11/29 by Mieszko.Zielinski
Fixed navigation collision being generated wrong for StaticMeshes created from BSP #Orion
#jira UE-37221
Change 3213951 on 2016/11/29 by Mieszko.Zielinski
Fixed perception system having issue with registering perception listener spawned in sublevels #UE4
#jira UE-37850
Change 3214005 on 2016/11/29 by Ori.Cohen
Fix mass kg override not propagating to blueprint instances.
Change 3214046 on 2016/11/29 by Marc.Audy
Duplicate all instanced subobjects, not just those that are editinlinenew
Make AABrush.Brush instanced rather than export
#jira UE-39066
Change 3214064 on 2016/11/29 by Marc.Audy
Use GetComponents directly where safe instead of copying in to an array
Change 3214116 on 2016/11/29 by James.Golding
Fix tooltip when dragging anim assets onto players
Change 3214136 on 2016/11/29 by Ori.Cohen
Make it so moving bodies is immediate when in editor. Useful for editor tools that rely on physx data
#JIRA UE-35864
Change 3214162 on 2016/11/29 by Mieszko.Zielinski
Fixed a bug in EnvQueryGenerator_SimpleGrid resuting in one extra column and row of points being generated #UE4
#jira UE-12077
Change 3214177 on 2016/11/29 by Marc.Audy
Use correct SocketName (broken in CL#2695130)
#jira UE-39153
Change 3214427 on 2016/11/29 by dan.reynolds
AEOverview Update
Fixed Attenuation tests when overlapping attenuation ranges between streamed levels
Added Sound Concurrency Far then Prevent New testmap
Removed some Sound Concurrency assets
Change 3214469 on 2016/11/29 by dan.reynolds
AEOverview Update
Added Sound Concurrency Test for Stop Farthest then Oldest
Change 3214842 on 2016/11/30 by Jurre.deBaare
LookAt AimOffset in the Anim Graph causes character to explode
#jira UE-38533
#fix ensure that the source socket exists on the skeleton during compilation (as far as we can), and skip blendspace evaluation in case of it not being valid during runtime
Change 3214866 on 2016/11/30 by james.cobbett
Updating Pose Snapshot test assets
Change 3214964 on 2016/11/30 by thomas.sarkanen
Added test data for facial animtion curves
Change 3215015 on 2016/11/30 by Jurre.deBaare
When a Aim Offset axis value is edited drastically the preview mesh will be deformed
#fix change the way we change data when axis values are changed, simply remap normalized samples to new axis range
#misc marked some data/functions editor only (not needed during runtime so reduces footprint a little bit)
#jira UE-38880
Change 3215029 on 2016/11/30 by Marc.Audy
Fix CIS
Change 3215033 on 2016/11/30 by Marc.Audy
Add a delegate for when new classes are added via hotreload
Change existing hotload class reinstancing delegates to be multicast
Change 3215048 on 2016/11/30 by Jon.Nabozny
Use getKinematicTarget whenever a body is kinematic.
This should fix some edge cases in FBodyInstance where stale transforms may be used when operations are run in PrePhysics.
#jira UE-37877
Change 3215052 on 2016/11/30 by Marc.Audy
Generalize the volume actor factory logic
Create volume factories when hotreload adds a new volume class
#jira UE-39064
Change 3215055 on 2016/11/30 by Marc.Audy
Probable fix for IOS CIS failure
Change 3215091 on 2016/11/30 by Lina.Halper
Easy alternative fix for blending two curves per bone. For now we just combine.
To fix this properly - i.e. per bone to affect curve - it is very expensive process, so opting into this for 4.15.
#jira: UE-39182
Change 3215179 on 2016/11/30 by Jurre.deBaare
Preview viewport should only use rendering features supported in project
#fix replace the skylight with a sphere reflection component, this will not give image based lighting but does supply the user with a reflection map + intensity
#jira UE-37252
Change 3215189 on 2016/11/30 by Jurre.deBaare
CIS fix
Change 3215326 on 2016/11/30 by Ben.Zeigler
#jira UE-39077 Fix OnActive gameplay cues on standalone servers, it was incorrectly assuming it was in mixed replication mode.
Regression caused by CL #3104976
Change 3215523 on 2016/11/30 by James.Golding
Fix cooking old skel meshes in commandlet - vertex buffer was not recreated so UpdateUVChannelData would crash
Change 3215539 on 2016/11/30 by Marc.Audy
Fix failure to cleanup objects in a hidden always loaded sub-level
#jira UE-39139
Change 3215568 on 2016/11/30 by Aaron.McLeran
UE-39197 Delay node of 0.0 causes crash
Change 3215719 on 2016/11/30 by Aaron.McLeran
UE-39074 Audio related Client crash experienced on latest live build ++UT+Release-Next-CL-3193528
Change 3215773 on 2016/11/30 by Aaron.McLeran
PR #2819 : Fixed typo in SoundWave.h
Change 3215828 on 2016/11/30 by James.Golding
PR #2900: fixed a former change that overlooked the 2 character difference between 16 and 32. (Contributed by MartinMittringAtOculus)
Change 3215831 on 2016/11/30 by James.Golding
UE-36688 Add BlendOption (with CustomCurve) to PoseBlendNode
Change 3215904 on 2016/11/30 by Marc.Audy
Fix significance calculations
Change 3215955 on 2016/11/30 by James.Golding
UE-36791 Fix scaling of rotated convex elements, by baking element transform into cooked convex data.
Change 3215959 on 2016/11/30 by James.Golding
Remove LogTemp warning from FAnimBlueprintCompiler::FinishCompilingClass
Change 3216057 on 2016/11/30 by Marc.Audy
Don't reset expose on spawn properties when in a PIE world
#jira UE-36771
Change 3216114 on 2016/11/30 by James.Golding
Move SkeletalMeshComponent and SkinnedMeshComponent functions out of SkeletalMesh.cpp into correct cpp files
Change 3216144 on 2016/11/30 by Jon.Nabozny
Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.
InitArticulated uses the default Constraint Template from the Physics Asset a skeletal mesh is associated with.
This caused issues if a skeletal mesh had bone scales that differed from those in the physics asset.
#jira UE-38434
Change 3216148 on 2016/11/30 by Jon.Nabozny
Create test map and asset for Skeletal Mesh Component Scaling and Skeletal Mesh Uniform Import Scaling.
Change 3216160 on 2016/11/30 by Aaron.McLeran
Fixing a memory leak in concurrency management
Change 3216164 on 2016/11/30 by James.Golding
Move SkeletalMeshActor code into its own cpp file
Fix CIS for SkeletalMeshComponent.cpp
Change 3216371 on 2016/11/30 by dan.reynolds
AEOverview Update
Minor tweaks
Completed Sound Concurrency Rule Test Maps
Added additional test files
Change 3216509 on 2016/11/30 by Marc.Audy
Fix missing include
Change 3216510 on 2016/11/30 by Marc.Audy
Code cleanup
Change 3216723 on 2016/12/01 by Jurre.deBaare
When clearing a blend sample animation the animation will try and blend to the ref pose
#fix do not delete sample when animation == nullptr but mark it as invalid, it then will be rendered in red on the grid and discarded during triangle/line generation
#fix indice mapping for 2d blend spaces was incorrect before (luckily never caused an error)
#misc weird whitespace changes
#jira UE-39078
Change 3216745 on 2016/12/01 by Jurre.deBaare
- Blend space triangulation was incorrect in some cases, due to refactor some data was not initialised.
- UDN user was hitting a check within the triangle flipping behaviour
#fix Revisited the conditions to determine whether or not a point lies within a triangles circumcircle
#fix In case we cannot flip the current triangle we skip it and move onto the next one instead of putting in a hard check
#misc refactored triangle flipping code to make it smaller (more readible)
Change 3216903 on 2016/12/01 by mason.seay
Imported mesh for quick test
Change 3216904 on 2016/12/01 by Jurre.deBaare
CIS Fix
#fix replaced condition by both non-editor as editor valid one
Change 3216998 on 2016/12/01 by Lukasz.Furman
fixed AI slowing down on ramps due to 3D input vector being constrained by movement component
#jira UE-39233
#2998
Change 3217012 on 2016/12/01 by Lina.Halper
Checking in James' fix on drag/drop to replace assets
#code review: James.Golding
#jira: UE-39150
Change 3217031 on 2016/12/01 by james.cobbett
Updating Pose Snapshot Assets. Again.
Change 3217033 on 2016/12/01 by Martin.Wilson
Update bounds on all skel meshes when physics asset is changed
#jira UE-38572
Change 3217181 on 2016/12/01 by Martin.Wilson
Fix imported animations containing a black thumbnail
#jira UE-36559
Change 3217183 on 2016/12/01 by Martin.Wilson
Add some extra debugging code for future animation compression / ddc issues
Change 3217184 on 2016/12/01 by james.cobbett
Fixing a test asset by checking a check box. Sigh.
Change 3217216 on 2016/12/01 by Martin.Wilson
Undo part of CL 3217183. Will need to add this back differently.
Change 3217274 on 2016/12/01 by Marc.Audy
When serializing in an enum tagged property follow redirects
#jira UE-39215
Change 3217419 on 2016/12/01 by james.cobbett
Changes to test assets for more Pose Snapshot tests
Change 3217449 on 2016/12/01 by Aaron.McLeran
Adding new audio setting to disable EQ and reverb.
Hooked up to XAudio2 (for now).
Change 3217513 on 2016/12/01 by Marc.Audy
Improve bWantsBeginPlay deprecation message
Change 3217620 on 2016/12/01 by mason.seay
Updated test assets for HLOD
Change 3217872 on 2016/12/01 by Aaron.McLeran
UEFW-113 Adding master reverb to audio mixer
- Added new submix editor to create new submixes
- Created new default master submixes for reverb and EQ and master submixes
- Fixed a number of minor issues found in auido mixer while working on feature
Change 3218053 on 2016/12/01 by Ori.Cohen
Added mass debug rendering
#JIRA UE-36608
Change 3218143 on 2016/12/01 by Aaron.McLeran
Fixing up reverb to support multi-channel (5.1 and 7.1) configurations.
- Added default reverb send amount
Change 3218440 on 2016/12/01 by Zak.Middleton
#ue4 - Made some static FNames const.
Change 3218715 on 2016/12/02 by james.cobbett
Fixed bug in test asset.
Change 3218836 on 2016/12/02 by james.cobbett
Fixing up test asset
Change 3218884 on 2016/12/02 by james.cobbett
Moar test asset changes
Change 3218943 on 2016/12/02 by Ori.Cohen
Make sure welded bodies include the center of mass offset. Note this also changes the COM nudge to be world space instead of local space
#JIRA UE-35184
Change 3218955 on 2016/12/02 by Marc.Audy
Fix initialization order issues
Remove monolithic includes
Change signature to pass string by const ref
Change 3219149 on 2016/12/02 by Ori.Cohen
Fix SetCollisionObjectType not working on skeletal mesh components
#JIRA UE-37821
Change 3219162 on 2016/12/02 by Martin.Wilson
Fix compile error when blend space on aim offset nodes is exposed as pin
#jira UE-39285
Change 3219198 on 2016/12/02 by Marc.Audy
UEnum::FindValue/IndexByName will now correctly follow redirects
#jira UE-39215
Change 3219340 on 2016/12/02 by Zak.Middleton
#ue4 - Optimized and cleaned up some Actor methods related to location and rotation.
- Inlined GetActorForwardVector(), GetActorUpVector(), GetActorRightVector(). Wrapped them to simply call the methods on USceneComponent rather than using a different approach to computing these vectors.
- Inlined blueprint versions: K2_GetActorLocation(), K2_GetActorRotation(), K2_GetRootComponent().
- Cleaned up template methods that are used to delay compilation of USceneComponent calls to make them private and prefix "Template" to their names so they don't show up in autocomplete for calls to the public methods.
Change 3219482 on 2016/12/02 by Ori.Cohen
Fix crash when double deleting a clothing actor due to destroying USkeletalMesh before USkeletalMeshComponent.
#JIRA UE-39172
Change 3219676 on 2016/12/02 by Martin.Wilson
Make clearer that ref pose is from skeleton
Change 3219687 on 2016/12/02 by Aaron.McLeran
Supporting multi-channel reverb with automatic downmixing of input to stereo
Change 3219688 on 2016/12/02 by Martin.Wilson
Fix crash when remapping additive animations after skeleton hierarchy change
#jira UE-39040
Change 3219699 on 2016/12/02 by Zak.Middleton
#ue4 - Fix template's use of old GetActorRotation() function.
Change 3219969 on 2016/12/02 by Ben.Zeigler
#jira UE-24800 Disable replicatied movement updates for actors that are welded to something else, to avoid them fighting with the welded parent's replication
Modified from shelve Zak.Middleton made of PR #1885, after some more testing
Change 3220010 on 2016/12/02 by Aaron.McLeran
Fixing up sound class editor
Change 3220013 on 2016/12/02 by Aaron.McLeran
Deleting monolithic file
Change 3220249 on 2016/12/02 by Aaron.McLeran
Changing reverb settings parameter thread sync method
- Switching to a simple ring buffer rather than using a crit sect
Change 3220251 on 2016/12/02 by Aaron.McLeran
Removing hard-coded audio mixer module name for the case when using -audiomixer argument,
-added new entry to ini file that allows you to specify the audio mixer module name used for the platform.
Change 3221118 on 2016/12/05 by Jurre.deBaare
Back out changelist 3220249 to fix CIS
Change 3221363 on 2016/12/05 by Martin.Wilson
Change slot node category from Blends to Montage
Change 3221375 on 2016/12/05 by Jon.Nabozny
Change AGameModeBase::GetGameSessionClass to return GameSessionClass when set.
#jira UE-39325
Change 3221402 on 2016/12/05 by Jon.Nabozny
Add sanitization code around PhsyX flags and refactor the ways flags are managed through a single code path.
#jira UE-33562
Change 3221441 on 2016/12/05 by Thomas.Sarkanen
Fixed crash when reimporting a mesh when a different animation was open
#jira UE-39281 - Editor crashes when reimporting a skeletal mesh after enabling recalculate tangents
Change 3221473 on 2016/12/05 by Marc.Audy
Get rid of auto.
Use GetComponents directly instead of copying in to temporary arrays
Change 3221584 on 2016/12/05 by Jon.Nabozny
Fix CIS for Mac builds from CL-3221375
Change 3221631 on 2016/12/05 by Martin.Wilson
Possible fix for rare marker sync crash on live servers
#jira UE-39235
#test ai match, animation seemed fine, no crashes
Change 3221660 on 2016/12/05 by mason.seay
Resubmitting to add Viewport Bookmark
Change 3221683 on 2016/12/05 by Mieszko.Zielinski
Temp (but decent) fix to ARecastNavMesh::GetRandomPointInNavigableRadius sometimes retrieving invalid locations even if there's a valid piece of navmesh in the area #UE4
#jira UE-30355
Change 3221750 on 2016/12/05 by Jon.Nabozny
Real CIS fix.
Change 3221917 on 2016/12/05 by Jon.Nabozny
Fix CIS for real this time.
Change 3222370 on 2016/12/05 by mason.seay
Start of Gameplay Tag testmap
Change 3222396 on 2016/12/05 by Aaron.McLeran
UEFW-44 Implementing EQ master submix effect for audio mixer
- New thread safe param setting temlate class (for setting EQ and Reverb params)
- Hook up reverb submix effect to source voices
- Implementation of FBiquad for biquad filter coefficients and audioprocessing
- Implementation of Filter class which hold FBiquad instance per channel, computes coefficents once
- Implementation of equalizer class which is a serial bank of filters set to ParametricEQ filter type
Change 3222425 on 2016/12/05 by Aaron.McLeran
Checking in missing files
Change 3222429 on 2016/12/05 by Aaron.McLeran
Last missing file!
Change 3222783 on 2016/12/05 by Jon.Nabozny
Update SkelMeshScaling map.
Change 3223173 on 2016/12/06 by Martin.Wilson
Fix crash in thumbnail rendering when creating a new montage
#jira UE-39352
Change 3223179 on 2016/12/06 by Marc.Audy
auto/NULL cleanup
Change 3223329 on 2016/12/06 by Marc.Audy
Fix (hard to explain) memory corruption
#jira UE-39366
Change 3223334 on 2016/12/06 by Jon.Nabozny
Add HasBeenInitialized check inside AActor::InitializeComponents
Change 3223340 on 2016/12/06 by Jon.Nabozny
Refactor SkeletalMesh constraint scaling fixes. Add a check on bodies to ensure they are valid.
#jira UE-39238
Change 3223372 on 2016/12/06 by Marc.Audy
Probably fix HTML5 CIS failure
Change 3223511 on 2016/12/06 by Jon.Nabozny
Fix Mac CIS shadow warning
Change 3223541 on 2016/12/06 by Lukasz.Furman
fixed missing NavCollision data in static meshes
#jira UE-39367
Change 3223672 on 2016/12/06 by Ben.Zeigler
#jira UE-39394 Fix GameplayTagContainerCustomization to work like GameplayTagCustomization as a popup instead of a window, this fixes the references button
Remove unnecessary code from both customizations
Change 3223751 on 2016/12/06 by Marc.Audy
Properly remove components from their owner when manipulating through editinlinenew properties
#jira UE-30548
Change 3223831 on 2016/12/06 by Ben.Zeigler
#jira UE-39293 Don't show non-working tag operations when ini tag editing is not enabled
#jira UE-39344 Improve feedback messages when deleting explicit tags that have other explicit tag children
Don't allow deleting a leaf explicit tag whose implicit parent tags are still referenced and it is the only thing keeping them alive
Add Tag Source to tooltip in management mode
Fix RequestGameplayTagChildrenInDictionary to work properly
Change 3223862 on 2016/12/06 by Marc.Audy
Hide deprecated attach functions for all games not just Paragon
Change 3224003 on 2016/12/06 by Marc.Audy
Put behavior of player camera back to how it was prior to Ansel plugin support changes. Make photography only work a different way.
#jira UE-39207
Change 3224602 on 2016/12/07 by Jurre.deBaare
Crash on creating LODs with Medic
#fix Added clamp for UVs -1024 to 1024
#jira UE-37726
Change 3224604 on 2016/12/07 by Jurre.deBaare
Fix for incorrect normal calculation in certain circumstances
#fix Make sure we propagate the matrices to samples after we (re)calculated normals
#fix Conditionally swap/inverse the vertex data buffers instead of always
#fix Set preview mesh for alembic import animation sequences
#misc removed commented out code and added debug code
Change 3224609 on 2016/12/07 by Jurre.deBaare
Alembic Import Issues (skeletal) w. UVs and smoothing groups
#fix Changed the way we populate smoothing group indices for alembic caches
#misc removed commented out code, set base preview pose for alembic imported skeletal meshes / anim sequences
#jira UE-36412
Change 3224783 on 2016/12/07 by James.Golding
Support per-instance skeletal mesh vertex color override
Change 3224784 on 2016/12/07 by James.Golding
Add skelmesh vert color override map. Fix my vert color material to work on skel mesh.
Change 3225131 on 2016/12/07 by Jurre.deBaare
Crash when baking matrix animation when importing an alembic file as skeletal
#fix condition whether or not to apply matrices had not been moved over in previous change
#jira UE-39439
Change 3225491 on 2016/12/07 by Lina.Halper
- Morphtarget fix on the first frame
#jira: UE-37702
Change 3225597 on 2016/12/07 by mason.seay
Updated materials on meshes to ones that don't have physical materials, also rebuilt lighting
Change 3225758 on 2016/12/07 by Aaron.McLeran
UE-39421 Fix for sound class graph bug
Change 3225957 on 2016/12/07 by Ben.Zeigler
#jira UE-39433 Fix crash with mass debug data
Change 3225967 on 2016/12/07 by Lina.Halper
Fix not removing link up cache when removed.
#jira: UE-33738
Change 3225990 on 2016/12/07 by Ben.Zeigler
#jira OR-32975 Sort gameplay tags before saving out modified ini, to help with merge issues
Change 3226123 on 2016/12/07 by Aaron.McLeran
Fix for sound class asset creation from within the sound class graph
Change 3226165 on 2016/12/07 by mason.seay
Replaced skelmesh gun with static mesh cube
Change 3226336 on 2016/12/07 by Aaron.McLeran
Fixing up sound class replacement code.
If you delete a sound class but replace with another, now it properly replaces sound classes in the sound class graphs without totally destroying them
Change 3226701 on 2016/12/08 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ CL 3226613
Change 3226710 on 2016/12/08 by Jurre.deBaare
Fix for alembic import crash
#misc update num mesh samples and take into account user set start frame in case of skipping preroll frames
Change 3226834 on 2016/12/08 by Jurre.deBaare
Fix for incorrect matrix samples being applied during Alembic cache importing
#fix Change way we loop through samples and determine correct matrix and mesh sample indices
Change 3227330 on 2016/12/08 by Jurre.deBaare
Temporary fix for animBP compilation error, underlying issue is causing the skeleton to not be fully loaded when we are validating the animation node. This makes the socket name check fail and consequently output a compilation error
#UE-39499
#fix Ensure that the skeleton is loaded by checking for RF_NeedPostLoad
#misc corrected socket name output, removed unnecessary nullptr check
Change 3227575 on 2016/12/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3227387
Change 3227602 on 2016/12/08 by Marc.Audy
Copyright 2016 to 2017 updates for new Framework files
[CL 3227721 by Marc Audy in Main branch]
2016-12-08 16:58:18 -05:00
# include "SkeletalMeshTypes.h"
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
# include "DrawingPolicy.h"
2015-10-28 19:18:20 -04:00
# include "RendererInterface.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
# include "EngineModule.h"
2015-10-28 19:18:20 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
# define SHOW_WIREFRAME_MESH 0
2015-10-28 19:18:20 -04:00
2016-02-04 10:55:30 -05:00
FColor BoxBlurSample ( TArray < FColor > & InBMP , int32 X , int32 Y , int32 InImageWidth , int32 InImageHeight , bool bIsNormalMap )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
const int32 SampleCount = 8 ;
static int32 PixelIndices [ SampleCount ] = { - ( InImageWidth + 1 ) , - InImageWidth , - ( InImageWidth - 1 ) ,
- 1 , 1 ,
( InImageWidth + - 1 ) , InImageWidth , ( InImageWidth + 1 ) } ;
2015-10-28 19:18:20 -04:00
2016-02-04 10:55:30 -05:00
static int32 PixelOffsetX [ SampleCount ] = { - 1 , 0 , 1 ,
- 1 , 1 ,
- 1 , 0 , 1 } ;
int32 PixelsSampled = 0 ;
FLinearColor CombinedColor = FColor : : Black ;
// Take samples for blur with square indices
for ( int32 SampleIndex = 0 ; SampleIndex < SampleCount ; + + SampleIndex )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
const int32 PixelIndex = ( ( Y * InImageWidth ) + X ) + PixelIndices [ SampleIndex ] ;
const int32 XIndex = X + PixelOffsetX [ SampleIndex ] ;
// Check if we are not out of texture bounds
if ( InBMP . IsValidIndex ( PixelIndex ) & & XIndex > = 0 & & XIndex < InImageWidth )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
FLinearColor SampledColor = InBMP [ PixelIndex ] . ReinterpretAsLinear ( ) ;
// Check if the pixel is a rendered one (not clear colour)
if ( ( ! ( SampledColor . R = = 1.0f & & SampledColor . B = = 1.0f & & SampledColor . G = = 0.0f ) ) & & ( ! bIsNormalMap | | SampledColor . B ! = 0.0f ) )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
CombinedColor + = SampledColor ;
+ + PixelsSampled ;
}
}
}
CombinedColor / = PixelsSampled ;
if ( PixelsSampled = = 0 )
{
return InBMP [ ( ( Y * InImageWidth ) + X ) ] ;
}
return CombinedColor . ToFColor ( false ) ;
}
void PerformUVBorderSmear ( TArray < FColor > & InBMP , int32 InImageWidth , int32 InImageHeight , bool IsNormalMap )
{
TArray < FColor > Swap ;
Swap . Append ( InBMP ) ;
TArray < FColor > * Current = & InBMP ;
TArray < FColor > * Scratch = & Swap ;
bool bSwap = false ;
int32 MagentaPixels = 1 ;
int32 LoopCount = 0 ;
const int32 MaxIterations = 32 ;
// Sampling
while ( MagentaPixels & & ( LoopCount < = MaxIterations ) )
{
MagentaPixels = 0 ;
// Left / right, Top / down
for ( int32 Y = 0 ; Y < InImageHeight ; Y + + )
{
for ( int32 X = 0 ; X < InImageWidth ; X + + )
{
int32 PixelIndex = ( Y * InImageWidth ) + X ;
FColor & Color = ( * Current ) [ PixelIndex ] ;
if ( ( Color . R = = 255 & & Color . B = = 255 & & Color . G = = 0 ) | | ( IsNormalMap & & Color . B = = 0 ) )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
MagentaPixels + + ;
FColor SampledColor = BoxBlurSample ( * Scratch , X , Y , InImageWidth , InImageHeight , IsNormalMap ) ;
// If it's a valid pixel
if ( ( ! ( SampledColor . R = = 255 & & SampledColor . B = = 255 & & SampledColor . G = = 0 ) ) & & ( ! IsNormalMap | | SampledColor . B ! = 0 ) )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
Color = SampledColor ;
2015-10-28 19:18:20 -04:00
}
2016-02-04 10:55:30 -05:00
else
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
// If we are at the end of our iterations, replace the pixels with black
if ( LoopCount = = ( MaxIterations - 1 ) )
2015-10-28 19:18:20 -04:00
{
2016-02-04 10:55:30 -05:00
Color = FColor : : Black ;
2015-10-28 19:18:20 -04:00
}
}
}
}
}
2016-02-04 10:55:30 -05:00
TArray < FColor > & Temp = * Scratch ;
Scratch = Current ;
Current = & Temp ;
LoopCount + + ;
}
if ( Current ! = & InBMP )
{
InBMP . Empty ( ) ;
InBMP . Append ( * Current ) ;
2015-10-28 19:18:20 -04:00
}
}
/**
* Vertex data for a screen quad .
*/
struct FMaterialMeshVertex
{
FVector Position ;
FPackedNormal TangentX ,
TangentZ ;
uint32 Color ;
FVector2D TextureCoordinate [ MAX_STATIC_TEXCOORDS ] ;
void SetTangents ( const FVector & InTangentX , const FVector & InTangentY , const FVector & InTangentZ )
{
TangentX = InTangentX ;
TangentZ = InTangentZ ;
// store determinant of basis in w component of normal vector
TangentZ . Vector . W = GetBasisDeterminantSign ( InTangentX , InTangentY , InTangentZ ) < 0.0f ? 0 : 255 ;
}
} ;
/**
* A dummy vertex buffer used to give the FMeshVertexFactory something to reference as a stream source .
*/
class FMaterialMeshVertexBuffer : public FVertexBuffer
{
public :
virtual void InitRHI ( ) override
{
FRHIResourceCreateInfo CreateInfo ;
VertexBufferRHI = RHICreateVertexBuffer ( sizeof ( FMaterialMeshVertex ) , BUF_Static , CreateInfo ) ;
}
} ;
TGlobalResource < FMaterialMeshVertexBuffer > GDummyMeshRendererVertexBuffer ;
/**
* Vertex factory for rendering meshes with materials .
*/
class FMeshVertexFactory : public FLocalVertexFactory
{
public :
/** Default constructor. */
FMeshVertexFactory ( )
{
2016-05-10 16:00:39 -04:00
FLocalVertexFactory : : FDataType VertexData ;
2015-10-28 19:18:20 -04:00
// position
2016-05-10 16:00:39 -04:00
VertexData . PositionComponent = FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , Position ) ,
sizeof ( FMaterialMeshVertex ) ,
VET_Float3
) ;
// tangents
2016-05-10 16:00:39 -04:00
VertexData . TangentBasisComponents [ 0 ] = FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , TangentX ) ,
sizeof ( FMaterialMeshVertex ) ,
VET_PackedNormal
) ;
2016-05-10 16:00:39 -04:00
VertexData . TangentBasisComponents [ 1 ] = FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , TangentZ ) ,
sizeof ( FMaterialMeshVertex ) ,
VET_PackedNormal
) ;
// color
2016-05-10 16:00:39 -04:00
VertexData . ColorComponent = FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , Color ) ,
sizeof ( FMaterialMeshVertex ) ,
VET_Color
) ;
// UVs
int32 UVIndex ;
for ( UVIndex = 0 ; UVIndex < MAX_STATIC_TEXCOORDS - 1 ; UVIndex + = 2 )
{
2016-05-10 16:00:39 -04:00
VertexData . TextureCoordinates . Add ( FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , TextureCoordinate ) + sizeof ( FVector2D ) * UVIndex ,
sizeof ( FMaterialMeshVertex ) ,
VET_Float4
) ) ;
}
// possible last UV channel if we have an odd number (by the way, MAX_STATIC_TEXCOORDS is even value, so most
// likely the following code will never be executed)
if ( UVIndex < MAX_STATIC_TEXCOORDS )
{
2016-05-10 16:00:39 -04:00
VertexData . TextureCoordinates . Add ( FVertexStreamComponent (
2015-10-28 19:18:20 -04:00
& GDummyMeshRendererVertexBuffer ,
STRUCT_OFFSET ( FMaterialMeshVertex , TextureCoordinate ) + sizeof ( FVector2D ) * UVIndex ,
sizeof ( FMaterialMeshVertex ) ,
VET_Float2
) ) ;
}
ENQUEUE_UNIQUE_RENDER_COMMAND_TWOPARAMETER (
FMeshVertexFactoryConstructor ,
FMeshVertexFactory * , FactoryParam , this ,
2016-05-10 16:00:39 -04:00
FLocalVertexFactory : : FDataType , DataParam , VertexData ,
2015-10-28 19:18:20 -04:00
{
FactoryParam - > SetData ( DataParam ) ;
}
) ;
FlushRenderingCommands ( ) ;
}
} ;
TGlobalResource < FMeshVertexFactory > GMeshVertexFactory ;
/**
* Canvas render item enqueued into renderer command list .
*/
class FMeshMaterialRenderItem : public FCanvasBaseRenderItem
{
public :
FMeshMaterialRenderItem ( FSceneViewFamily * InViewFamily , const FRawMesh * InMesh , const FStaticLODModel * InLODModel , int32 InMaterialIndex , const FBox2D & InTexcoordBounds , const TArray < FVector2D > & InTexCoords , const FVector2D & InSize , const FMaterialRenderProxy * InMaterialRenderProxy , const FCanvas : : FTransformEntry & InTransform /*= FCanvas::FTransformEntry(FMatrix::Identity)*/ ) : Data ( new FRenderData (
InViewFamily ,
InMesh ,
InLODModel ,
InMaterialIndex ,
InTexcoordBounds ,
InTexCoords ,
InSize ,
InMaterialRenderProxy ,
InTransform ) )
{
}
~ FMeshMaterialRenderItem ( )
{
}
private :
class FRenderData
{
public :
FRenderData (
FSceneViewFamily * InViewFamily ,
const FRawMesh * InMesh ,
const FStaticLODModel * InLODModel ,
int32 InMaterialIndex ,
const FBox2D & InTexcoordBounds ,
const TArray < FVector2D > & InTexCoords ,
const FVector2D & InSize ,
const FMaterialRenderProxy * InMaterialRenderProxy = NULL ,
const FCanvas : : FTransformEntry & InTransform = FCanvas : : FTransformEntry ( FMatrix : : Identity ) )
: ViewFamily ( InViewFamily )
, StaticMesh ( InMesh )
, SkeletalMesh ( InLODModel )
, MaterialIndex ( InMaterialIndex )
, TexcoordBounds ( InTexcoordBounds )
, TexCoords ( InTexCoords )
, Size ( InSize )
, MaterialRenderProxy ( InMaterialRenderProxy )
, Transform ( InTransform )
{ }
FSceneViewFamily * ViewFamily ;
const FRawMesh * StaticMesh ;
const FStaticLODModel * SkeletalMesh ;
int32 MaterialIndex ;
FBox2D TexcoordBounds ;
const TArray < FVector2D > & TexCoords ;
FVector2D Size ;
const FMaterialRenderProxy * MaterialRenderProxy ;
FCanvas : : FTransformEntry Transform ;
} ;
FRenderData * Data ;
public :
static void EnqueueMaterialRender ( class FCanvas * InCanvas , FSceneViewFamily * InViewFamily , const FRawMesh * InMesh , const FStaticLODModel * InLODModel , int32 InMaterialIndex , const FBox2D & InTexcoordBounds , const TArray < FVector2D > & InTexCoords , const FVector2D & InSize , const FMaterialRenderProxy * InMaterialRenderProxy )
{
// get sort element based on the current sort key from top of sort key stack
FCanvas : : FCanvasSortElement & SortElement = InCanvas - > GetSortElement ( InCanvas - > TopDepthSortKey ( ) ) ;
// get the current transform entry from top of transform stack
const FCanvas : : FTransformEntry & TopTransformEntry = InCanvas - > GetTransformStack ( ) . Top ( ) ;
// create a render batch
FMeshMaterialRenderItem * RenderBatch = new FMeshMaterialRenderItem (
InViewFamily ,
InMesh ,
InLODModel ,
InMaterialIndex ,
InTexcoordBounds ,
InTexCoords ,
InSize ,
InMaterialRenderProxy ,
TopTransformEntry ) ;
SortElement . RenderBatchArray . Add ( RenderBatch ) ;
}
static int32 FillStaticMeshData ( bool bDuplicateTris , const FRawMesh & RawMesh , FRenderData & Data , TArray < FMaterialMeshVertex > & OutVerts , TArray < int32 > & OutIndices )
{
// count triangles for selected material
int32 NumTris = 0 ;
int32 TotalNumFaces = RawMesh . FaceMaterialIndices . Num ( ) ;
for ( int32 FaceIndex = 0 ; FaceIndex < TotalNumFaces ; FaceIndex + + )
{
if ( RawMesh . FaceMaterialIndices [ FaceIndex ] = = Data . MaterialIndex )
{
NumTris + + ;
}
}
if ( NumTris = = 0 )
{
// there's nothing to do here
return 0 ;
}
// vertices are not shared between triangles in FRawMesh, so NumVerts is NumTris * 3
int32 NumVerts = NumTris * 3 ;
// reserve renderer data
OutVerts . Empty ( NumVerts ) ;
OutIndices . Empty ( bDuplicateTris ? NumVerts * 2 : NumVerts ) ;
float U = Data . TexcoordBounds . Min . X ;
float V = Data . TexcoordBounds . Min . Y ;
float SizeU = Data . TexcoordBounds . Max . X - Data . TexcoordBounds . Min . X ;
float SizeV = Data . TexcoordBounds . Max . Y - Data . TexcoordBounds . Min . Y ;
float ScaleX = ( SizeU ! = 0 ) ? Data . Size . X / SizeU : 1.0 ;
float ScaleY = ( SizeV ! = 0 ) ? Data . Size . Y / SizeV : 1.0 ;
uint32 DefaultColor = FColor : : White . DWColor ( ) ;
// count number of texture coordinates for this mesh
int32 NumTexcoords = 1 ;
for ( NumTexcoords = 1 ; NumTexcoords < MAX_STATIC_TEXCOORDS ; NumTexcoords + + )
{
if ( RawMesh . WedgeTexCoords [ NumTexcoords ] . Num ( ) = = 0 )
break ;
}
// check if we should use NewUVs or original UV set
bool bUseNewUVs = Data . TexCoords . Num ( ) > 0 ;
if ( bUseNewUVs )
{
check ( Data . TexCoords . Num ( ) = = RawMesh . WedgeTexCoords [ 0 ] . Num ( ) ) ;
ScaleX = Data . Size . X ;
ScaleY = Data . Size . Y ;
}
// add vertices
int32 VertIndex = 0 ;
bool bHasVertexColor = ( RawMesh . WedgeColors . Num ( ) > 0 ) ;
for ( int32 FaceIndex = 0 ; FaceIndex < TotalNumFaces ; FaceIndex + + )
{
if ( RawMesh . FaceMaterialIndices [ FaceIndex ] = = Data . MaterialIndex )
{
for ( int32 Corner = 0 ; Corner < 3 ; Corner + + )
{
int32 SrcVertIndex = FaceIndex * 3 + Corner ;
// add vertex
FMaterialMeshVertex * Vert = new ( OutVerts ) FMaterialMeshVertex ( ) ;
if ( ! bUseNewUVs )
{
// compute vertex position from original UV
const FVector2D & UV = RawMesh . WedgeTexCoords [ 0 ] [ SrcVertIndex ] ;
Vert - > Position . Set ( ( UV . X - U ) * ScaleX , ( UV . Y - V ) * ScaleY , 0 ) ;
}
else
{
const FVector2D & UV = Data . TexCoords [ SrcVertIndex ] ;
Vert - > Position . Set ( UV . X * ScaleX , UV . Y * ScaleY , 0 ) ;
}
Vert - > SetTangents ( RawMesh . WedgeTangentX [ SrcVertIndex ] , RawMesh . WedgeTangentY [ SrcVertIndex ] , RawMesh . WedgeTangentZ [ SrcVertIndex ] ) ;
for ( int32 TexcoordIndex = 0 ; TexcoordIndex < NumTexcoords ; TexcoordIndex + + )
Vert - > TextureCoordinate [ TexcoordIndex ] = RawMesh . WedgeTexCoords [ TexcoordIndex ] [ SrcVertIndex ] ;
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2792706 on 2015/12/07 by Terence.Burns
Rebuild lightmaps automation changes
- Sync and Build binary files for execution
- Much improved error handling
- Email notification support added.
#Note - This should massively simplify the batch script we use to rebuild lightmaps.
#rb none
#Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly.
Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt
Added settings to toggle on and off display of Ping and FPS values.
Server FPS will be disabled before ship
#rb none #test pc/ps4 golden path, pie
Change 2791827 on 2015/12/05 by Marcus.Wassmer
Fix texture memory leak. Fixes automation using too much memory.
#rb Brad.Angelcyk
#codereview bob.ferreira
#test automation runs, editor.
Change 2791313 on 2015/12/04 by Martin.Mittring
fixed PS4 compiling
#rb:Michael.Noland
#test:not
Change 2791014 on 2015/12/04 by Martin.Mittring
nicer cvar help for r.PS4ContinuousSubmits
#rb:Olaf.Piesche
#code_review:Marcus.Wassmer
#test:PC
Change 2791011 on 2015/12/04 by Martin.Mittring
fixed compile error when disabling ENABLE_TEXTURE_TRACKING
#rb:Olaf.Piesche
#test:run Paragon on PC
Change 2790848 on 2015/12/04 by Martin.Mittring
missing changes
nicer cvar help, optimized unneccessary referencecounting, removed redundant code
#rb:Olaf.Piesche
#test:PC Paragon
Change 2790840 on 2015/12/04 by Martin.Mittring
nicer cvar help, optimized unneccessary referencecounting, removed redundant code
#rb:Olaf.Piesche
#test:PC Paragon
Change 2791585 on 2015/12/04 by Michael.Noland
Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD
#rb None
#tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh
Change 2791244 on 2015/12/04 by Ryan.Brucks
Submitting all my Paragon Content before the new Agora Branch.
Change 2791240 on 2015/12/04 by Marcus.Wassmer
Bump to .061 patch and new pub tools to pass cert
#rb non
#test compile ps4
Change 2791132 on 2015/12/04 by ryan.brucks
RenderToTextureMacros: fixed issue with polygon index being +1 on accident
Change 2790747 on 2015/12/04 by Terence.Burns
Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines.
#rb None
#tests Run through the Rebuild Lightmaps UAT script process.
Change 2790589 on 2015/12/04 by Bart.Bressler
- Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359.
#rb sam.zamani
#tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session
Change 2790418 on 2015/12/04 by James.Golding
Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation
#rb none
#tests none
Change 2790333 on 2015/12/04 by James.Golding
Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing
#rb martin.wilson
#codereview jurre.debaare
#tests Built HLOD meshes in the editor
Change 2790292 on 2015/12/04 by Olaf.Piesche
Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes
#rb marcus.wassmer
#tests Editor, PIE
Change 2790003 on 2015/12/04 by James.Golding
Fix possible crash in ALODActor::RemoveSubActor
#rb keith.judge
#codereview jurre.debaare
#tests Generated HLOD proxy in editor
Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
Vert - > TextureCoordinate [ 6 ] . X = RawMesh . VertexPositions [ RawMesh . WedgeIndices [ SrcVertIndex ] ] . X ;
Vert - > TextureCoordinate [ 6 ] . Y = RawMesh . VertexPositions [ RawMesh . WedgeIndices [ SrcVertIndex ] ] . Y ;
Vert - > TextureCoordinate [ 7 ] . X = RawMesh . VertexPositions [ RawMesh . WedgeIndices [ SrcVertIndex ] ] . Z ;
2015-10-28 19:18:20 -04:00
Vert - > Color = bHasVertexColor ? RawMesh . WedgeColors [ SrcVertIndex ] . DWColor ( ) : DefaultColor ;
// add index
OutIndices . Add ( VertIndex ) ;
VertIndex + + ;
}
if ( bDuplicateTris )
{
// add the same triangle with opposite vertex order
OutIndices . Add ( VertIndex - 3 ) ;
OutIndices . Add ( VertIndex - 1 ) ;
OutIndices . Add ( VertIndex - 2 ) ;
}
}
}
return NumTris ;
}
static int32 FillSkeletalMeshData ( bool bDuplicateTris , const FStaticLODModel & LODModel , FRenderData & Data , TArray < FMaterialMeshVertex > & OutVerts , TArray < int32 > & OutIndices )
{
TArray < FSoftSkinVertex > Vertices ;
FMultiSizeIndexContainerData IndexData ;
LODModel . GetVertices ( Vertices ) ;
LODModel . MultiSizeIndexContainer . GetIndexBufferData ( IndexData ) ;
int32 NumTris = 0 ;
int32 NumVerts = 0 ;
const int32 SectionCount = LODModel . NumNonClothingSections ( ) ;
// count triangles and vertices for selected material
for ( int32 SectionIndex = 0 ; SectionIndex < SectionCount ; SectionIndex + + )
{
const FSkelMeshSection & Section = LODModel . Sections [ SectionIndex ] ;
if ( Section . MaterialIndex = = Data . MaterialIndex )
{
NumTris + = Section . NumTriangles ;
2016-06-16 11:54:44 -04:00
NumVerts + = Section . GetNumVertices ( ) ;
2015-10-28 19:18:20 -04:00
}
}
if ( NumTris = = 0 )
{
// there's nothing to do here
return 0 ;
}
bool bUseNewUVs = Data . TexCoords . Num ( ) > 0 ;
if ( bUseNewUVs )
{
// we should split all merged vertices because UVs are prepared per-corner, i.e. has
// (NumTris * 3) vertices
NumVerts = NumTris * 3 ;
}
// reserve renderer data
OutVerts . Empty ( NumVerts ) ;
OutIndices . Empty ( bDuplicateTris ? NumVerts * 2 : NumVerts ) ;
float U = Data . TexcoordBounds . Min . X ;
float V = Data . TexcoordBounds . Min . Y ;
float SizeU = Data . TexcoordBounds . Max . X - Data . TexcoordBounds . Min . X ;
float SizeV = Data . TexcoordBounds . Max . Y - Data . TexcoordBounds . Min . Y ;
float ScaleX = ( SizeU ! = 0 ) ? Data . Size . X / SizeU : 1.0 ;
float ScaleY = ( SizeV ! = 0 ) ? Data . Size . Y / SizeV : 1.0 ;
uint32 DefaultColor = FColor : : White . DWColor ( ) ;
int32 NumTexcoords = LODModel . NumTexCoords ;
// check if we should use NewUVs or original UV set
if ( bUseNewUVs )
{
ScaleX = Data . Size . X ;
ScaleY = Data . Size . Y ;
}
// add vertices
if ( ! bUseNewUVs )
{
// Use original UV from mesh, render indexed mesh as indexed mesh.
uint32 FirstVertex = 0 ;
uint32 OutVertexIndex = 0 ;
for ( int32 SectionIndex = 0 ; SectionIndex < SectionCount ; SectionIndex + + )
{
const FSkelMeshSection & Section = LODModel . Sections [ SectionIndex ] ;
2016-06-16 11:54:44 -04:00
const int32 NumVertsInSection = Section . GetNumVertices ( ) ;
2015-10-28 19:18:20 -04:00
if ( Section . MaterialIndex = = Data . MaterialIndex )
{
// offset to remap source mesh vertex index to destination vertex index
int32 IndexOffset = FirstVertex - OutVertexIndex ;
// copy vertices
int32 SrcVertIndex = FirstVertex ;
2016-06-16 11:54:44 -04:00
for ( int32 VertIndex = 0 ; VertIndex < NumVertsInSection ; VertIndex + + )
2015-10-28 19:18:20 -04:00
{
const FSoftSkinVertex & SrcVert = Vertices [ SrcVertIndex ] ;
FMaterialMeshVertex * DstVert = new ( OutVerts ) FMaterialMeshVertex ( ) ;
// compute vertex position from original UV
const FVector2D & UV = SrcVert . UVs [ 0 ] ;
DstVert - > Position . Set ( ( UV . X - U ) * ScaleX , ( UV . Y - V ) * ScaleY , 0 ) ;
DstVert - > SetTangents ( SrcVert . TangentX , SrcVert . TangentY , SrcVert . TangentZ ) ;
for ( int32 TexcoordIndex = 0 ; TexcoordIndex < NumTexcoords ; TexcoordIndex + + )
DstVert - > TextureCoordinate [ TexcoordIndex ] = SrcVert . UVs [ TexcoordIndex ] ;
DstVert - > Color = SrcVert . Color . DWColor ( ) ;
SrcVertIndex + + ;
OutVertexIndex + + ;
}
// copy indices
int32 Index = Section . BaseIndex ;
for ( uint32 TriIndex = 0 ; TriIndex < Section . NumTriangles ; TriIndex + + )
{
uint32 Index0 = IndexData . Indices [ Index + + ] - IndexOffset ;
uint32 Index1 = IndexData . Indices [ Index + + ] - IndexOffset ;
uint32 Index2 = IndexData . Indices [ Index + + ] - IndexOffset ;
OutIndices . Add ( Index0 ) ;
OutIndices . Add ( Index1 ) ;
OutIndices . Add ( Index2 ) ;
if ( bDuplicateTris )
{
// add the same triangle with opposite vertex order
OutIndices . Add ( Index0 ) ;
OutIndices . Add ( Index2 ) ;
OutIndices . Add ( Index1 ) ;
}
}
}
2016-06-16 11:54:44 -04:00
FirstVertex + = NumVertsInSection ;
2015-10-28 19:18:20 -04:00
}
}
else // bUseNewUVs
{
// Use external UVs. These UVs are prepared per-corner, so we should convert indexed mesh to non-indexed, without
// sharing of vertices between triangles.
uint32 OutVertexIndex = 0 ;
for ( int32 SectionIndex = 0 ; SectionIndex < SectionCount ; SectionIndex + + )
{
const FSkelMeshSection & Section = LODModel . Sections [ SectionIndex ] ;
if ( Section . MaterialIndex = = Data . MaterialIndex )
{
// copy vertices
int32 LastIndex = Section . BaseIndex + Section . NumTriangles * 3 ;
for ( int32 Index = Section . BaseIndex ; Index < LastIndex ; Index + = 3 )
{
for ( int32 Corner = 0 ; Corner < 3 ; Corner + + )
{
int32 CornerIndex = Index + Corner ;
int32 SrcVertIndex = IndexData . Indices [ CornerIndex ] ;
const FSoftSkinVertex & SrcVert = Vertices [ SrcVertIndex ] ;
FMaterialMeshVertex * DstVert = new ( OutVerts ) FMaterialMeshVertex ( ) ;
const FVector2D & UV = Data . TexCoords [ CornerIndex ] ;
DstVert - > Position . Set ( UV . X * ScaleX , UV . Y * ScaleY , 0 ) ;
DstVert - > SetTangents ( SrcVert . TangentX , SrcVert . TangentY , SrcVert . TangentZ ) ;
for ( int32 TexcoordIndex = 0 ; TexcoordIndex < NumTexcoords ; TexcoordIndex + + )
DstVert - > TextureCoordinate [ TexcoordIndex ] = SrcVert . UVs [ TexcoordIndex ] ;
DstVert - > Color = SrcVert . Color . DWColor ( ) ;
OutIndices . Add ( OutVertexIndex ) ;
OutVertexIndex + + ;
}
if ( bDuplicateTris )
{
// add the same triangle with opposite vertex order
OutIndices . Add ( OutVertexIndex - 3 ) ;
OutIndices . Add ( OutVertexIndex - 1 ) ;
OutIndices . Add ( OutVertexIndex - 2 ) ;
}
}
}
}
}
return NumTris ;
}
static int32 FillQuadData ( FRenderData & Data , TArray < FMaterialMeshVertex > & OutVerts , TArray < int32 > & OutIndices )
{
OutVerts . Empty ( 4 ) ;
OutIndices . Empty ( 6 ) ;
float U = Data . TexcoordBounds . Min . X ;
float V = Data . TexcoordBounds . Min . Y ;
float SizeU = Data . TexcoordBounds . Max . X - Data . TexcoordBounds . Min . X ;
float SizeV = Data . TexcoordBounds . Max . Y - Data . TexcoordBounds . Min . Y ;
float ScaleX = ( SizeU ! = 0 ) ? Data . Size . X / SizeU : 1.0 ;
float ScaleY = ( SizeV ! = 0 ) ? Data . Size . Y / SizeV : 1.0 ;
uint32 DefaultColor = FColor : : White . DWColor ( ) ;
// add vertices
for ( int32 VertIndex = 0 ; VertIndex < 4 ; VertIndex + + )
{
FMaterialMeshVertex * Vert = new ( OutVerts ) FMaterialMeshVertex ( ) ;
int X = VertIndex & 1 ;
int Y = ( VertIndex > > 1 ) & 1 ;
Vert - > Position . Set ( ScaleX * X , ScaleY * Y , 0 ) ;
Vert - > SetTangents ( FVector ( 1 , 0 , 0 ) , FVector ( 0 , 1 , 0 ) , FVector ( 0 , 0 , 1 ) ) ;
FMemory : : Memzero ( & Vert - > TextureCoordinate , sizeof ( Vert - > TextureCoordinate ) ) ;
Vert - > TextureCoordinate [ 0 ] . Set ( U + SizeU * X , V + SizeV * Y ) ;
Vert - > Color = DefaultColor ;
}
// add indices
static const int32 Indices [ 6 ] = { 0 , 2 , 1 , 2 , 3 , 1 } ;
OutIndices . Append ( Indices , 6 ) ;
return 2 ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
static void RenderMaterial ( FRHICommandListImmediate & RHICmdList , FDrawingPolicyRenderState & DrawRenderState , const class FSceneView & View , FRenderData & Data )
2015-10-28 19:18:20 -04:00
{
FMeshBatch MeshElement ;
MeshElement . VertexFactory = & GMeshVertexFactory ;
MeshElement . DynamicVertexStride = sizeof ( FMaterialMeshVertex ) ;
MeshElement . ReverseCulling = false ;
MeshElement . UseDynamicData = true ;
MeshElement . Type = PT_TriangleList ;
MeshElement . DepthPriorityGroup = SDPG_Foreground ;
FMeshBatchElement & BatchElement = MeshElement . Elements [ 0 ] ;
BatchElement . PrimitiveUniformBufferResource = & GIdentityPrimitiveUniformBuffer ;
# if SHOW_WIREFRAME_MESH
MeshElement . bWireframe = true ;
# endif
// Check if material is TwoSided - single-sided materials should be rendered with normal and reverse
// triangle corner orders, to avoid problems with inside-out meshes or mesh parts. Note:
// FExportMaterialProxy::GetMaterial() (which is really called here) ignores 'InFeatureLevel' parameter.
2016-04-04 18:44:59 -04:00
const FMaterial * Material = Data . MaterialRenderProxy - > GetMaterial ( GMaxRHIFeatureLevel ) ;
2015-10-28 19:18:20 -04:00
bool bIsMaterialTwoSided = Material - > IsTwoSided ( ) ;
TArray < FMaterialMeshVertex > Verts ;
TArray < int32 > Indices ;
int32 NumTris = 0 ;
if ( Data . StaticMesh ! = nullptr )
{
check ( Data . SkeletalMesh = = nullptr )
NumTris = FillStaticMeshData ( ! bIsMaterialTwoSided , * Data . StaticMesh , Data , Verts , Indices ) ;
}
else if ( Data . SkeletalMesh ! = nullptr )
{
NumTris = FillSkeletalMeshData ( ! bIsMaterialTwoSided , * Data . SkeletalMesh , Data , Verts , Indices ) ;
}
else
{
// both are null, use simple rectangle
NumTris = FillQuadData ( Data , Verts , Indices ) ;
}
if ( NumTris = = 0 )
{
// there's nothing to do here
return ;
}
MeshElement . UseDynamicData = true ;
MeshElement . DynamicVertexData = Verts . GetData ( ) ;
MeshElement . MaterialRenderProxy = Data . MaterialRenderProxy ;
// an attempt to use index data
BatchElement . FirstIndex = 0 ;
BatchElement . NumPrimitives = bIsMaterialTwoSided ? NumTris : NumTris * 2 ;
BatchElement . DynamicIndexData = Indices . GetData ( ) ;
BatchElement . DynamicIndexStride = sizeof ( int32 ) ;
BatchElement . MinVertexIndex = 0 ;
BatchElement . MaxVertexIndex = Verts . Num ( ) - 1 ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
GetRendererModule ( ) . DrawTileMesh ( RHICmdList , DrawRenderState , View , MeshElement , false /*bIsHitTesting*/ , FHitProxyId ( ) ) ;
2015-10-28 19:18:20 -04:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
virtual bool Render_RenderThread ( FRHICommandListImmediate & RHICmdList , FDrawingPolicyRenderState & DrawRenderState , const FCanvas * Canvas )
2015-10-28 19:18:20 -04:00
{
checkSlow ( Data ) ;
// current render target set for the canvas
const FRenderTarget * CanvasRenderTarget = Canvas - > GetRenderTarget ( ) ;
FIntRect ViewRect ( FIntPoint ( 0 , 0 ) , CanvasRenderTarget - > GetSizeXY ( ) ) ;
// make a temporary view
FSceneViewInitOptions ViewInitOptions ;
ViewInitOptions . ViewFamily = Data - > ViewFamily ;
ViewInitOptions . SetViewRectangle ( ViewRect ) ;
ViewInitOptions . ViewOrigin = FVector : : ZeroVector ;
ViewInitOptions . ViewRotationMatrix = FMatrix : : Identity ;
ViewInitOptions . ProjectionMatrix = Data - > Transform . GetMatrix ( ) ;
ViewInitOptions . BackgroundColor = FLinearColor : : Black ;
ViewInitOptions . OverlayColor = FLinearColor : : White ;
bool bNeedsToSwitchVerticalAxis = RHINeedsToSwitchVerticalAxis ( Canvas - > GetShaderPlatform ( ) ) & & ! Canvas - > GetAllowSwitchVerticalAxis ( ) ;
check ( bNeedsToSwitchVerticalAxis = = false ) ;
FSceneView * View = new FSceneView ( ViewInitOptions ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
RenderMaterial ( RHICmdList , DrawRenderState , * View , * Data ) ;
2015-10-28 19:18:20 -04:00
delete View ;
if ( Canvas - > GetAllowedModes ( ) & FCanvas : : Allow_DeleteOnRender )
{
delete Data ;
}
if ( Canvas - > GetAllowedModes ( ) & FCanvas : : Allow_DeleteOnRender )
{
Data = NULL ;
}
return true ;
}
virtual bool Render_GameThread ( const FCanvas * Canvas )
{
checkSlow ( Data ) ;
// current render target set for the canvas
const FRenderTarget * CanvasRenderTarget = Canvas - > GetRenderTarget ( ) ;
FIntRect ViewRect ( FIntPoint ( 0 , 0 ) , CanvasRenderTarget - > GetSizeXY ( ) ) ;
// make a temporary view
FSceneViewInitOptions ViewInitOptions ;
ViewInitOptions . ViewFamily = Data - > ViewFamily ;
ViewInitOptions . SetViewRectangle ( ViewRect ) ;
ViewInitOptions . ViewOrigin = FVector : : ZeroVector ;
ViewInitOptions . ViewRotationMatrix = FMatrix : : Identity ;
ViewInitOptions . ProjectionMatrix = Data - > Transform . GetMatrix ( ) ;
ViewInitOptions . BackgroundColor = FLinearColor : : Black ;
ViewInitOptions . OverlayColor = FLinearColor : : White ;
FSceneView * View = new FSceneView ( ViewInitOptions ) ;
bool bNeedsToSwitchVerticalAxis = RHINeedsToSwitchVerticalAxis ( Canvas - > GetShaderPlatform ( ) ) & & ! Canvas - > GetAllowSwitchVerticalAxis ( ) ;
check ( bNeedsToSwitchVerticalAxis = = false ) ;
struct FDrawMaterialParameters
{
FSceneView * View ;
FRenderData * RenderData ;
uint32 AllowedCanvasModes ;
} ;
FDrawMaterialParameters DrawMaterialParameters =
{
View ,
Data ,
Canvas - > GetAllowedModes ( )
} ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
FDrawMaterialParameters Parameters = DrawMaterialParameters ;
ENQUEUE_RENDER_COMMAND ( DrawMaterialCommand ) (
[ Parameters ] ( FRHICommandListImmediate & RHICmdList )
2015-10-28 19:18:20 -04:00
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
FDrawingPolicyRenderState DrawRenderState ( * Parameters . View ) ;
// disable depth test & writes
DrawRenderState . SetDepthStencilState ( TStaticDepthStencilState < false , CF_Always > : : GetRHI ( ) ) ;
RenderMaterial ( RHICmdList , DrawRenderState , * Parameters . View , * Parameters . RenderData ) ;
2015-10-28 19:18:20 -04:00
delete Parameters . View ;
if ( Parameters . AllowedCanvasModes & FCanvas : : Allow_DeleteOnRender )
{
delete Parameters . RenderData ;
}
} ) ;
if ( Canvas - > GetAllowedModes ( ) & FCanvas : : Allow_DeleteOnRender )
{
Data = NULL ;
}
return true ;
}
} ;
bool FMeshRenderer : : RenderMaterial ( struct FMaterialMergeData & InMaterialData , FMaterialRenderProxy * InMaterialProxy , EMaterialProperty InMaterialProperty , UTextureRenderTarget2D * InRenderTarget , TArray < FColor > & OutBMP )
{
2016-04-04 18:44:59 -04:00
check ( IsInGameThread ( ) ) ;
2015-10-28 19:18:20 -04:00
check ( InRenderTarget ) ;
FTextureRenderTargetResource * RTResource = InRenderTarget - > GameThread_GetRenderTargetResource ( ) ;
{
// Create a canvas for the render target and clear it to black
FCanvas Canvas ( RTResource , NULL , FApp : : GetCurrentTime ( ) - GStartTime , FApp : : GetDeltaTime ( ) , FApp : : GetCurrentTime ( ) - GStartTime , GMaxRHIFeatureLevel ) ;
#if 0 // original FFlattenMaterial code - kept here for comparison
# if !SHOW_WIREFRAME_MESH
Canvas . Clear ( InRenderTarget - > ClearColor ) ;
# else
Canvas . Clear ( FLinearColor : : Yellow ) ;
# endif
FVector2D UV0 ( InMaterialData . TexcoordBounds . Min . X , InMaterialData . TexcoordBounds . Min . Y ) ;
FVector2D UV1 ( InMaterialData . TexcoordBounds . Max . X , InMaterialData . TexcoordBounds . Max . Y ) ;
FCanvasTileItem TileItem ( FVector2D ( 0.0f , 0.0f ) , InMaterialProxy , FVector2D ( InRenderTarget - > SizeX , InRenderTarget - > SizeY ) , UV0 , UV1 ) ;
TileItem . bFreezeTime = true ;
Canvas . DrawItem ( TileItem ) ;
Canvas . Flush_GameThread ( ) ;
# else
// create ViewFamily
float CurrentRealTime = 0.f ;
float CurrentWorldTime = 0.f ;
float DeltaWorldTime = 0.f ;
const FRenderTarget * CanvasRenderTarget = Canvas . GetRenderTarget ( ) ;
FSceneViewFamily ViewFamily ( FSceneViewFamily : : ConstructionValues (
CanvasRenderTarget ,
NULL ,
FEngineShowFlags ( ESFIM_Game ) )
. SetWorldTimes ( CurrentWorldTime , DeltaWorldTime , CurrentRealTime )
. SetGammaCorrection ( CanvasRenderTarget - > GetDisplayGamma ( ) ) ) ;
# if !SHOW_WIREFRAME_MESH
Canvas . Clear ( InRenderTarget - > ClearColor ) ;
# else
Canvas . Clear ( FLinearColor : : Yellow ) ;
# endif
// add item for rendering
FMeshMaterialRenderItem : : EnqueueMaterialRender (
& Canvas ,
& ViewFamily ,
InMaterialData . Mesh ,
InMaterialData . LODModel ,
InMaterialData . MaterialIndex ,
InMaterialData . TexcoordBounds ,
InMaterialData . TexCoords ,
FVector2D ( InRenderTarget - > SizeX , InRenderTarget - > SizeY ) ,
InMaterialProxy
) ;
// rendering is performed here
Canvas . Flush_GameThread ( ) ;
# endif
FlushRenderingCommands ( ) ;
Canvas . SetRenderTarget_GameThread ( NULL ) ;
FlushRenderingCommands ( ) ;
}
bool bNormalmap = ( InMaterialProperty = = MP_Normal ) ;
FReadSurfaceDataFlags ReadPixelFlags ( bNormalmap ? RCM_SNorm : RCM_UNorm ) ;
ReadPixelFlags . SetLinearToGamma ( false ) ;
bool result = false ;
if ( InMaterialProperty ! = MP_EmissiveColor )
{
// Read normal color image
result = RTResource - > ReadPixels ( OutBMP , ReadPixelFlags ) ;
}
else
{
// Read HDR emissive image
TArray < FFloat16Color > Color16 ;
result = RTResource - > ReadFloat16Pixels ( Color16 ) ;
// Find color scale value
float MaxValue = 0 ;
for ( int32 PixelIndex = 0 ; PixelIndex < Color16 . Num ( ) ; PixelIndex + + )
{
FFloat16Color & Pixel16 = Color16 [ PixelIndex ] ;
float R = Pixel16 . R . GetFloat ( ) ;
float G = Pixel16 . G . GetFloat ( ) ;
float B = Pixel16 . B . GetFloat ( ) ;
float Max = FMath : : Max3 ( R , G , B ) ;
if ( Max > MaxValue )
{
MaxValue = Max ;
}
}
if ( MaxValue < = 0.01f )
{
// Black emissive, drop it
return false ;
}
// Now convert Float16 to Color
OutBMP . SetNumUninitialized ( Color16 . Num ( ) ) ;
float Scale = 255.0f / MaxValue ;
for ( int32 PixelIndex = 0 ; PixelIndex < Color16 . Num ( ) ; PixelIndex + + )
{
FFloat16Color & Pixel16 = Color16 [ PixelIndex ] ;
FColor & Pixel8 = OutBMP [ PixelIndex ] ;
Pixel8 . R = ( uint8 ) FMath : : RoundToInt ( Pixel16 . R . GetFloat ( ) * Scale ) ;
Pixel8 . G = ( uint8 ) FMath : : RoundToInt ( Pixel16 . G . GetFloat ( ) * Scale ) ;
Pixel8 . B = ( uint8 ) FMath : : RoundToInt ( Pixel16 . B . GetFloat ( ) * Scale ) ;
}
InMaterialData . EmissiveScale = MaxValue ;
}
2016-02-04 10:55:30 -05:00
PerformUVBorderSmear ( OutBMP , InRenderTarget - > GetSurfaceWidth ( ) , InRenderTarget - > GetSurfaceHeight ( ) , bNormalmap ) ;
//#define SAVE_INTERMEDIATE_TEXTURES 1
2015-10-28 19:18:20 -04:00
# ifdef SAVE_INTERMEDIATE_TEXTURES
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3153514)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3050254 on 2016/07/14 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3049614
Change 3136629 on 2016/09/22 by Marc.Audy
bye bye auto
Change 3136631 on 2016/09/22 by Marc.Audy
Allow objects to be marked as duplicate transient or non PIE duplicate transient
ChildActors are not marked consistent with the property that references them as text export transient and non PIE duplicate transient
#jira UE-35680
Change 3136636 on 2016/09/22 by Marc.Audy
ParticleSystem and Audio Components now route Activate/Deactivate events to blueprints
Component Activate/Deactivate events now provide component as a property
#jira UE-35191
Change 3136640 on 2016/09/22 by Marc.Audy
Expose bReplicates to blueprint component properties
#jira UE-34433
Change 3136709 on 2016/09/22 by Ori.Cohen
Fix GetBodyInstance returning incorrect bodies when welded kinematics are attached.
#JIRA UE-36234
Change 3136710 on 2016/09/22 by Ori.Cohen
Fix defer actors not working when the physics scene is simulating. We now flush when the scene is not simulating, as well as a lazy flush that goes through the slow path when needed. This allows us to batch multiple components together.
#JIRA UE-35899
Change 3136770 on 2016/09/22 by Marc.Audy
Fix compile error
Change 3136854 on 2016/09/22 by Marc.Audy
Sprite components need to be text export transient
#jira UE-36064
Change 3136926 on 2016/09/22 by Ori.Cohen
Fix ensure when skeletal mesh bodies have no collision.
Change 3137054 on 2016/09/22 by Aaron.McLeran
PR #2628: Fix UAudioComponent SubtitlePriority not being initialised (Contributed by alanedwardes)
Change 3137058 on 2016/09/22 by Aaron.McLeran
PR #2562: ReadCompressedInfo calculates duration for ADPCM audio (Contributed by derekvanvliet)
Change 3137060 on 2016/09/22 by Aaron.McLeran
UE-36336 Fixing A3D for mono/2D sounds
- Making it so if A3D is being loaded but not enabled, we can not have reverb on 2D sounds
- Fixing A3D mono sources from failing after a time
Change 3137066 on 2016/09/22 by Aaron.McLeran
Checking in Ngs2.Build.cs with A3D and USING_A3D set to 0
Change 3137098 on 2016/09/22 by dan.reynolds
AEOverview Update: EQ Map, Reverb Map plus improvements on Main array cleanup process.
Change 3137132 on 2016/09/22 by Aaron.McLeran
PR #2789: Fixed signature of FActiveSound::GetIntParameter (Contributed by Laurie-Hedge)
Change 3137175 on 2016/09/22 by Aaron.McLeran
Fixing compile error with PhysXCollision.cpp from CL 3136710
Change 3137540 on 2016/09/23 by Thomas.Sarkanen
Fixed crash when generating LODs automatically for skeletal meshes
Quadric error reduction does not support skeletal meshes, so fails. Client code assumes that it cannot fail so crashed. This guards against immediatly assuming that LODs are valid after simplification.
#jira UE-36253 - Crash applying LOD changes in Persona
Change 3137720 on 2016/09/23 by Thomas.Sarkanen
Changed asset shortcut bar to display asset names & reworked padding
#jira UE-36347 - Anim asset shortcut bar has difficult to read/cut-off text
Change 3137761 on 2016/09/23 by Martin.Wilson
Fix typo in root motion from everything accumulation code
Change 3137877 on 2016/09/23 by Thomas.Sarkanen
Fixed undo/redo forcing skeletal meshes into t-pose
Re-populated AnimationData in InitAnim for UDebugSkelMeshComponent.
#jira UE-35579 - If you undo an animation change to any animation asset (for single preview), the playback controls will no longer function
Change 3137885 on 2016/09/23 by Benn.Gallagher
Fixed APEX clothing disappearing when time dilation results in a dt of 0. After simulating an actor with 0 APEX will fill positions and normals with NaNs, causing the disappearance. The fix in this case is to not schedule the evaluation task if we're not wanting to do any work. The simulation then freezes as we would expect.
#jira UE-35151
Change 3137888 on 2016/09/23 by Benn.Gallagher
Fixed transition nodes being able to be pasted or duplicated without 2 valid pin links
#jira UE-24860
Change 3137889 on 2016/09/23 by Benn.Gallagher
Fixed transform and widget inconsistencies in IK edit mode
#jira UE-20628
Change 3137890 on 2016/09/23 by Jurre.deBaare
Alembic Cached Geometry Does Not Display in Stand Alone Game
#fix required to force load the GeometryCache module during runtime
#jira UE-36187
Change 3137892 on 2016/09/23 by Jurre.deBaare
Geometry cache playback should work in sequencer
#fix add Interp UProperty tag to specific properties used for playing back the cache, future fix is having same approach as skeletal mesh animation for sequencer (depends on needs, -> skeletal mesh import has better compression anyway)
#jira UE-35447
Change 3137893 on 2016/09/23 by Jurre.deBaare
Alembic Cache Importer option for Hard Edge Angle Threshold does not work for objects with no normals
#fix adhere to the assumed 'standard' no normals in ABC file means completely smooth normals throughout the sequence
#jira UE-35091
Change 3137894 on 2016/09/23 by Jurre.deBaare
Importing an Alembic File While mesh Distance Fields are Enabled Crashes Editor
#fix Needed to save the raw mesh before building the mesh to ensure a LOD resource was created
#misc added a new check + message in case this occurs again
#jira UE-36059
Change 3137938 on 2016/09/23 by Jurre.deBaare
Alembic Importing with Incorrect UV's
#fix adding option for flipping UVs on import
#jira UE-36190
Alembic import axis not aligned correctly
#fix also added option to specify scale and rotation to be applied during import (with preset for Maya and Max)
#jira UE-35510
Change 3137949 on 2016/09/23 by Jurre.deBaare
Frame range importing causes confusion during Alembic importing
#fix this required storing information per Alembic object at which frame index it actual has stored frames, using this data we can determine which frames are empty, and at which frame there is data. This allows us to skip empty frames if we want to import data-only frames, or to import all frames in the sequence including empty (pre-roll) frames.
#misc changed settings UI listview layout (extra columns and resized old ones)
#jira UE-35498
Change 3137994 on 2016/09/23 by Martin.Wilson
Fix for creating an empty state when dragging a montage into a state machine graph
#jira UE-33371
Change 3138103 on 2016/09/23 by Aaron.McLeran
UE-36312 Fixing sound node distance cross fade for case of looping sounds
Change 3138104 on 2016/09/23 by Aaron.McLeran
UE-35392 Copy pasting local node into separate project crashes the engine
Change 3138224 on 2016/09/23 by Aaron.McLeran
UE-36312 Fixing sound node distance cross fade for case of looping sounds
- Adding a check for wave instance count to account for virtualized sounds (one-shots)
Change 3138666 on 2016/09/23 by Ben.Zeigler
#UEFW-204 Add more comprehensive gameplay tag tests
Fix issue with HasTag(Tag, IncludeParent, IncludeParent) revealed by tests, this was not returning true correctly in some cases. This use case is weird and will be deprecated soon
Change 3138779 on 2016/09/23 by Marc.Audy
Get rid of pointless casts
Change 3138782 on 2016/09/23 by Marc.Audy
remove some GWorlds
Change 3139701 on 2016/09/26 by Jurre.deBaare
Assert failed on GemetryCache for PS4 package
#fix add GeometryCache reference in engine build.cs and fix the serialization of geometry cache files
#jira UE-36392
Change 3139704 on 2016/09/26 by Jurre.deBaare
Fix for -1 begin frame
#fix do the max as an signed int, to make sure we don't wrap around
Change 3139748 on 2016/09/26 by Benn.Gallagher
PR #2784: Make sure that SceneScratchBufferSize is a multiple of 16K as requested by PhysX (Contributed by DenizPiri)
Moved the definition of the boundary to a FPhysScene class static
Changed comments on original user settings property to communicate the fact that the value is now rounded to the next 16K boundary
#jira UE-35736
Change 3139903 on 2016/09/26 by Benn.Gallagher
Fixed exposing subinstance pins stomping over class defaults and setting to uninitialized values
#jira UE-34366
Change 3140409 on 2016/09/26 by Lukasz.Furman
fixed uninitialized configs of gameplay debugger
copy of CL# 3140399
Change 3140516 on 2016/09/26 by dan.reynolds
AEOverview Map Update - Ambient Zone + Focus Test
Change 3140526 on 2016/09/26 by Jon.Nabozny
#rn Fixed CanJump inconsistencies with previous versions.
Deferred JumpCurrentCount increment until after jump, made bWasJumping a member variable, and updated how
jump count and hold time were compared in CanJump.
#jira UE-35524, UE-35582
Change 3140745 on 2016/09/26 by dan.reynolds
AEOverview Test Map Update + Occlusion Test
Change 3140839 on 2016/09/26 by dan.reynolds
AEOverview - minor updates
Change 3141101 on 2016/09/27 by Thomas.Sarkanen
Preview scene worlds now render correctly
Split "Preview" type into "EditorPreview" (the default) and "GamePreview". Deprecated the old "Preview" world type (but kept its index).
In-game hidden flags now apply to GamePreview, but not EditorPreview worlds.
Deprecated old bHack_Force_UsesGameHiddenFlags_True boolean. GamePReview now serves this purpose.
Fixed up UT cases where this was being used.
FPreviewScenes now use the editor mode by default, but can be set to non-editor if needed (as is the case with the still-experimental UViewport).
Custom depth pass is not enabled for EditorPreview (as before) but is for GamePreview.
Fixed erroneous use of TEnumAsByte for non-uproperty WorldType.
#jira UE-22883 - Using FPreviewScenes in-game for scene captures
Change 3141106 on 2016/09/27 by Thomas.Sarkanen
Column toggling improvements
Column toggle menu now does not close when items are selected.
This requries some Slate changes to how submenus are built to allow for sumbenus to specify whether they close after selection.
Also allowed columns to be hidden by default for specific use cases (like the sequence browser).
#jira UE-35818 - Anim asset browser column picker should stay up
Change 3141131 on 2016/09/27 by Thomas.Sarkanen
Fix CIS warnings
Fallout from preview world changes
Change 3141143 on 2016/09/27 by Jurre.deBaare
Fix for CIS errors
Change 3141235 on 2016/09/27 by Thomas.Sarkanen
Fix offset of Persona floor mesh when auto-alignment is enabled
When auto alignment was disabled, the offset wasnt getting taken into account.
#jira UE-35544 - In Persona, Floor Height Offset does nothing with Auto Align Floor to Mesh disabled
Change 3141327 on 2016/09/27 by Marc.Audy
Ensure that the client side AttachChildren array remains accurate
#jira UE-26025
Change 3141474 on 2016/09/27 by mason.seay
Updating test map name and moving PlayerStart
Change 3141501 on 2016/09/27 by Benn.Gallagher
Loading time improvements for destructibles from Nvidia
Updated to use new framework custom version instead of global object version
Fixed usage of TArray to enable correct loading and saving of the cached data.
#jira UE-29680
Change 3141889 on 2016/09/27 by Marc.Audy
Fix DestructibleMesh when WITH_APEX is 0
#jira UE-36484
Change 3142034 on 2016/09/27 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3141971
Change 3142131 on 2016/09/27 by Ori.Cohen
Make sure we return eTouch to physx during an overlap query. Fixes bad behavior when multiple objects blocked in an overlap query.
#JIRA UE-36381
Change 3142154 on 2016/09/27 by Ori.Cohen
Fix build, ModuleCachedData instead of NxApexModuleCachedData
Change 3142159 on 2016/09/27 by mason.seay
Blueprint for testing Child Actor Templates
Change 3142255 on 2016/09/27 by Jon.Nabozny
Fix crashes in QAMeshMerge component by making it a UObject, exposing it's method statically, and taking QASkeletalMeshMergeParams as an argument.
#jira UE-35199, UE-35197, UE-35201
Change 3142717 on 2016/09/27 by dan.reynolds
AEOverview Update + Sound Class Test
Change 3142764 on 2016/09/27 by Marc.Audy
Fix Ocean deprecation warnings
Change 3142962 on 2016/09/28 by Thomas.Sarkanen
Fixed bounds calculations for local camera animations
Correctly calculated bounds as local to the initial transform in the track.
Implemented suggested fixes from UDN user chhaddon (The Coalition).
#jira UE-29594 - CameraAnim bounds are incorrect when bRelativeToInitialTransform == true
Change 3143007 on 2016/09/28 by Martin.Wilson
Added virtual bones to USkeleton
API Breaking change:
-Added USkeleton pointer to RemoveBonesByName
-FReferenceSkeleton::UpdateRefPoseTransform & FReferenceSkeleton::Add made private. Must use FReferenceSkeletonModifier instead
#jira UEFW-81
Change 3143040 on 2016/09/28 by James.Golding
Strip DrawDebug.. functions from Shipping and Test builds, controlled by new define ENABLE_DRAW_DEBUG
Fix up game projects to compile in Shipping/Test after this change
PR #2757: (Contributed by projectgheist)
#jira UE-35488
Change 3143046 on 2016/09/28 by James.Golding
Fix OrionEnvironmentPerfTest.cpp compiling in Shipping (optimizations were not being re-enabled at end of file)
Change 3143047 on 2016/09/28 by James.Golding
PR #2731: Capsule primitive drawing fix (Contributed by kamrann)
#jira UE-35142
Change 3143050 on 2016/09/28 by Martin.Wilson
Update DDC key as some animation have stale data
Change 3143088 on 2016/09/28 by Martin.Wilson
CIS Fixes for Ocean after FReferenceSkeleton changes
Change 3143090 on 2016/09/28 by Benn.Gallagher
Fixed split pins in animation blueprints losing their pin links on editor restart. The anim nodes had opted out of the Super version of reconstruct, but that's where split pin restoration was added so we were skipping it.
#jira UE-36482
Change 3143091 on 2016/09/28 by Thomas.Sarkanen
Fix play/pause keyboard shortcut toggle in Persona based editors
Correctly handled widget mode switching in the skeleton selection edit mode (previously it was manually handling this rather than hooking into the correct level viewport callbacks).
Added the ability for FEdModes to specify whether they can use a widget mode.
Added a common set of commands that all Persona-based editors can opt into (only contains TogglePlay for now).
#jira UE-35163 - Cannot use Play/Pause shortcut in Persona if viewport is focused
Change 3143100 on 2016/09/28 by James.Golding
UE-32275 Fix Anim Curve entries losing Auto state when hidden/reshown
Change 3143107 on 2016/09/28 by Martin.Wilson
Add check to IsRunningParallelEvaluation to verify that the skeletal mesh component in question still references us
#jira UE-34431
Change 3143125 on 2016/09/28 by Jurre.deBaare
PR #2749: Fix blend space triangulation (Contributed by tmiv)
Change 3143225 on 2016/09/28 by Jurre.deBaare
Mesh/material merging basic test files
Change 3143235 on 2016/09/28 by Martin.Wilson
Fix issue where montage wrong section was updated with changes from details panel when clicking on a new section
#jira UE-35929
Change 3143312 on 2016/09/28 by Marc.Audy
Don't globally reregister components, globally recreate render state instead when force deleting assets
Fixes crash force deleting a blueprint with a child actor component in it from the content browser
Change 3143340 on 2016/09/28 by Mieszko.Zielinski
Improved consistency of loudness usage in AISense_Hearing #UE4
Change 3143359 on 2016/09/28 by Marc.Audy
Fix spelling error in comment
Change 3143372 on 2016/09/28 by Jurre.deBaare
HLOD meshes are causing degenerate triangles
#fix Setting flag to ignore degenerate triangles when building the meshes vertex/index buffers
#jira UE-34336
Change 3143420 on 2016/09/28 by Mieszko.Zielinski
Fix to BlackboardData initialization's dependency on parent asset's initialization #UE4
Change 3143421 on 2016/09/28 by Martin.Wilson
Allow reading on animation sequence length in blueprints
#jira UE-34168
Change 3143455 on 2016/09/28 by James.Golding
Add 'noop' versions of DrawDebug function, so you will not get compile errors by default for calling them in Shipping/Test builds.
Added optional SHIPPING_DRAW_DEBUG_ERROR define, which will give compile errors in Shipping/Test if still calling DrawDebug functions
Change 3143518 on 2016/09/28 by Jurre.deBaare
Meshes with no UV Coordinates will break the UVs of other meshes contained in the same HLOD if they share a material
#fix calculate UV bounds and check whether they occupy any space (if not do not use them for baking out the material)
#misc set texture sampling for HLOD proxy base material to clamp
#jira UE-35221
Change 3143542 on 2016/09/28 by James.Golding
Change SHIPPING_DRAW_DEBUG_ERROR define from ifdef to if
Fix comment
Enable by default for FN
Change 3143543 on 2016/09/28 by Benn.Gallagher
Changed branch + early return into an ensure during FPxQueryFilterCallback::preFilter. We were checking for invalid shapes in preFilter but that shouldn't happen. More likely to get some information as an ensure instead of earlying out on the funciton.
Change 3143556 on 2016/09/28 by Aaron.McLeran
UE-36540 Editor Preferences 'Enable Sound' option causes Real Time Audio to Stop Working after PIE
Change 3143566 on 2016/09/28 by Benn.Gallagher
Readded early out alongside new ensure for catching bad preFilter shapes
Change 3143568 on 2016/09/28 by Marc.Audy
Fix deprecation warnings in UT
Change 3143572 on 2016/09/28 by Jurre.deBaare
More test content for mesh/material merging
Change 3143581 on 2016/09/28 by Jurre.deBaare
More content :D
Change 3143585 on 2016/09/28 by Jurre.deBaare
Geometry cache cleaning
#misc fix for missing materials, not serialized (facepalm) as they were added later on (required custom version bump)
#misc cleaning out unecessary code
Change 3143594 on 2016/09/28 by Marc.Audy
Creating a child actor component by dragging an actor blueprint in to another blueprint now properly creates the template
#jira UE-36511
Change 3143658 on 2016/09/28 by Marc.Audy
RootComponent can be null by the time we hit PostUnregisterAllComponents so need to protect against the dereference
#jira UE-36553
Change 3143776 on 2016/09/28 by Marc.Audy
Properly reinstance child actor templates when using the fast reinstancing path
#jira UE-36516
Change 3143896 on 2016/09/28 by Ori.Cohen
Remove UPROPERTY on aggregate threshold which is always read from the physics settings.
Change 3144022 on 2016/09/28 by Ben.Zeigler
Move AIMoveTo node from BlueprintGraph to AIGraph and remove BlueprintGraph->AIModule dependency in build system
Change 3144252 on 2016/09/28 by mason.seay
More blueprints for child actor template testing
Change 3144262 on 2016/09/28 by Mason.Seay
Deleting assets
Change 3144283 on 2016/09/28 by dan.reynolds
AEOverview update + Sound Priority Test
Change 3144411 on 2016/09/28 by dan.reynolds
AEOverview end of day update and tweaks
Change 3144679 on 2016/09/29 by Benn.Gallagher
Changed skeletal bounds calculation to not consider clothing assets that aren't simulating in the current LOD. In this case we're not rendering the clothing, we're only rendering the skeletal geometry for that section in that LOD which isn't bound to cloth.
Change 3144856 on 2016/09/29 by Jurre.deBaare
HLOD Outliner scrolls back to the top when generating proxy meshes
#fix OnLevelActorsAdded was getting called for actors in the thumbnail worlds, which forced a refresh on the listview
#jira UE-30384
Change 3144864 on 2016/09/29 by Thomas.Sarkanen
Preview mesh fixes
Animation preview meshes are now respected (and saved). Mesh is displayed as empty if none is set (but a default is chosen).
Skeleton preview meshes are now shown as empty if none is set (but a default is chosen).
#jira UE-36582 - Cannot set preview mesh per-animation
Change 3144865 on 2016/09/29 by Jurre.deBaare
More test content
Change 3144885 on 2016/09/29 by James.Golding
UE-35307 Move 'invalid scale' warning to Message Log to be more visible in editor
Change scale clamping in UpdateBodyScale to catch cases like (1,0,1)
Change 3144903 on 2016/09/29 by Thomas.Sarkanen
Deprecating StaticMesh in UStaticMeshComponent
Added GetStaticMesh to access the value as read-only.
SetStaticMesh is now called in all locations that used to call "StaticMesh =".
Lots of fixups.
#jira UE-24859 - Deprecate public access to StaticMesh property in UStaticMeshComponent
Change 3145020 on 2016/09/29 by Thomas.Sarkanen
Fix bounds calculations that include bones to respect LOD (and other requried bones)
Sometimes bones would not be updated if we LOD switched, extending the bounds.
#jira UE-36525 - UDebugSkelMeshComponent::CalcBounds should filter by LOD
Change 3145041 on 2016/09/29 by Jurre.deBaare
Setting the Target Lightmap UV Channel to an incorrect value leads to inconsistent results
#fix removed target light map channel, we now determine according to the UV channels which are unused in the final mesh
#misc ignore the source lightmap uv channels to reduce data
#jira UE-36595
Change 3145219 on 2016/09/29 by Benn.Gallagher
Fixed clothing actors not casting shadows in editor, after the material editing change the copy of the shadow flag was missed from the clothing association code, which runs on again on older clothing assets to use the new render data skinning. Also added some fix up for assets that have be saved in the mean time.
#jira UE-36552
Change 3145222 on 2016/09/29 by Jurre.deBaare
Exporting Alembic Skeletal mesh from UE4 to FBX causes a crash
#fix on import set _all_ bone influence to 0
#jira UE-36602
Change 3145267 on 2016/09/29 by Ori.Cohen
Move OnConstraintBreak delegate so that it fires outside of fetchResults. Fixes crash from user doing unsafe things during fetchResults.
#JIRA UE-36483
Change 3145306 on 2016/09/29 by Jon.Nabozny
Fixed PhAT so multiple constraints can be selected and edited properly at the same time.
#JIRA: UE-31493
Change 3145342 on 2016/09/29 by Marc.Audy
Do not update cull distance volumes whenever any property changes
* Any movement or property change of a cull distance volume still does a global update
* Any movement of a component belong to any other Actor updates only the components of that Actor
* Any property change of a primitive component only updates that component
#jira UE-36399
Change 3145958 on 2016/09/29 by Marc.Audy
In game worlds don't auto activate components until the actor is ready to process them
#jira UE-35189
Change 3146110 on 2016/09/29 by dan.reynolds
AEOverview update + Soundwave Procedural Test Map
Change 3146375 on 2016/09/30 by Benn.Gallagher
Fixed crash saving newly created destructible mesh after material refactor.
#jira UE-36619
Change 3146378 on 2016/09/30 by James.Golding
UE-35908 Line trace against a BodyInstance now returns closest hit for trimesh (was any hit before)
Also add stat for FBodyInstance::LineTrace
Change 3146379 on 2016/09/30 by James.Golding
Add test assets for creating procmesh collision in non-editor builds
Change 3146386 on 2016/09/30 by Thomas.Sarkanen
Fixed ensures (and functionality) of 'show uncompressed animation' option in Persona viewports
Made sure that PreEvaluateAnimation is called for th einstance in use, rather than only the preview instance.
This unearthed another issuye where each of the calls to GenSpaceBAses was causing the animation to run faster. Fixed this by resetting the update flag in the update context after it is used.
#jira UE-36251 - Ensures showing uncompressed animations in anim blueprints
Change 3146464 on 2016/09/30 by Thomas.Sarkanen
Fix layered blend per bone odd/even connection counts alternately working/not working
Older hacky fix for multi-property to array copies flip-flipped between using fast path and not, when it really should have disabled fast path after the first array pin. Now it disables fast path based on whether this is a new handler or not, rather than looking at the SimpleCopyPropertyName.
#jira UE-35648 - Layered Blend Per Bone doesn't work correctly with 3+ inputs
Change 3146652 on 2016/09/30 by Benn.Gallagher
Fixed subinstance properties appearing in the caller's details panel as oddly named properties.
#jira UE-34141
Change 3146673 on 2016/09/30 by Martin.Wilson
Make RawAnimationData (and associated anim sequence data) private
#jira ue-25869
Change 3146680 on 2016/09/30 by Benn.Gallagher
Fixed errant asterisks in tooltips for source and target bone on rotation multiplier controller node
#jira UE-29847
Change 3146681 on 2016/09/30 by Benn.Gallagher
Fixed incorrect tooltip on left hand IK bone in hand ik retargetting node
#jira UE-30885
Change 3146711 on 2016/09/30 by Jon.Nabozny
Fix PhAT SnapConstraintToBone.
#jira UE-31491
Change 3146717 on 2016/09/30 by Danny.Bouimad
Adding Jurres really useful merge actor test assets to somewhere QA can get em.
Change 3146738 on 2016/09/30 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3146750 on 2016/09/30 by Jurre.deBaare
Material baking issue
#misc Removed the renderer initialization which causes issue the first time you would render out a material (gradient from top left to bottom right over the texture)
#misc Replaced incorrect masks with _way_ better approach thanks to Martin
Change 3146755 on 2016/09/30 by Jurre.deBaare
Need better progress bar for HLOD
#fix replaced the progress updates with new more 'correct' ones according to the actual workload and fixed up the Simplygon progress callback
#jira UE-34334
Change 3147085 on 2016/09/30 by Marc.Audy
PR #2815: GetNextViewablePlayer now checking and returning correct PlayerState. (Contributed by joshkay)
#jira UE-36632
Change 3147224 on 2016/09/30 by Martin.Wilson
CIS Fix
Change 3147280 on 2016/09/30 by Marc.Audy
Mouse smoothing should use application frame rate, not the dilated game frame rate
#jira UE-31040
Change 3147446 on 2016/09/30 by Aaron.McLeran
UE-36682 SoundCue Delay Not Consuming Input StartTime Correctly
Change 3147693 on 2016/09/30 by Ben.Zeigler
#jira UE-36657
If a player has an existing Pawn during RestartPlayer, use that pawn's rotation instead of the start spot, because we were already keeping the pawn's location
Change 3147697 on 2016/09/30 by Jon.Nabozny
Add rotation parameter to FBodyInstance::Sweep and FBodyInstance::InternalSweepPhysX
#jira UE-30486
Change 3147761 on 2016/09/30 by Jon.Nabozny
Fix AUTRepulsorBubble UPrimitiveComponent::SweepComponent usage.
Change 3148533 on 2016/10/03 by Thomas.Sarkanen
Fix new deprecation warnings introduced by the pull from main
Change 3148567 on 2016/10/03 by Marc.Audy
Fix crash when exiting PIE while a panoramic screenshot is being taken
Make stereo panorama tick with the world it is operating on
#jira UE-36492
Change 3148571 on 2016/10/03 by Marc.Audy
Allow modification of components that are EditAnywhere but don't exist in the CDO
#jira UE-36694
Change 3148607 on 2016/10/03 by Martin.Wilson
Properly end notify states when we clear the anim instance on a skeletal mesh.
#jira UE-32488
Change 3148711 on 2016/10/03 by Martin.Wilson
Fix type in virtual bone tooltip
#jira UE-36703
Change 3148746 on 2016/10/03 by Benn.Gallagher
Fixed a few cases where post process and sub instance anim calls weren't being made correctly.
#jira UE-36529
Change 3148807 on 2016/10/03 by Martin.Wilson
Fix mismatch skeleton error when undoing virtual bone changes
#jira UE-36705
Change 3148812 on 2016/10/03 by Martin.Wilson
Add undo support to removing virtual bones
#jira UE-36706
Change 3148975 on 2016/10/03 by Jurre.deBaare
Issue with combining meshes both with/without normal maps
#fix make sure we always output atleast the default normal value when baking out materials, this to ensure we output non-black values for meshes without normal maps (this would cause the normal to be incorrect)
#misc fixed issue in function to set texture rectangle to a single colour
#misc spotted comparison error
Change 3148976 on 2016/10/03 by Ori.Cohen
Make sure that shape queries that we pass into physx are never size 0. Fixes some NaNs
#JIRA UE-36639
Change 3148991 on 2016/10/03 by Jurre.deBaare
Changing LOD materials on Merged Actors Crashes Editor
#fix take into account LOD that is using the material when remapping (removing duplicate) materials
#jira UE-35883
Change 3148997 on 2016/10/03 by Jurre.deBaare
Make sure we remove matrix samples that fall outside of the import range and remap those that are in range
Change 3149002 on 2016/10/03 by Jurre.deBaare
Issues with importing Alembic caches using matrix transformations
#fix Apply conversion matrix to imported matrix samples to make them match the DCC package they were exported from
Change 3149030 on 2016/10/03 by Martin.Wilson
Dont show save warning on animations when we have curve data
#jira UE-34145
Change 3149115 on 2016/10/03 by Mieszko.Zielinski
Made PathfollowingComponent distinct between patrial and full paths in terms of acceptance radius used, when trying to determin if pathing agent is at goal location #UE4
#jira UE-35153
Change 3149186 on 2016/10/03 by Ben.Zeigler
#UE-36722 Fix failure to spawn when trying to spawn 4 capsules in the exact same location
There's no "Correct" direction to move out of a penetrating capsule, but old PhysX appeared to be consistent. New PhysX is not, so now we save and restore the adjustment instead of letting previous iterations modify it.
This code is weird but this solution is better than the old version and handles inconsistent results
Change 3149235 on 2016/10/03 by Martin.Wilson
Change inline curve name editing to only change the name of that specific curve, instead of renaming the smart name itself.
#jira UE-20005
Change 3149245 on 2016/10/03 by Marc.Audy
Remove duplicate entries from AttachChildren caused by lack of atomic cross-object updates.
Change 3149397 on 2016/10/03 by Ori.Cohen
Fix collision profile writing out response values to channels that don't exist.
#JIRA UE-36359
Change 3149679 on 2016/10/03 by Zak.Middleton
#ue4 - Don't mark CharacterMovementComponent::bUseControllerDesiredRotation as an advanced property. Consolidate rotation settings (RotationRate, bUseControllerDesiredRotation, bOrientRotationToMovement) in a new "Rotation Settings" category.
Change 3149929 on 2016/10/04 by Jurre.deBaare
Fix for CIS errors
#fix Mac didn't like undefined struct
Change 3149977 on 2016/10/04 by danny.bouimad
Massive update to Merge Actor test files
Change 3150014 on 2016/10/04 by James.Golding
UE-36686 Fix crash when slicing and not creating other section
Change 3150016 on 2016/10/04 by James.Golding
UE-35335 MergeActors now converts box collision to convex, so collision scales correctly after merging
Change 3150019 on 2016/10/04 by James.Golding
UE-36737 Fix LineTraceComponent not returning face index
Change 3150020 on 2016/10/04 by James.Golding
UE-36672 Export PhysicsContstraintComponent class so it can be subclassed outside Engine module
Change 3150027 on 2016/10/04 by Ben.Marsh
Add PhysX build option into Dev-Framework.
Change 3150042 on 2016/10/04 by Benn.Gallagher
Fixed clothing example 1.3 collision glitches
Change 3150172 on 2016/10/04 by Benn.Gallagher
Made Skeletal Mesh LOD reimports clear any existing simplification flag so we don't show "generated" next to LOD entries for them.
#jira UE-36589
Change 3150319 on 2016/10/04 by Ori.Cohen
Go back to only deferring body creation per component. This can now use the slow path when needed. Can't support deferring of multiple components without changing locking API so we'll do that in the future.
#JIRA UE-36535, UE-36504
Change 3150355 on 2016/10/04 by Zak.Middleton
#ue4 - Change checkSlow() to check() in GetDefaultObject<> because this is potentially an unsafe static cast.
Change 3150370 on 2016/10/04 by Ori.Cohen
Fix deferred actors not getting flushed.
Change 3150386 on 2016/10/04 by Martin.Wilson
Fix additive animation check failing in cooked builds when using virtual bones
#jira UE-36743
Change 3150424 on 2016/10/04 by Ori.Cohen
Exclude kinematic actors from active transforms generation.
Change 3150613 on 2016/10/04 by Zak.Middleton
#ue4 - Fix bad GetDefaultObject<> in AbilitySystemGlobals. Turned up since changing checkSlow() to check() in GetDefaultObject.
(Mirror CL 3138304 in Orion-DevGeneral)
#jira UE-36810
#tests compiled
Change 3150679 on 2016/10/04 by Ben.Zeigler
Crash fix with no async scene
Change 3150765 on 2016/10/04 by Ben.Zeigler
Deprecate UStructProperty::ExportTextItem_Static and ImportItem_Static, and add ExportText and ImportText directly to UScriptStruct
Add bAllowNativeOverride to specify rather to call the native override. For unclear reasons the static export skipped the native override while the static import included it
This allows calling the generic ImportText from inside a native ImportTextItem and then doing some post processing
Change 3150796 on 2016/10/04 by Marc.Audy
Fix LOCTEXT warnings related to blueprint class menu options
Change 3150806 on 2016/10/04 by Ben.Zeigler
Fix bad text format in import error message, lead to double error
Change 3150891 on 2016/10/04 by Ben.Zeigler
#jira UE-36170 Fix duplicate GUID spam when async loading levels during PIE by checking the package flag instead of the runtime global
Change 3150914 on 2016/10/04 by Marc.Audy
Don't try to recreate render state if it has already been recreated while the recreate context was active
#jira UE-36590
Change 3151195 on 2016/10/04 by Dan.Reynolds
Updates to QASoundWaveProcedural
QASoundWaveProcedural edited to be a GameplayStatic which spawns an Audio Component Handler as well as a Procedural Sound Wave. Support for envelope shaping (Attack, Sustain, Release) as well as multiple waveforms (Sine, Triangle, Sawtooth, Square). Blueprint API expanded to include separate functions for setting QASoundWaveProcedural settings and Playing.
Change 3151233 on 2016/10/04 by Ben.Zeigler
#jira UE-36836 Fix variable shadowing warnings
Change 3151328 on 2016/10/04 by dan.reynolds
AEOverview Update - Added Sound Wave Procedural test map and added support for mobile (tested on Android) menu selection - Still a WIP
Change 3151461 on 2016/10/05 by Thomas.Sarkanen
Fix localization warnings
#jira UE-36720 - //UE4/Main: Step 'Build Engine Localization' - 2 Warnings
Change 3151546 on 2016/10/05 by Martin.Wilson
Fix pose watch regression due to persona refactor changes.
#jira UE-36851
Change 3151587 on 2016/10/05 by Jurre.deBaare
Updating Simplygon to SDK version 8.0
#misc removed redundant files
#misc fixed landscape culling in merge actor path
#misc added support for volume culling using simplygon
#misc fixed when or not to use mesh data for material baking
#notes
Change: 3137650
Date: 23/09/2016 07:57
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
-Renamed commandline variables for ZipUtils AutomationScript
-Implemented Execute instead of ExecuteBuild
-Updated commandline arguments in SimplygonSwarm
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#4
//UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/ZipUtils.Automation.cs#2
Change: 3137649
Date: 23/09/2016 07:56
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
Moved file hash computation to ImportObject
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Factories/Factory.h#4
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Factories/Factory.cpp#4
Change: 3137646
Date: 23/09/2016 07:55
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
Fixes CL3099204
EditorPerProjectUserSetting
Removed ConfigRestartRequired attribute from properties where it was not required
MeshUtilities
-Added FProxyFailedDelegate
-Extended IMeshMerging to include FProxyFailed delegate
-Added ProxyGenerationFailed method to FProxyGenerationProcessor class
-Setup FailedDelegate for both MeshMerging and DistributedMeshMerging
SimplygonMeshReduction
-Added check for invalid texture id
-Updated notes and removed commented code that is not required.
-Setup failed delegate
-Fixed issue where image data was never hooked into the texture.
-Fixed issue where texture table was never passed into casters
SimplygonSwarm
-Setup failed delegate
-Fixed RawMesh pointer usage.
-Move helper method into SimplygonSwarmHelpers.h.
-Added SimplygonSwarmHelpers
-Removed redundant constant path to 7-zip
-Removed GetSimplygonDirectory instead using inplace.
-Removed commented code that is currently not required.
-Fixed Typos
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/MeshUtilities/Public/MeshUtilities.h#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Private/SimplygonMeshReduction.cpp#4
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonSwarmHelpers.h#1
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Editor/EditorPerProjectUserSettings.h#3
Change: 3099204
Date: 24/08/2016 07:56
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
Simplygon 8.0 Updates
Deprecated support for 7.0 and updated SimplygonSwarm and SimplygonMeshReduction to use 8.0
EditorPerProjectSettings
*SwarmMaxUploadChunkSizeInMB for limiting the max upload size for swarm. Note the Simplygon Grid has a limitation of 2GB
*SwarmNumOfConcurrentJobs for executing number of concurrent jobs
*Fixed issue where SG_MATERIAL_CHANNEL_METALLIC to SG_MATERIAL_CHANNEL_METALNESS (Chage in 8.0 SDK)
SPL, SimplygonSwarm, RESTClient
*Bumped up SPL Version to 8
*Fixed code paths to use ZipUtils UAT script for zipping and unzipping CL3094374
*Removed SPL Templates for version 7.0
*Added conditional logging to REST methods
*Added multi part upload. The RESTClient automatically decided if large files need to be split up before uploading to simplygon grid.
*Updated method to take in texturepath
SimplygonMeshReduction
*Removed minimum version requirement.
*Bumped up minimum version
*Chagned license file name to refelect 8.0 changes
*MaterialBaking related method now take in TextureTable as an extra parameter. This is due to 8.0 move away from old way of setting up materials and using SimplygonShadingNetowrk based appraoch.
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Private/SimplygonMeshReduction.cpp#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Public/SimplygonTypes.h#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonRESTClient.cpp#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonRESTClient.h#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonSwarmPrivatePCH.h#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Editor/EditorPerProjectUserSettings.h#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Settings/EditorPerProjectUserSettings.cpp#2
Change: 3099200
Date: 24/08/2016 07:48
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
#fix Copy constructor for FMeshReduciton mapped ShadingImportance to SilhouetteImportance
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Classes/Engine/MeshMerging.h#2
Change: 3099199
Date: 24/08/2016 07:47
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
Added Automation Script ZipUtils to zip file and unzip files from SimplygonSwarm.
This will remove any dependency on external zip program and should work across platforms
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/AutomationScripts.Automation.csproj#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/ZipUtils.Automation.cs#1
Change: 3099197
Date: 24/08/2016 07:40
Client: Mustafa.Tungekar_Dev-Partner-Simplygon
User: Mustafa.Tungekar
Status: submitted
Type: restricted
ImportedBy:
Identity:
Description:
*Speed improvements for FBX Scene Importer
*Added a static method to compute Hash.
JobStatus:
Jobs:
Files:
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Factories/Factory.h#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Factories/Factory.cpp#3
//UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Classes/EditorFramework/AssetImportData.h#2
//UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Private/EditorFramework/AssetImportData.cpp#2
Change 3151664 on 2016/10/05 by Richard.Hinckley
Fixing ACharacter template for "New C++ Class" feature. Avoiding naming a function parameter the same as an existing class member.
Change 3151729 on 2016/10/05 by Thomas.Sarkanen
Audit of remaining NaN checks
Some checks remain on in shipping (generally those called from blueprint):
- AActor::TeleportTo
- AActor::SetActorRelativeScale3D
#jira UE-30999 - Optimize ⌠ContainsNaN÷ and ⌠ContainsNaNOrInfinite÷, audit those still in shipping/test
Change 3151742 on 2016/10/05 by Ori.Cohen
Make sure that if physical animation component doesn't find a body and bone it doesn't crash.
#JIRA UE-36839
Change 3151756 on 2016/10/05 by Jurre.deBaare
Fixing d3dcompiler_47.dll missing issue
#fix added runtime dependency and dll name to build.cs file
#fix now load the d3dcompiler_47.dll from the Binaries/ThirdParty/Windows folder before loading the simplygon DLL
Change 3151761 on 2016/10/05 by Thomas.Sarkanen
Fix deprecation warning from last integration
Moved Preview to EditorPreview in FEditorWorldManager::OnWorldContextAdd.
#jira UE-36858 - Compile UE4Editor* completed with 1 warning
Change 3151782 on 2016/10/05 by Jurre.deBaare
Simplygon patch up
#misc linker errors popping up from JSONCPP
#misc incorporated emissive material property fix from other shelve
#misc static analysis fix
Change 3151804 on 2016/10/05 by Marc.Audy
Clear need end of frame update when unregistering a component
Change 3151928 on 2016/10/05 by Ori.Cohen
Fix runtime DLLs not including all delay loaded physx dll files.
#JIRA UE-36816
Change 3151977 on 2016/10/05 by Martin.Wilson
Notifies can no longer occupy the same time on the same track.
#jira UE-30658
Change 3151989 on 2016/10/05 by Jon.Nabozny
Fix ArchVis character rotation pitch when looking up/down.
#jira UE-35706
Change 3152083 on 2016/10/05 by Marc.Audy
Ensure that pending kill components get their marked for end of frame state cleared.
Change 3152086 on 2016/10/05 by Ben.Zeigler
#jira UE-36169 Fix it so missing linker errors that point to Blueprint CDOs are skipped, the same way it skips linker errors going to the actual class. Fixes a lot of spurious warnings from deleting components from blueprints or native classes
Clean up the VerifyImport error handling so it also displays in -game and cook, and fix the missing class warning to work properly, previously it would happen 0% in development 100% in debug even if the class was valid
Change 3152093 on 2016/10/05 by Marc.Audy
Change logic for when location cannot be changed for a static component to be independent of has begun play and have to do with whether construction script is running or the level is in the process of loading (mostly for backwards compatibility adjustments in post load).
#jira UE-36146
#jira UE-24647
Change 3152100 on 2016/10/05 by Ben.Zeigler
Remove pragma optmize
Change 3152112 on 2016/10/05 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3152072
Change 3152134 on 2016/10/05 by Jurre.deBaare
Simplygon/Merge actor issues
#fix for emissive output on meshes that do not have emissive properties
#fix for texture binning, not removing invalid split area causing overlapped textures
Change 3152136 on 2016/10/05 by James.Golding
UE-36859 Fix tooltip saying you can click to stop recording
Change 3152169 on 2016/10/05 by James.Golding
UE-31209 UE-30935 : Expose bDeformableMesh and bFastCook options in FTriMeshCollisionData
ProceduralMeshComponent will now cook using 'fast' and 'deformable' options, so updating collision on sections should work correctly
Change ERuntimePhysxCookOptimizationFlags to EPhysXMeshCookFlags and use that to pass options to CookConvex and CookTriMesh
Change 3152202 on 2016/10/05 by Jurre.deBaare
Mac/Linux fix
Change 3152303 on 2016/10/05 by Marc.Audy
Fix deprecation warning post merge from main
Change 3152320 on 2016/10/05 by Martin.Wilson
Fix root motion from everything calculating incorrect root motion when animations haven't been ticking
#jira UE-35364
Change 3152354 on 2016/10/05 by James.Golding
PoseDriver should pass through if no poses activated
Change 3152357 on 2016/10/05 by James.Golding
UE-36844 Remove unused OnAssetModifiedNotifier delegate from PoseAsset, ensure OnPoseListChanged is called when updating PoseAsset from anim.
Change 3152556 on 2016/10/05 by Marc.Audy
Remove autos
Change 3152560 on 2016/10/05 by Marc.Audy
Don't allow child actor references to be dragged from the outliner to a level script
#jira UE-16700
Change 3152568 on 2016/10/05 by Marc.Audy
Don't allow non-networking code to set bRemoteOwned in the actor spawn parameters
Remove deprecated bNoCollisionFail
#jira UE-35928
Change 3152575 on 2016/10/05 by Marc.Audy
Allow construction script to run post move for native classes. Actor can determine whether it should only occur on finish or every call to post edit move
Change 3153101 on 2016/10/06 by Thomas.Sarkanen
Fix crash re-opening the viewport in Persona-based editors
#jira UE-36775 - Editor crashes when re-opening viewport in Persona
Change 3153139 on 2016/10/06 by James.Golding
UE-36908 Remove GetRuntimeOnlyCookOptimizationFlags if cooking is not supported
Change 3153160 on 2016/10/06 by Thomas.Sarkanen
Fix for crash when deleting additive layer track
Code had not been updated to use the new delgate system (was still using reciprocal FPersona ptr).
#jira UE-36740 - Crash when removing or disabling an additive layer track in Persona
Change 3153175 on 2016/10/06 by Benn.Gallagher
Fixed crashes when using subinstances in non-default states. we previously initialized the anim instances in the node initialize, but in states that haven't been hit by an initialize this will happen off the game thread which is not allowed.
#jira UE-36900
Change 3153223 on 2016/10/06 by Thomas.Sarkanen
Fixed crash when opening an asset from the blend space editor
Code was still trying to open 'old' Persona when it was disabled.
Also fix other call sites where this was being done outside of asset type actions.
#jira UE-36766 - Crash attempting to open an asset from Aim Offset graph in Persona
Change 3153324 on 2016/10/06 by Thomas.Sarkanen
Prevented invalid GUIDs from being saved into smart name containers
AddOrFindName now checks to see if existing GUIDs are valid before using them.
AddName now requires a valid GUID to be passed in.
Also added Modify() call to the skeleton when FindOrAddSmartName is called from VerifySmartNameInternal, as without this the skeleton might not get saved.
Also add Laurent's fix for fixing up already-saved invalid GUIDs (CL 3138068).
#jira UE-36367 - It is possible for curves with an invalid GUID to be saved into the USkeleton asset
Change 3153348 on 2016/10/06 by Martin.Wilson
Re add ticking code so all Persona editors viewports tick during drag events (went missing in Persona refactor)
#jira UE-36751
Change 3153426 on 2016/10/06 by Mieszko.Zielinski
Added missing elements of block comments support in BT editor #UE4
Change 3153454 on 2016/10/06 by Benn.Gallagher
Fixed crash using anim debug with subinstances that are preceded by branching nodes.
#jira UE-36935
[CL 3153517 by Ori Cohen in Main branch]
2016-10-06 12:11:11 -04:00
FString FilenameString = FString : : Printf (
2016-02-04 10:55:30 -05:00
TEXT ( " D:/TextureTest/%s-mat%d-prop%d.bmp " ) ,
2015-10-28 19:18:20 -04:00
* InMaterialProxy - > GetFriendlyName ( ) , InMaterialData . MaterialIndex , ( int32 ) InMaterialProperty ) ;
FFileHelper : : CreateBitmap ( * FilenameString , InRenderTarget - > GetSurfaceWidth ( ) , InRenderTarget - > GetSurfaceHeight ( ) , OutBMP . GetData ( ) ) ;
# endif // SAVE_INTERMEDIATE_TEXTURES
return result ;
}
2016-04-04 18:44:59 -04:00
bool FMeshRenderer : : RenderMaterialTexCoordScales ( struct FMaterialMergeData & InMaterialData , FMaterialRenderProxy * InMaterialProxy , UTextureRenderTarget2D * InRenderTarget , TArray < FFloat16Color > & OutScales )
{
check ( IsInGameThread ( ) ) ;
check ( InRenderTarget ) ;
// create ViewFamily
float CurrentRealTime = 0.f ;
float CurrentWorldTime = 0.f ;
float DeltaWorldTime = 0.f ;
// Create a canvas for the render target and clear it to black
FTextureRenderTargetResource * RTResource = InRenderTarget - > GameThread_GetRenderTargetResource ( ) ;
FCanvas Canvas ( RTResource , NULL , FApp : : GetCurrentTime ( ) - GStartTime , FApp : : GetDeltaTime ( ) , FApp : : GetCurrentTime ( ) - GStartTime , GMaxRHIFeatureLevel ) ;
const FRenderTarget * CanvasRenderTarget = Canvas . GetRenderTarget ( ) ;
Canvas . Clear ( FLinearColor : : Black ) ;
// Set show flag view mode to output tex coord scale
FEngineShowFlags ShowFlags ( ESFIM_Game ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
ApplyViewMode ( VMI_MaterialTextureScaleAccuracy , false , ShowFlags ) ;
ShowFlags . OutputMaterialTextureScales = true ; // This will bind the DVSM_OutputMaterialTextureScales
2016-04-04 18:44:59 -04:00
FSceneViewFamily ViewFamily ( FSceneViewFamily : : ConstructionValues ( CanvasRenderTarget , nullptr , ShowFlags )
. SetWorldTimes ( CurrentWorldTime , DeltaWorldTime , CurrentRealTime )
. SetGammaCorrection ( CanvasRenderTarget - > GetDisplayGamma ( ) ) ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2943963 on 2016/04/14 by Daniel.Wright
Shader compile errors are unsuppressed
Change 2943978 on 2016/04/14 by Gil.Gribb
UE4 - First pass at async loading improvements....mostly disabled.
Change 2944021 on 2016/04/14 by Martin.Mittring
fixed HLSL compiler warning
Change 2944031 on 2016/04/14 by Martin.Mittring
fixed ensures, wrapped some members behind get accessor functions
Change 2944086 on 2016/04/14 by Martin.Mittring
cleanup: removed not needed code
Change 2944177 on 2016/04/14 by Daniel.Wright
Clamp on FarShadowCascadeCount, prevents crashing from huge values
Change 2944182 on 2016/04/14 by Martin.Mittring
removed not needed code
Change 2944250 on 2016/04/14 by Rolando.Caloca
DR - vk - Minor fixes
Change 2944286 on 2016/04/14 by Daniel.Wright
Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking
Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions
Added bShowPreviewPlane to planar reflection actors
The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes
Change 2944288 on 2016/04/14 by Daniel.Wright
Fixed refraction with a world space normal
Change 2944291 on 2016/04/14 by Daniel.Wright
Panner nodes have an optional speed input
Change 2944346 on 2016/04/14 by Rolando.Caloca
DR - Fix Vulkan shader platform on Android
- Added more info on checks()
Change 2945007 on 2016/04/15 by Gil.Gribb
Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2945348 on 2016/04/15 by Daniel.Wright
Fixed compile error
Change 2945358 on 2016/04/15 by Olaf.Piesche
#jira UE-29241
Sequential particle selection code was all sorts of weird. Rewrote and simplified.
Change 2945941 on 2016/04/15 by Martin.Mittring
added r.DisplayInternals to debug determinism for screen shot comparison
Change 2945999 on 2016/04/15 by Martin.Mittring
improved r.DisplayInternal output
Change 2946023 on 2016/04/15 by Olaf.Piesche
Adding missing call to Super::PostEditChangeProperty; UDN 286717
Change 2947155 on 2016/04/18 by Martin.Mittring
started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up
#test:PC
Change 2947207 on 2016/04/18 by Martin.Mittring
fixed engine compiling in shipping/test
#code_review:Uriel.Doyan
Change 2947212 on 2016/04/18 by Uriel.Doyon
Lightmap density viewmode now shows the wanted resolution when the lighting isn't build.
#jira UE-29317
Change 2947374 on 2016/04/18 by Uriel.Doyon
Fixed support for resolution scale for the PostProcessVisualizeComplexity
#jira UE-29473
Change 2947903 on 2016/04/19 by Gil.Gribb
Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2948019 on 2016/04/19 by Rolando.Caloca
DR - Allow vk format as a target format for win
Change 2948162 on 2016/04/19 by Simon.Tovey
Fix for crash with Collision visualization.
Change 2948419 on 2016/04/19 by Martin.Mittring
fixed sort priority of translucent rendering (caused by recent checkin)
Change 2948433 on 2016/04/19 by Martin.Mittring
fixed memory handling of FRendererViewExtension
Change 2948631 on 2016/04/19 by Martin.Mittring
fixed compile error on Mac
Change 2948832 on 2016/04/19 by Martin.Mittring
fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues)
Change 2949013 on 2016/04/19 by Martin.Mittring
refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping
this is useful for MeshDecals
#test:PC, parallel on and off
Change 2949620 on 2016/04/20 by Martin.Mittring
fixed compiler warning
Change 2949639 on 2016/04/20 by Uriel.Doyon
Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader
Change 2949721 on 2016/04/20 by Chris.Bunner
Avoid creating additional inline code fragment casting matching uniform types.
#jira UE-29089
Change 2949722 on 2016/04/20 by Chris.Bunner
Prevent nullptr crash and added additional logging.
#jira UE-28387
Change 2949913 on 2016/04/20 by Martin.Mittring
marked ccommand as cheat
Change 2950064 on 2016/04/20 by Martin.Mittring
added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background
Change 2950065 on 2016/04/20 by Martin.Mittring
nicer debug printout
Change 2950201 on 2016/04/20 by Martin.Mittring
fixed UE-29752 Console commands input with " = " should display an error message
Change 2950531 on 2016/04/20 by Martin.Mittring
fixed comment
Change 2951737 on 2016/04/21 by HaarmPieter.Duiker
Adds support forHDR displays using Dolby PQ output
Change 2951869 on 2016/04/21 by Martin.Mittring
polish r.DisplayInternal
Change 2951950 on 2016/04/21 by HaarmPieter.Duiker
Reordered variable definition to address build warning
Change 2951996 on 2016/04/21 by Martin.Mittring
fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation",
changed directory order
to run locally it currently requires "r.ScreenshotDelegate=0"
#code_review:Ben.Salem, Michael.Noland
Change 2952146 on 2016/04/21 by Olaf.Piesche
make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures
Change 2952230 on 2016/04/21 by Martin.Mittring
* Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec .
* changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber
#code_review:Daniel.Wright
Change 2953173 on 2016/04/22 by Olaf.Piesche
Adding UI for easilly browsing and switching in a folder full of stats dumps
Change 2953213 on 2016/04/22 by Olaf.Piesche
Renaming a stat to be more descriptive
Change 2953393 on 2016/04/22 by Zabir.Hoque
Get DX12 running again:
- Port Shader Resource Table change
- Line up VS outputs and ps inputs
- Fix incorrectly defining a static global in a .h
Change 2953453 on 2016/04/22 by Martin.Mittring
polished r.DisplayInternal
Change 2954618 on 2016/04/25 by Zabir.Hoque
2 Fixes:
- GLSL does not understand "unsigned int", converted to "uint"
- Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction.
Change 2955369 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Fix some memory leaks in the frontend
Change 2955403 on 2016/04/25 by Uriel.Doyon
Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux.
Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4
#jira UE-28840
Change 2955419 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Reenabled support for static global variables being not const
Change 2955432 on 2016/04/25 by Zabir.Hoque
Fix build break from not undef'ing LOCTEXT_NAMESPACE
Change 2955459 on 2016/04/25 by Zabir.Hoque
TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.
Change 2956292 on 2016/04/26 by Zabir.Hoque
Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output).
#CodeReview: Jack.Porter, Allan.Bentham
Change 2956662 on 2016/04/26 by Chris.Bunner
Temporary fix for new Tonemapper issues.
#jira UE-29935
Change 2957614 on 2016/04/27 by Marcus.Wassmer
Fix PS4 shader compiler errors.
Change 2958468 on 2016/04/27 by Rolando.Caloca
DR - Fix hlslcc validation issue
- Show error on SCW if shader format not found when running with -directcompile
#jira UE-29982
Change 2959105 on 2016/04/28 by Rolando.Caloca
DR - Rebuilt hlslcc for Mac
Change 2959891 on 2016/04/28 by Daniel.Wright
Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields
Change 2959895 on 2016/04/28 by Daniel.Wright
Work around build machine string matching heuristics that will cause a cook to fail
Change 2959902 on 2016/04/28 by Daniel.Wright
Added LowerHemisphereSolidColor to sky lights
Change 2959930 on 2016/04/28 by Daniel.Wright
Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles
Change 2959933 on 2016/04/28 by Daniel.Wright
Substring matching for console command suggestions
* Only implemented in the editor, game uses UConsole which needs an entirely different implementation
* Not sorting starting matches first, although that is desired
Change 2959942 on 2016/04/28 by Daniel.Wright
Gracefully handle when input string doesn't match search results
Change 2960743 on 2016/04/29 by Gil.Gribb
UE4 - UAT - Add map name to editortest command line.
Change 2960940 on 2016/04/29 by Chris.Bunner
Allow custom material nodes to be used with tessellation outputs.
#jira UE-29586
Change 2960955 on 2016/04/29 by Gil.Gribb
UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled).
Change 2960961 on 2016/04/29 by Chris.Bunner
Potential material translator Lerp node pre-computations/optimizations.
#jira OR-20138
Change 2961087 on 2016/04/29 by Gil.Gribb
Fixed compile error in preflight relating to load time test rig
Change 2962565 on 2016/05/02 by Gil.Gribb
Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2965058 on 2016/05/03 by Chris.Bunner
Shader version bump.
#lockdown Gil.Gribb
#jira UE-30206
Change 2966554 on 2016/05/04 by Chris.Bunner
Bumping shader version again, unintentionally polluted DDC previously.
#lockdown Gil.Gribb
#jira UE-30329
Change 2967183 on 2016/05/05 by Gil.Gribb
UE4 - Fixed a bad hash on landscape grass components. Simple, safe.
#lockdown nick.penwarden
[CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -04:00
// The next line ensures a constant view vector of (0,0,1) for all pixels. Required because here SVPositionToTranslatedWorld is identity, making excessive view angle increase per pixel.
// That creates bad side effects for anything that depends on the view vector, like parallax or bump offset mappings. For those, we want the tangent
// space view vector to be perpendicular to the surface in order to generate the same results as if the feature was turned off. Which gives the good results
// since any sub height sampling would in pratice requires less and less texture resolution, where as we are only concerned about the highest resolution the material needs.
// This can be seen in the debug view mode, by a checkboard of white and cyan (up to green) values. The white value meaning the highest resolution taken is the good one
// (blue meaning the texture has more resolution than required). Checkboard are only possible when a texture is sampled several times, like in parallax.
//
// Additionnal to affecting the view vector, it also forces a constant world position value, zeroing any textcoord scales that depends on the world position (as the UV don't change).
// This is alright thought since the uniform quad can obviously not compute a valid mapping for world space texture mapping (only rendering the mesh at its world position could fix that).
// The zero scale will be caught as an error, and the computed scale will fallback to 1.f
ViewFamily . bNullifyWorldSpacePosition = true ;
2016-04-04 18:44:59 -04:00
// add item for rendering
FMeshMaterialRenderItem : : EnqueueMaterialRender (
& Canvas ,
& ViewFamily ,
InMaterialData . Mesh ,
InMaterialData . LODModel ,
InMaterialData . MaterialIndex ,
InMaterialData . TexcoordBounds ,
InMaterialData . TexCoords ,
FVector2D ( InRenderTarget - > SizeX , InRenderTarget - > SizeY ) ,
InMaterialProxy
) ;
// rendering is performed here
Canvas . Flush_GameThread ( ) ;
FlushRenderingCommands ( ) ;
Canvas . SetRenderTarget_GameThread ( NULL ) ;
FlushRenderingCommands ( ) ;
return RTResource - > ReadFloat16Pixels ( OutScales ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3227619)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3198996 on 2016/11/15 by Marc.Audy
BeginPlay calls will now be dispatched in a consistent order regardless of placed in persistent level, streamed in level, or dynamically spawned
AActor::BeginPlay is now protected, you should call DispatchBeginPlay instead.
#jira UE-21136
Change 3199019 on 2016/11/15 by Marc.Audy
Mark user-facing BeginPlay calls as protected
Change 3200128 on 2016/11/16 by Thomas.Sarkanen
Dont propgate threaded update flag from UAnimBluepint to CDO if we fail thread safety checks
Also fully deprecated (with _DEPRECATED) older flags in UAnimInstance.
#jira UE-38362 - Disable multi-threaded update when anim blueprints are not thread-safe
Change 3200133 on 2016/11/16 by Martin.Wilson
Fix Set Anim Instance Class not working on the second attempt (InitAnim would not be called)
#jira UE-18798
Change 3200167 on 2016/11/16 by Martin.Wilson
Newly added virtual bones are now selected in the skeleton tree
#jira UE-37776
Change 3200255 on 2016/11/16 by James.Golding
Stop SkeletalMeshTypes.h being globally included
Change 3200289 on 2016/11/16 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix Make sure that in PostEditChangeProp we reset the override material arrays
#misc changed a property comparison to use GET_MEMBER_NAME_CHECKED instead
#jira UE-38108
Change 3200291 on 2016/11/16 by Jurre.deBaare
Imported Alembic skeletal anims have cut-off shadow due to moving out of the bounds
#fix retrieve bounds from alembic archive at various levels (global, transform, meshes) and build archive bounds which is set on the animation sequence
#jira UE-37274
Change 3200293 on 2016/11/16 by Jurre.deBaare
Overlapping UV's cause merge actor texture baking issues
#fix Only look for overlapping UVs if vertex data baking is actually expected/enabled
#jira UE-37220
Change 3200294 on 2016/11/16 by Jurre.deBaare
Scrubbing Playback Speed under Geometry Cache in the details panel is too sensitive
#fix Make the UIMin/Max smaller than the clamping value for proper user interaction while sliding (thanks James for the tip!)
#jira UE-36679
Change 3200295 on 2016/11/16 by Jurre.deBaare
Merge Actor Specific LOD level can be set to 8
#fix Change clamping value and added UI clamp metadata
#jira UE-37134
Change 3200296 on 2016/11/16 by Jurre.deBaare
In Merge Actors if you select use specific Lod level you have access to all the merge material settings
#fix Added edit condition to non-grayed out material settings
#jira UE-36667
Change 3200303 on 2016/11/16 by Thomas.Sarkanen
Fixed diagonal current scrub value in anim curves
#jira UE-35787 - The red time indicator for viewing curves in persona is slightly tilted
Change 3200304 on 2016/11/16 by Thomas.Sarkanen
Rezero is now explicit about what it does (current vs. specified frame)
Also no longer ingores Z-offset (legacy feature - root motion can have any translation, not just 2D).
#jira UE-35985 - Rezero doesn't work by frame
Change 3200307 on 2016/11/16 by Thomas.Sarkanen
Add curve panel to anim BP editor
Also improve curve modification message routing. We were needlessly passing delegates up and down the widget hierarchy and conflating smart name edits with curve edits (key addition etc.).
#jira UE-35742 - Anim Curve Viewer allowed in Anim BP
Change 3200313 on 2016/11/16 by Jurre.deBaare
Animations with materials driven by scalar parameters from curves wont update until persona is closed and reopened
#fix in debug skeletal mesh component just mark the cached parameters dirty every tick
#jira UE-35786
Change 3200316 on 2016/11/16 by Jurre.deBaare
Converted Skeletal To Static Mesh Gets Corrupted When Merged
#fix Assume that the all static meshes will contain valid texture coordinates for channel 0 (which is expect by static mesh code as well)
#misc Ensure that we set the lightmap index for converted skeletal meshes to either an empty one or the highest one used
#jira UE-37988
Change 3200321 on 2016/11/16 by Jurre.deBaare
Scrolling/scroll bar are disabled in Alembic Import window if you scroll a certain way down
#fix change the way the layout is constructed
#jira UE-37260
Change 3200323 on 2016/11/16 by Jurre.deBaare
Toggling sky in Persona does not effect reflections
#fix turn of skylight together with the actual environment sphere
#misc found incorrect copy paste in toggling floor/environment visibility with key stroke
#jira UE-26796
Change 3200324 on 2016/11/16 by Jurre.deBaare
Open Merge Actor menu on right clicking two selected actors
#fix Added option 'Merge Actors' to right-click context menu when having selected one or multiple actors in the viewport
#jira UE-36892
Change 3200331 on 2016/11/16 by Benn.Gallagher
Added support for suspending clothing simulations at runtime, exposed also to blueperints. And aded option in Persona to pause simulations when animations are paused.
#jira UE-38620
Change 3200334 on 2016/11/16 by Jurre.deBaare
Dynamic light settings in Persona viewport cause edges to appear hardened
#fix Makeing the directional light stationary to ups the shadowing quality
#jira UE-37188
Change 3200356 on 2016/11/16 by Jurre.deBaare
Rate scale option for animation nodes in blend spaces
#added Rate scale variable to blend space samples, these rates are now multiplied with the global rate scale during playback
#misc bumped framework object version to update all blendspaces on load
#jira UE-16207
Change 3200380 on 2016/11/16 by Jurre.deBaare
Fix for Mac CIS issues
Change 3200383 on 2016/11/16 by Marc.Audy
Split FAttenuationSettings in to FBaseAttenuationSettings and FSoundAttenuationSettings in preparation for reuse of the base attenuation for force feedback
Change 3200385 on 2016/11/16 by James.Golding
Refactor SkeletalMesh to use same color buffer type as StaticMesh
Change 3200407 on 2016/11/16 by James.Golding
Fix CIS error in FbxAutomationTests.cpp
Change 3200417 on 2016/11/16 by Jurre.deBaare
Fix for CIS issues
#fix Rogue }
Change 3200446 on 2016/11/16 by Martin.Wilson
Change fix for Set Anim Instance Class from CL 3200133
#jira UE-18798
Change 3200579 on 2016/11/16 by Martin.Wilson
Fix for serialization crash in Odin
#jir UE-38683
Change 3200659 on 2016/11/16 by Martin.Wilson
Fix build errors
Change 3200801 on 2016/11/16 by Lina.Halper
Fix error message
Change 3200873 on 2016/11/16 by Lina.Halper
Test case for Update Rate Optimization
- LOD_URO_Map.umap - test map
- LODPawn - pawn that contains mesh with URO setting
- You can tweak the value in LODPawn
Change 3201017 on 2016/11/16 by Lina.Halper
- Allow slave component to be removed when setting master pose to nullptr
- licensee reported this issue. https://udn.unrealengine.com/questions/321037/skeletalmeshcomponent.html
Change 3201765 on 2016/11/17 by Jurre.deBaare
Improved tooltip for FBlendParameter.GridNum
Change 3201817 on 2016/11/17 by Thomas.Sarkanen
Added display/edit of bone transforms in details panel
Added UBoneProxy tickable editor object held by the skeleton tree that updates its internal transforms in Tick().
Updated various bits of supporting code to allow selection to be properly preserved in cases such as undo/redo. This allows the bone proxy object to be displayed over an undo/redo event. It also fixes some inconsistency with selection between the skeleton tree and the preview scene.
Breaking change: Updated FOnPreviewMeshChangedMulticaster delegate signature to take both the old and new skeletal mesh. This is to allow clients to skip certain logic if the skeletal mesh hasnt really changed (in this case de-selection).
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3201819 on 2016/11/17 by Thomas.Sarkanen
Fix CIS error
Change 3201901 on 2016/11/17 by Lina.Halper
With new system, the skeleton curve count is not the one we should check but BoneContainer.GetAnimCurveNameUids().
- removed GetCurveNumber from skeleton
- changed curve count to use BoneContainer's curve list.
#code review: Laurent.Delayen
Change 3201999 on 2016/11/17 by Thomas.Sarkanen
Add local/world transform editing to bone editing
Added details customization & support code for world-space editing of bone transforms
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3202111 on 2016/11/17 by mason.seay
Potential test assets for HLOD
Change 3202240 on 2016/11/17 by Thomas.Sarkanen
Fixed extra whitespace not being removed in front of console commands.
GitHub #2843
#jira UE-37019 - GitHub 2843 : Fixed extra whitespace not being removed in front of console commands.
Change 3202259 on 2016/11/17 by Jurre.deBaare
Readded missing shadows in advanced preview scene
Change 3203180 on 2016/11/17 by mason.seay
Moved and updated URO Map
Change 3203678 on 2016/11/18 by Thomas.Sarkanen
Bug fix for menu extenders in PhAT.
GitHub #2550
#jira UE-32678 - GitHub 2550 : Bug fix for menu extenders in PhAT.
Change 3203679 on 2016/11/18 by Thomas.Sarkanen
Fixed LOD hysteresis not being properly converted from the old metric
This addreses some 'LOD lag' issues seen when just treating as an equivalent fudge factor, as the magnitude needed to have an effect has changed.
#jira UE-38640 - Skeletal mesh LODs render incorrectly and incosistently
Change 3203747 on 2016/11/18 by Jurre.deBaare
Crash when repeatedly undoing and readding of animation to a AnimOffset 1D - IsValidBlendSampleIndex
#fix Ensure we reset the hightlighting / dragging / selection state when PostUndo is called, this makes sure we repopulate tooltips if need etc.
#jira UE-38734
Change 3203748 on 2016/11/18 by Jurre.deBaare
Crash Generating Proxy Meshes after replacing static meshes in the level
#fix just calculate bounds for the used UVs (old behaviour was wrong)
#jira UE-38764
Change 3203751 on 2016/11/18 by james.cobbett
Changes to TM-PoseSnapshot and new test assets
Change 3203799 on 2016/11/18 by Thomas.Sarkanen
Switched fudged auto-LOD calculations to use a pow() decay instead of a recprocal
Still a fudge when LOD reduction has not been performed in-engine, but a fudge with similar outcomes to the previous method.
Also fixed up the naming of some variables that still referred to screen areas & LOD distances.
#jira UE-38674 - LOD distance switching have changed since 4.14 and merged lod actors seem to switch at incorrect screen scales as a result
Change 3203856 on 2016/11/18 by james.cobbett
TM-PoseSnapshot - Rebuild lighting and updated anims
Change 3203880 on 2016/11/18 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3203940 on 2016/11/18 by Ori.Cohen
Fix missing newline for ps4
Change 3203960 on 2016/11/18 by Ori.Cohen
Readd fix for linux macro expansion warning
Change 3203975 on 2016/11/18 by Ori.Cohen
Fix for linux toolchain not knowing about no-unused-local-typedef
Change 3203989 on 2016/11/18 by Ori.Cohen
Make sure physx automation doesn't try to build html5 APEX.
Change 3204031 on 2016/11/18 by james.cobbett
Minor update to test level
Change 3204035 on 2016/11/18 by Marc.Audy
Additional Attenuation refactor cleanup
Change 3204044 on 2016/11/18 by Ori.Cohen
Fix typo of NV_SIMD_SSE2
Change 3204049 on 2016/11/18 by Ori.Cohen
Fix missing newline for PS4 compiler
Change 3204463 on 2016/11/18 by mason.seay
Finalized URO test map
Change 3204621 on 2016/11/18 by mason.seay
Small improvements
Change 3204751 on 2016/11/18 by Ori.Cohen
Make PhAT highlight selected bodies and constraints in the tree view
Change 3205868 on 2016/11/21 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3205744
Change 3205887 on 2016/11/21 by Jurre.deBaare
Fix for similar crash in blendspace editor like UE-38734
Change 3206121 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
#jira UE-38803
#jira UE-38692
Change 3206187 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
Additional bits
#jira UE-38519
#jira UE-38803
#jira UE-38692
Change 3206318 on 2016/11/21 by Marc.Audy
Fix Linux compiler whinging
Change 3206379 on 2016/11/21 by Marc.Audy
Fix crash when streaming in a sublevel with a child actor in it (4.14.1)
#jira UE-38906
Change 3206591 on 2016/11/21 by Marc.Audy
Refactor restrictions to allow hidden and clarify disabled
Change 3206776 on 2016/11/21 by Marc.Audy
ForceFeedback component allows rumble events to be placed or spawned in to the world with attenuation settings that dictate how intensely the rumble pattern will be applied to the player based on their distance to the effect.
ForceFeedback Attenuation settings can be defined via the content browser or directly on the component.
#jira UEFW-244
Change 3206901 on 2016/11/21 by Marc.Audy
Fix compile error in automation tests
Change 3207235 on 2016/11/22 by danny.bouimad
Updated Map
Change 3207264 on 2016/11/22 by Thomas.Sarkanen
Disable bone editing in anim blueprint editor
#jira UE-38876 - Transform options in bone Details panel in Anim Blueprint Persona editor appear editable
Change 3207303 on 2016/11/22 by Lina.Halper
Clear material curve by setting it directly because the flag might not exist
#jira: UE-36902
Change 3207331 on 2016/11/22 by Jon.Nabozny
Fix overflow issues in SerializeProperties_DynamicArray_r. Also, fix crash from not ensuring properties were serialized successfully.
Change 3207357 on 2016/11/22 by Danny.Bouimad
Updating testcontent for pose drivers
Change 3207425 on 2016/11/22 by Lina.Halper
Fix frame count issue with montage
#jira: UE-30048
Change 3207478 on 2016/11/22 by Lina.Halper
Fix so that curve warning doesn't happen when your name is same.
#jira: UE-34246
Change 3207526 on 2016/11/22 by Marc.Audy
Fix crash when property restriction introduces a hidden entry
Change 3207731 on 2016/11/22 by danny.bouimad
MoreUpdates
Change 3207764 on 2016/11/22 by Lina.Halper
#fix order of morphtarget to first process animation and then BP for slave component
Change 3207842 on 2016/11/22 by Ben.Zeigler
Fix it so ActiveStructRedirects are checked in addition to ActiveClassRedirects when serializing a raw UStruct reference, such as in a blueprint UStructProperty. This fixes issue with the attenuation settings struct rename, and should have always been working this way. ActiveClassRedirects will still work.
Change 3208202 on 2016/11/22 by Ben.Zeigler
#jira UE-38811 Fix regression with gimbal locking in player camera manager.
The quat->rotator->quat->rotator conversions are introducing more error than in 4.13, so a pitch limit of -89.99 was too precise.
Change 3208510 on 2016/11/23 by Wes.Hunt
Disable UBT Telemetry on internal builds #jira AN-1059
#tests build a few different ways, add more diagnostics to clarify if the provider is being used.
Change 3208734 on 2016/11/23 by Martin.Wilson
Change EnsureAllIndicesHaveHandles to try and maintain validity of as many of the handles as possible + Make FRichCurve key member private as it needs to stay in sync with map on base class
#jira UE-38899
Change 3208782 on 2016/11/23 by Thomas.Sarkanen
Fixed material and vert count issues with skeletal to static mesh conversion
Material remapping was not bein gbuilt, so material indices were overwitten inappropriately.
Vertex tangentY was being recalculated incorrectly (discarding the W component when transformed), so vertices were not correctly re-merged later in the static mesh build phase.
#jira UE-37898 - Materials are incorrect on static mesh made from skeletal mesh
Change 3208798 on 2016/11/23 by James.Golding
UE-38478 - Fix collision on procmesh created in BeginPlay in cooked builds
Change 3208801 on 2016/11/23 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix forgot to mark the renderstate dirty and wrapped it to only apply when overridematerials actually contain something
#jira UE-38108
Change 3208807 on 2016/11/23 by Thomas.Sarkanen
CIS fix
Change 3208824 on 2016/11/23 by danny.bouimad
More content updates for Testing
Change 3208827 on 2016/11/23 by Danny.Bouimad
Removing Old Pose driver Testassets I created awhile ago.
Change 3209026 on 2016/11/23 by Martin.Wilson
CIS Fix for FRichCurve
Change 3209083 on 2016/11/23 by Marc.Audy
Don't crash if after an undo the previously selected object no longer exists (4.14.1)
#jira UE-38991
Change 3209085 on 2016/11/23 by Marc.Audy
Don't crash if a negative length passed in to UKismetStringLibrary::GetSubstring (4.14.1)
#jira UE-38992
Change 3209124 on 2016/11/23 by Ben.Zeigler
#jira UE-38867 Fix some game mode log messages
From PR #2955
Change 3209231 on 2016/11/23 by Marc.Audy
Auto removal
Change 3209232 on 2016/11/23 by Marc.Audy
GetComponents now optionally can include components in Child Actors
Change 3209233 on 2016/11/23 by Marc.Audy
ParseIntoArray resets instead of empty
Change 3209235 on 2016/11/23 by Marc.Audy
Allow child actor components to be selected in viewports
Fix selection highlight not working on nested child actors
#jira UE-16688
Change 3209247 on 2016/11/23 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209194
Change 3209299 on 2016/11/23 by Marc.Audy
Use MoveTemp to reduce some memory churn in graph schema actions
Change 3209347 on 2016/11/23 by Marc.Audy
Don't dispatch a tick function that had been scheduled but has been disabled before being executed.
#jira UE-37459
Change 3209507 on 2016/11/23 by Ben.Zeigler
#jira UE-38185 Keep player controllers in their same order during a seamless travel
From PR #2908
Change 3209882 on 2016/11/24 by Thomas.Sarkanen
Copy-to-array now works with the fast path
Refactored the copy record generation/validation code to be clearer with better seperation of concerns.
Made sure we always properly generate a full exec chain for our events, despite some other them potentially using the fast path (this may have been a bug waiting to happen).
Fixed a potentiual bug with sub anim instances were potentiall fast path non-array properties were skipped.
Added tests for fast path validity to EditorTests project. Assets to follow.
#jira UE-34569 - Fast Path gets turned off if you link to multiple input pins
Change 3209884 on 2016/11/24 by Thomas.Sarkanen
File I missed
Change 3209885 on 2016/11/24 by Thomas.Sarkanen
Support assets for fast path tests
Change 3209939 on 2016/11/24 by Benn.Gallagher
Fixed anim blueprint compiler not following reroute nodes when building cached pose fragment list
#jira UE-35557
Change 3209941 on 2016/11/24 by Jurre.deBaare
Removing and readding a point to the Anim Offset graph results in the animation to not preview correctly.
#fix make sure that when we delete a sample point we reset the preview base pose
#misc changed how the preview base pose is determined/updated
#jira UE-38733
Change 3209942 on 2016/11/24 by Thomas.Sarkanen
Fixed transactions being made when setting bone space in details panel
Also added reset to defaults to allow easy removal of bone modifications.
#jira UE-38957 - Switching between Local and World Location in Persona Bone Transform options creates an Undo transaction
Change 3209945 on 2016/11/24 by james.cobbett
Test assets for Pose Snapshot Test Case
Change 3210239 on 2016/11/25 by Mieszko.Zielinski
Making Navmesh react to changes done to static mesh's collision setup via the SM Editor #UE4
#jira UE-29415
Change 3210279 on 2016/11/25 by Benn.Gallagher
Fixed anim sub-instances only allowing one pin to work when any pin required a call out to the VM for evaluation
#jira UE-38040
Change 3210288 on 2016/11/25 by danny.bouimad
Cleaned up Pose Driver Anim BP's
Change 3210334 on 2016/11/25 by Benn.Gallagher
Fixed preview mesh references getting broken in physics assets when renaming the preview mesh asset. Added explicit reference collection for the TAssetPtr
#jira UE-22145
Change 3210349 on 2016/11/25 by James.Golding
UE-35783 Fix scrolling in PoseAsset editor panels
Change 3210356 on 2016/11/25 by James.Golding
UE-38420 Disable 'Convert to Static Mesh' option if no MeshComponents selected (e.g. cables)
Change 3210357 on 2016/11/25 by Jurre.deBaare
Numeric textbox value label incorrect for aimoffset/blendspaces in grid
#fix change lambda capture type (was referencing local variable)
Change 3210358 on 2016/11/25 by Jurre.deBaare
Crash Generating Proxy Mesh with Transition Screen Size set to 1
#fix 1.0 was not included within the possible range
#jira UE-38810
Change 3210364 on 2016/11/25 by James.Golding
Improve BuildVertexBuffers to use stride and avoid copying colors
Change 3210371 on 2016/11/25 by Jurre.deBaare
You can no longer enable tooltip display when using anim offset
#fix Added back ability to show advanced preview sample weighting to tooltip under CTRL down
#jira UE-38808
It's not clear that the user has to hold shift to preview in blend spaces
#fix Preview value is now set by default and has a tooltip state, this will inform the user how to move the preview value
#jira UE-38711
#misc refactored out some duplicate code :)
Change 3210387 on 2016/11/25 by james.cobbett
Updating test asset
Change 3210550 on 2016/11/26 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209927
Brings IWYU in and required substantial fixups
Change 3210551 on 2016/11/26 by Marc.Audy
Delete empty cpp files
Change 3211002 on 2016/11/28 by Lukasz.Furman
added navigation update on editting volume's brush
#ue4
Change 3211011 on 2016/11/28 by Marc.Audy
Roll back CL# 3210334 as it is causing deadlocks during GC
Change 3211039 on 2016/11/28 by Jurre.deBaare
Merge Actors tool is splitting every vertex on spline meshes, causing hard edged vertex colors.
#fix prevent using the wedge map when propagating spline mesh vertex colours
#jira UE-36011
Change 3211053 on 2016/11/28 by Ori.Cohen
Make sure objects without simple collision do not simulate. Fixes crash when two trimesh only objects collide
#JIRA UE-38989
Change 3211101 on 2016/11/28 by mason.seay
Adjusting trigger collision so it can't be triggered by projectiles
Change 3211171 on 2016/11/28 by Jurre.deBaare
Previewing outside of Blendspace Graph points causes unexpected weighting
#jira UE-32775
Second Animation Sample added to AimOffset or Blendspace swaps with the first sample
#jira UE-36755
#fix Changed behaviour for calculating blendspace grid weighting for one, two or colinear triangles
- One: fill grid weights to single sample
- Two: find closest point on line between the two samples for the grid point, and weight according to the distance on the line
- Colinear: find two closest samples and apply behaviour above
#misc rename variables to make the code more clear and correct
Change 3211491 on 2016/11/28 by Marc.Audy
Provide proper tooltip for GetParentActor/Component
Expose GetAttachParentActor/SocketName to blueprints
De-virtualize Actor GetAttach... functions
#jira UE-39056
Change 3211570 on 2016/11/28 by Lina.Halper
Title doesn't update when asset is being dropped
#jira: UE-39019
Change 3211766 on 2016/11/28 by Ori.Cohen
Remove warning when a constraint has two empty components. This can be a valid usecase for when components are determined dynamically.
#JIRA UE-36089
Change 3211938 on 2016/11/28 by Mason.Seay
CSV's for testing gameplay tags
Change 3212090 on 2016/11/28 by Ori.Cohen
Expose angular SLERP drive to blueprints
#JIRA UE-36690
Change 3212102 on 2016/11/28 by Marc.Audy
Fix shadow variable issue
#jira UE-39099
Change 3212182 on 2016/11/28 by Ori.Cohen
PR #2902: Fix last collision preset display (Contributed by max99x)
#JIRA UE-38100
Change 3212196 on 2016/11/28 by dan.reynolds
AEOverview Update:
Minor tweaks and fixes
Added Attenuation Curve Tests
Renamed SC to SCLA for Sound Class prefix
WIP SCON (Sound Concurrency)
Change 3212347 on 2016/11/28 by Ben.Zeigler
#jira UE-39098 Fix issues with adding tag redirectors with the editor open, it now checks the redirector list in the editor
Fix chained tag redirectors to work properly
Const fixes and removed a bad error message spam, and fix rename message
Change 3212385 on 2016/11/28 by Marc.Audy
Avoid duplicate GetWorld() calls
Change 3212386 on 2016/11/28 by Marc.Audy
auto shoo
Change 3213018 on 2016/11/29 by Marc.Audy
Fix shadow variable for real
Change 3213037 on 2016/11/29 by Ori.Cohen
Fix deprecation warnings
Change 3213039 on 2016/11/29 by Marc.Audy
Generalize logic for when a component prevents an Actor from auto destroying
Add forcefeedback component to the components that will hold up the auto destroy of an actor
Change 3213088 on 2016/11/29 by Marc.Audy
Move significance manager out of experimental
Change 3213187 on 2016/11/29 by Marc.Audy
Add InsertDefaulted to mirror options available when Adding
Change 3213254 on 2016/11/29 by Marc.Audy
add auto-complete for showdebug forcefeedback
Change 3213260 on 2016/11/29 by Marc.Audy
Allow systems to inject auto-complete console entries
Change 3213276 on 2016/11/29 by Marc.Audy
add auto-complete entry for showdebug significancemanager
Change 3213331 on 2016/11/29 by James.Golding
Split SkeletalMesh skin weights into their own stream
Remove unused FGPUSkinVertexColor struct
Remove unused FSkeletalMeshVertexBuffer::bInfluencesByteSwapped bool
Fix FSkeletalMeshMerge::GenerateLODModel to handle >4 weights
Update friendly name for FColorVertexBuffer now it's used by skel mesh as well
Change 3213349 on 2016/11/29 by Ben.Zeigler
Fix tag rename feedback message
Change 3213355 on 2016/11/29 by Ben.Zeigler
#jira UE-39115 PR #2987: Added IsPaused to AGameModeBase (Contributed by RoyAwesome)
Change 3213406 on 2016/11/29 by Ori.Cohen
Make sure body transforms are not set while the physx simulation is running.
#JIRA UE-37270
Change 3213508 on 2016/11/29 by Jurre.deBaare
When performing a merge actor on an actor merging multiple materials certain maps aren't generated
#fix Apparently rendering out specular etc now outputs its value only to the red channel, so had to change how we populate the combined metallic/roughness/specular map
#jira UE-38526
Change 3213557 on 2016/11/29 by Ben.Zeigler
#jira UE-22145 Fix issues where TAssetPtrs weren't getting properly fixed up during rename fixup, it now runs the StringAssetReference fixup on the nested reference. This should fix lots of weird issues with references going away
Change 3213634 on 2016/11/29 by Ori.Cohen
Make sure if no shapes are found for vehicle wheels we create spheres and attach them to the actor.
Change 3213639 on 2016/11/29 by Ori.Cohen
Fix from nvidia for vehicle suspension exploding when given a bad normal.
#JIRA UE-38716
Change 3213812 on 2016/11/29 by James.Golding
UE-35925 Remove hard-coded asset<->animnode mapping, add SupportsAssetClass virtual instead
Change 3213824 on 2016/11/29 by Ori.Cohen
Fix CIS
Change 3213873 on 2016/11/29 by Ori.Cohen
Fix welded bodies not properly computing mass properties.
#JIRA UE-35184
Change 3213950 on 2016/11/29 by Mieszko.Zielinski
Fixed navigation collision being generated wrong for StaticMeshes created from BSP #Orion
#jira UE-37221
Change 3213951 on 2016/11/29 by Mieszko.Zielinski
Fixed perception system having issue with registering perception listener spawned in sublevels #UE4
#jira UE-37850
Change 3214005 on 2016/11/29 by Ori.Cohen
Fix mass kg override not propagating to blueprint instances.
Change 3214046 on 2016/11/29 by Marc.Audy
Duplicate all instanced subobjects, not just those that are editinlinenew
Make AABrush.Brush instanced rather than export
#jira UE-39066
Change 3214064 on 2016/11/29 by Marc.Audy
Use GetComponents directly where safe instead of copying in to an array
Change 3214116 on 2016/11/29 by James.Golding
Fix tooltip when dragging anim assets onto players
Change 3214136 on 2016/11/29 by Ori.Cohen
Make it so moving bodies is immediate when in editor. Useful for editor tools that rely on physx data
#JIRA UE-35864
Change 3214162 on 2016/11/29 by Mieszko.Zielinski
Fixed a bug in EnvQueryGenerator_SimpleGrid resuting in one extra column and row of points being generated #UE4
#jira UE-12077
Change 3214177 on 2016/11/29 by Marc.Audy
Use correct SocketName (broken in CL#2695130)
#jira UE-39153
Change 3214427 on 2016/11/29 by dan.reynolds
AEOverview Update
Fixed Attenuation tests when overlapping attenuation ranges between streamed levels
Added Sound Concurrency Far then Prevent New testmap
Removed some Sound Concurrency assets
Change 3214469 on 2016/11/29 by dan.reynolds
AEOverview Update
Added Sound Concurrency Test for Stop Farthest then Oldest
Change 3214842 on 2016/11/30 by Jurre.deBaare
LookAt AimOffset in the Anim Graph causes character to explode
#jira UE-38533
#fix ensure that the source socket exists on the skeleton during compilation (as far as we can), and skip blendspace evaluation in case of it not being valid during runtime
Change 3214866 on 2016/11/30 by james.cobbett
Updating Pose Snapshot test assets
Change 3214964 on 2016/11/30 by thomas.sarkanen
Added test data for facial animtion curves
Change 3215015 on 2016/11/30 by Jurre.deBaare
When a Aim Offset axis value is edited drastically the preview mesh will be deformed
#fix change the way we change data when axis values are changed, simply remap normalized samples to new axis range
#misc marked some data/functions editor only (not needed during runtime so reduces footprint a little bit)
#jira UE-38880
Change 3215029 on 2016/11/30 by Marc.Audy
Fix CIS
Change 3215033 on 2016/11/30 by Marc.Audy
Add a delegate for when new classes are added via hotreload
Change existing hotload class reinstancing delegates to be multicast
Change 3215048 on 2016/11/30 by Jon.Nabozny
Use getKinematicTarget whenever a body is kinematic.
This should fix some edge cases in FBodyInstance where stale transforms may be used when operations are run in PrePhysics.
#jira UE-37877
Change 3215052 on 2016/11/30 by Marc.Audy
Generalize the volume actor factory logic
Create volume factories when hotreload adds a new volume class
#jira UE-39064
Change 3215055 on 2016/11/30 by Marc.Audy
Probable fix for IOS CIS failure
Change 3215091 on 2016/11/30 by Lina.Halper
Easy alternative fix for blending two curves per bone. For now we just combine.
To fix this properly - i.e. per bone to affect curve - it is very expensive process, so opting into this for 4.15.
#jira: UE-39182
Change 3215179 on 2016/11/30 by Jurre.deBaare
Preview viewport should only use rendering features supported in project
#fix replace the skylight with a sphere reflection component, this will not give image based lighting but does supply the user with a reflection map + intensity
#jira UE-37252
Change 3215189 on 2016/11/30 by Jurre.deBaare
CIS fix
Change 3215326 on 2016/11/30 by Ben.Zeigler
#jira UE-39077 Fix OnActive gameplay cues on standalone servers, it was incorrectly assuming it was in mixed replication mode.
Regression caused by CL #3104976
Change 3215523 on 2016/11/30 by James.Golding
Fix cooking old skel meshes in commandlet - vertex buffer was not recreated so UpdateUVChannelData would crash
Change 3215539 on 2016/11/30 by Marc.Audy
Fix failure to cleanup objects in a hidden always loaded sub-level
#jira UE-39139
Change 3215568 on 2016/11/30 by Aaron.McLeran
UE-39197 Delay node of 0.0 causes crash
Change 3215719 on 2016/11/30 by Aaron.McLeran
UE-39074 Audio related Client crash experienced on latest live build ++UT+Release-Next-CL-3193528
Change 3215773 on 2016/11/30 by Aaron.McLeran
PR #2819 : Fixed typo in SoundWave.h
Change 3215828 on 2016/11/30 by James.Golding
PR #2900: fixed a former change that overlooked the 2 character difference between 16 and 32. (Contributed by MartinMittringAtOculus)
Change 3215831 on 2016/11/30 by James.Golding
UE-36688 Add BlendOption (with CustomCurve) to PoseBlendNode
Change 3215904 on 2016/11/30 by Marc.Audy
Fix significance calculations
Change 3215955 on 2016/11/30 by James.Golding
UE-36791 Fix scaling of rotated convex elements, by baking element transform into cooked convex data.
Change 3215959 on 2016/11/30 by James.Golding
Remove LogTemp warning from FAnimBlueprintCompiler::FinishCompilingClass
Change 3216057 on 2016/11/30 by Marc.Audy
Don't reset expose on spawn properties when in a PIE world
#jira UE-36771
Change 3216114 on 2016/11/30 by James.Golding
Move SkeletalMeshComponent and SkinnedMeshComponent functions out of SkeletalMesh.cpp into correct cpp files
Change 3216144 on 2016/11/30 by Jon.Nabozny
Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.
InitArticulated uses the default Constraint Template from the Physics Asset a skeletal mesh is associated with.
This caused issues if a skeletal mesh had bone scales that differed from those in the physics asset.
#jira UE-38434
Change 3216148 on 2016/11/30 by Jon.Nabozny
Create test map and asset for Skeletal Mesh Component Scaling and Skeletal Mesh Uniform Import Scaling.
Change 3216160 on 2016/11/30 by Aaron.McLeran
Fixing a memory leak in concurrency management
Change 3216164 on 2016/11/30 by James.Golding
Move SkeletalMeshActor code into its own cpp file
Fix CIS for SkeletalMeshComponent.cpp
Change 3216371 on 2016/11/30 by dan.reynolds
AEOverview Update
Minor tweaks
Completed Sound Concurrency Rule Test Maps
Added additional test files
Change 3216509 on 2016/11/30 by Marc.Audy
Fix missing include
Change 3216510 on 2016/11/30 by Marc.Audy
Code cleanup
Change 3216723 on 2016/12/01 by Jurre.deBaare
When clearing a blend sample animation the animation will try and blend to the ref pose
#fix do not delete sample when animation == nullptr but mark it as invalid, it then will be rendered in red on the grid and discarded during triangle/line generation
#fix indice mapping for 2d blend spaces was incorrect before (luckily never caused an error)
#misc weird whitespace changes
#jira UE-39078
Change 3216745 on 2016/12/01 by Jurre.deBaare
- Blend space triangulation was incorrect in some cases, due to refactor some data was not initialised.
- UDN user was hitting a check within the triangle flipping behaviour
#fix Revisited the conditions to determine whether or not a point lies within a triangles circumcircle
#fix In case we cannot flip the current triangle we skip it and move onto the next one instead of putting in a hard check
#misc refactored triangle flipping code to make it smaller (more readible)
Change 3216903 on 2016/12/01 by mason.seay
Imported mesh for quick test
Change 3216904 on 2016/12/01 by Jurre.deBaare
CIS Fix
#fix replaced condition by both non-editor as editor valid one
Change 3216998 on 2016/12/01 by Lukasz.Furman
fixed AI slowing down on ramps due to 3D input vector being constrained by movement component
#jira UE-39233
#2998
Change 3217012 on 2016/12/01 by Lina.Halper
Checking in James' fix on drag/drop to replace assets
#code review: James.Golding
#jira: UE-39150
Change 3217031 on 2016/12/01 by james.cobbett
Updating Pose Snapshot Assets. Again.
Change 3217033 on 2016/12/01 by Martin.Wilson
Update bounds on all skel meshes when physics asset is changed
#jira UE-38572
Change 3217181 on 2016/12/01 by Martin.Wilson
Fix imported animations containing a black thumbnail
#jira UE-36559
Change 3217183 on 2016/12/01 by Martin.Wilson
Add some extra debugging code for future animation compression / ddc issues
Change 3217184 on 2016/12/01 by james.cobbett
Fixing a test asset by checking a check box. Sigh.
Change 3217216 on 2016/12/01 by Martin.Wilson
Undo part of CL 3217183. Will need to add this back differently.
Change 3217274 on 2016/12/01 by Marc.Audy
When serializing in an enum tagged property follow redirects
#jira UE-39215
Change 3217419 on 2016/12/01 by james.cobbett
Changes to test assets for more Pose Snapshot tests
Change 3217449 on 2016/12/01 by Aaron.McLeran
Adding new audio setting to disable EQ and reverb.
Hooked up to XAudio2 (for now).
Change 3217513 on 2016/12/01 by Marc.Audy
Improve bWantsBeginPlay deprecation message
Change 3217620 on 2016/12/01 by mason.seay
Updated test assets for HLOD
Change 3217872 on 2016/12/01 by Aaron.McLeran
UEFW-113 Adding master reverb to audio mixer
- Added new submix editor to create new submixes
- Created new default master submixes for reverb and EQ and master submixes
- Fixed a number of minor issues found in auido mixer while working on feature
Change 3218053 on 2016/12/01 by Ori.Cohen
Added mass debug rendering
#JIRA UE-36608
Change 3218143 on 2016/12/01 by Aaron.McLeran
Fixing up reverb to support multi-channel (5.1 and 7.1) configurations.
- Added default reverb send amount
Change 3218440 on 2016/12/01 by Zak.Middleton
#ue4 - Made some static FNames const.
Change 3218715 on 2016/12/02 by james.cobbett
Fixed bug in test asset.
Change 3218836 on 2016/12/02 by james.cobbett
Fixing up test asset
Change 3218884 on 2016/12/02 by james.cobbett
Moar test asset changes
Change 3218943 on 2016/12/02 by Ori.Cohen
Make sure welded bodies include the center of mass offset. Note this also changes the COM nudge to be world space instead of local space
#JIRA UE-35184
Change 3218955 on 2016/12/02 by Marc.Audy
Fix initialization order issues
Remove monolithic includes
Change signature to pass string by const ref
Change 3219149 on 2016/12/02 by Ori.Cohen
Fix SetCollisionObjectType not working on skeletal mesh components
#JIRA UE-37821
Change 3219162 on 2016/12/02 by Martin.Wilson
Fix compile error when blend space on aim offset nodes is exposed as pin
#jira UE-39285
Change 3219198 on 2016/12/02 by Marc.Audy
UEnum::FindValue/IndexByName will now correctly follow redirects
#jira UE-39215
Change 3219340 on 2016/12/02 by Zak.Middleton
#ue4 - Optimized and cleaned up some Actor methods related to location and rotation.
- Inlined GetActorForwardVector(), GetActorUpVector(), GetActorRightVector(). Wrapped them to simply call the methods on USceneComponent rather than using a different approach to computing these vectors.
- Inlined blueprint versions: K2_GetActorLocation(), K2_GetActorRotation(), K2_GetRootComponent().
- Cleaned up template methods that are used to delay compilation of USceneComponent calls to make them private and prefix "Template" to their names so they don't show up in autocomplete for calls to the public methods.
Change 3219482 on 2016/12/02 by Ori.Cohen
Fix crash when double deleting a clothing actor due to destroying USkeletalMesh before USkeletalMeshComponent.
#JIRA UE-39172
Change 3219676 on 2016/12/02 by Martin.Wilson
Make clearer that ref pose is from skeleton
Change 3219687 on 2016/12/02 by Aaron.McLeran
Supporting multi-channel reverb with automatic downmixing of input to stereo
Change 3219688 on 2016/12/02 by Martin.Wilson
Fix crash when remapping additive animations after skeleton hierarchy change
#jira UE-39040
Change 3219699 on 2016/12/02 by Zak.Middleton
#ue4 - Fix template's use of old GetActorRotation() function.
Change 3219969 on 2016/12/02 by Ben.Zeigler
#jira UE-24800 Disable replicatied movement updates for actors that are welded to something else, to avoid them fighting with the welded parent's replication
Modified from shelve Zak.Middleton made of PR #1885, after some more testing
Change 3220010 on 2016/12/02 by Aaron.McLeran
Fixing up sound class editor
Change 3220013 on 2016/12/02 by Aaron.McLeran
Deleting monolithic file
Change 3220249 on 2016/12/02 by Aaron.McLeran
Changing reverb settings parameter thread sync method
- Switching to a simple ring buffer rather than using a crit sect
Change 3220251 on 2016/12/02 by Aaron.McLeran
Removing hard-coded audio mixer module name for the case when using -audiomixer argument,
-added new entry to ini file that allows you to specify the audio mixer module name used for the platform.
Change 3221118 on 2016/12/05 by Jurre.deBaare
Back out changelist 3220249 to fix CIS
Change 3221363 on 2016/12/05 by Martin.Wilson
Change slot node category from Blends to Montage
Change 3221375 on 2016/12/05 by Jon.Nabozny
Change AGameModeBase::GetGameSessionClass to return GameSessionClass when set.
#jira UE-39325
Change 3221402 on 2016/12/05 by Jon.Nabozny
Add sanitization code around PhsyX flags and refactor the ways flags are managed through a single code path.
#jira UE-33562
Change 3221441 on 2016/12/05 by Thomas.Sarkanen
Fixed crash when reimporting a mesh when a different animation was open
#jira UE-39281 - Editor crashes when reimporting a skeletal mesh after enabling recalculate tangents
Change 3221473 on 2016/12/05 by Marc.Audy
Get rid of auto.
Use GetComponents directly instead of copying in to temporary arrays
Change 3221584 on 2016/12/05 by Jon.Nabozny
Fix CIS for Mac builds from CL-3221375
Change 3221631 on 2016/12/05 by Martin.Wilson
Possible fix for rare marker sync crash on live servers
#jira UE-39235
#test ai match, animation seemed fine, no crashes
Change 3221660 on 2016/12/05 by mason.seay
Resubmitting to add Viewport Bookmark
Change 3221683 on 2016/12/05 by Mieszko.Zielinski
Temp (but decent) fix to ARecastNavMesh::GetRandomPointInNavigableRadius sometimes retrieving invalid locations even if there's a valid piece of navmesh in the area #UE4
#jira UE-30355
Change 3221750 on 2016/12/05 by Jon.Nabozny
Real CIS fix.
Change 3221917 on 2016/12/05 by Jon.Nabozny
Fix CIS for real this time.
Change 3222370 on 2016/12/05 by mason.seay
Start of Gameplay Tag testmap
Change 3222396 on 2016/12/05 by Aaron.McLeran
UEFW-44 Implementing EQ master submix effect for audio mixer
- New thread safe param setting temlate class (for setting EQ and Reverb params)
- Hook up reverb submix effect to source voices
- Implementation of FBiquad for biquad filter coefficients and audioprocessing
- Implementation of Filter class which hold FBiquad instance per channel, computes coefficents once
- Implementation of equalizer class which is a serial bank of filters set to ParametricEQ filter type
Change 3222425 on 2016/12/05 by Aaron.McLeran
Checking in missing files
Change 3222429 on 2016/12/05 by Aaron.McLeran
Last missing file!
Change 3222783 on 2016/12/05 by Jon.Nabozny
Update SkelMeshScaling map.
Change 3223173 on 2016/12/06 by Martin.Wilson
Fix crash in thumbnail rendering when creating a new montage
#jira UE-39352
Change 3223179 on 2016/12/06 by Marc.Audy
auto/NULL cleanup
Change 3223329 on 2016/12/06 by Marc.Audy
Fix (hard to explain) memory corruption
#jira UE-39366
Change 3223334 on 2016/12/06 by Jon.Nabozny
Add HasBeenInitialized check inside AActor::InitializeComponents
Change 3223340 on 2016/12/06 by Jon.Nabozny
Refactor SkeletalMesh constraint scaling fixes. Add a check on bodies to ensure they are valid.
#jira UE-39238
Change 3223372 on 2016/12/06 by Marc.Audy
Probably fix HTML5 CIS failure
Change 3223511 on 2016/12/06 by Jon.Nabozny
Fix Mac CIS shadow warning
Change 3223541 on 2016/12/06 by Lukasz.Furman
fixed missing NavCollision data in static meshes
#jira UE-39367
Change 3223672 on 2016/12/06 by Ben.Zeigler
#jira UE-39394 Fix GameplayTagContainerCustomization to work like GameplayTagCustomization as a popup instead of a window, this fixes the references button
Remove unnecessary code from both customizations
Change 3223751 on 2016/12/06 by Marc.Audy
Properly remove components from their owner when manipulating through editinlinenew properties
#jira UE-30548
Change 3223831 on 2016/12/06 by Ben.Zeigler
#jira UE-39293 Don't show non-working tag operations when ini tag editing is not enabled
#jira UE-39344 Improve feedback messages when deleting explicit tags that have other explicit tag children
Don't allow deleting a leaf explicit tag whose implicit parent tags are still referenced and it is the only thing keeping them alive
Add Tag Source to tooltip in management mode
Fix RequestGameplayTagChildrenInDictionary to work properly
Change 3223862 on 2016/12/06 by Marc.Audy
Hide deprecated attach functions for all games not just Paragon
Change 3224003 on 2016/12/06 by Marc.Audy
Put behavior of player camera back to how it was prior to Ansel plugin support changes. Make photography only work a different way.
#jira UE-39207
Change 3224602 on 2016/12/07 by Jurre.deBaare
Crash on creating LODs with Medic
#fix Added clamp for UVs -1024 to 1024
#jira UE-37726
Change 3224604 on 2016/12/07 by Jurre.deBaare
Fix for incorrect normal calculation in certain circumstances
#fix Make sure we propagate the matrices to samples after we (re)calculated normals
#fix Conditionally swap/inverse the vertex data buffers instead of always
#fix Set preview mesh for alembic import animation sequences
#misc removed commented out code and added debug code
Change 3224609 on 2016/12/07 by Jurre.deBaare
Alembic Import Issues (skeletal) w. UVs and smoothing groups
#fix Changed the way we populate smoothing group indices for alembic caches
#misc removed commented out code, set base preview pose for alembic imported skeletal meshes / anim sequences
#jira UE-36412
Change 3224783 on 2016/12/07 by James.Golding
Support per-instance skeletal mesh vertex color override
Change 3224784 on 2016/12/07 by James.Golding
Add skelmesh vert color override map. Fix my vert color material to work on skel mesh.
Change 3225131 on 2016/12/07 by Jurre.deBaare
Crash when baking matrix animation when importing an alembic file as skeletal
#fix condition whether or not to apply matrices had not been moved over in previous change
#jira UE-39439
Change 3225491 on 2016/12/07 by Lina.Halper
- Morphtarget fix on the first frame
#jira: UE-37702
Change 3225597 on 2016/12/07 by mason.seay
Updated materials on meshes to ones that don't have physical materials, also rebuilt lighting
Change 3225758 on 2016/12/07 by Aaron.McLeran
UE-39421 Fix for sound class graph bug
Change 3225957 on 2016/12/07 by Ben.Zeigler
#jira UE-39433 Fix crash with mass debug data
Change 3225967 on 2016/12/07 by Lina.Halper
Fix not removing link up cache when removed.
#jira: UE-33738
Change 3225990 on 2016/12/07 by Ben.Zeigler
#jira OR-32975 Sort gameplay tags before saving out modified ini, to help with merge issues
Change 3226123 on 2016/12/07 by Aaron.McLeran
Fix for sound class asset creation from within the sound class graph
Change 3226165 on 2016/12/07 by mason.seay
Replaced skelmesh gun with static mesh cube
Change 3226336 on 2016/12/07 by Aaron.McLeran
Fixing up sound class replacement code.
If you delete a sound class but replace with another, now it properly replaces sound classes in the sound class graphs without totally destroying them
Change 3226701 on 2016/12/08 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ CL 3226613
Change 3226710 on 2016/12/08 by Jurre.deBaare
Fix for alembic import crash
#misc update num mesh samples and take into account user set start frame in case of skipping preroll frames
Change 3226834 on 2016/12/08 by Jurre.deBaare
Fix for incorrect matrix samples being applied during Alembic cache importing
#fix Change way we loop through samples and determine correct matrix and mesh sample indices
Change 3227330 on 2016/12/08 by Jurre.deBaare
Temporary fix for animBP compilation error, underlying issue is causing the skeleton to not be fully loaded when we are validating the animation node. This makes the socket name check fail and consequently output a compilation error
#UE-39499
#fix Ensure that the skeleton is loaded by checking for RF_NeedPostLoad
#misc corrected socket name output, removed unnecessary nullptr check
Change 3227575 on 2016/12/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3227387
Change 3227602 on 2016/12/08 by Marc.Audy
Copyright 2016 to 2017 updates for new Framework files
[CL 3227721 by Marc Audy in Main branch]
2016-12-08 16:58:18 -05:00
}