Commit Graph

76 Commits

Author SHA1 Message Date
dan thompson
277eb537e9 Add support for specifying Oodle encoding parameters in the texture editor for experimenting with different settings for individual textures.
#rb fabian.giesen
#preflight 619d5d20f70a9e92db46c681

#ROBOMERGE-AUTHOR: dan.thompson
#ROBOMERGE-SOURCE: CL 18317165 in //UE5/Release-5.0/... via CL 18317482
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18318016 by dan thompson in ue5-release-engine-test branch]
2021-11-29 18:06:06 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ben ingram
2351588c6a Add texture cube array assets, support for sampling in materials
#rb graham.wihlidal
#preflight 611ebf1a2c1f1c0001355fe7

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 17240322 via CL 17268789
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17268797 by ben ingram in ue5-release-engine-test branch]
2021-08-23 12:36:17 -04:00
cody albert
f0fce45816 Corrected texture editor's Resource Size display to make it clear that the size is in kilobytes (KB) instead of kilobits (Kb)
#rb none

#ROBOMERGE-SOURCE: CL 16606105 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16606113 by cody albert in ue5-release-engine-test branch]
2021-06-09 11:36:43 -04:00
louise rasmussen
69755948a0 Fixes crash when opening the Texture Asset Editor
#JIRA  UE-115795
#rb Lauren.Barnes
#preflight 60a40b4fde63e2000179fa02

#ROBOMERGE-SOURCE: CL 16374720 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16374744 by louise rasmussen in ue5-release-engine-test branch]
2021-05-18 16:01:14 -04:00
danny couture
25c6066c53 Prepare for the deprecation of direct access to the Resource member of UTexture in favor of the GetResource() accessor.
#rb Francis.Hurteau
#preflight 609e5182ef86d30001ad0a18
#rnx

#ROBOMERGE-SOURCE: CL 16328103 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16328107 by danny couture in ue5-release-engine-test branch]
2021-05-14 07:17:49 -04:00
Lauren Barnes
39f1923ed0 Deprecating .Icon() as a slate attribute on SDockTab. By default, tab icons fall back to using the one for the tab spawner's menu item. SetTabIcon can be used in the edge cases where an icon needs to be set that doesn't match the default. Updating all found cases of .Icon() usage on SDockTab.
#jira UETOOL-3429
#preflight 60996a2bdd2e00000126ff25
#rb Matt.Kuhlenschmidt

[CL 16251489 by Lauren Barnes in ue5-main branch]
2021-05-10 14:19:15 -04:00
Ben Ingram
e6c2c85df5 Fixes for UDIM VTs in texture editor
UDIMs use transformed UVs, account for these when computing visible regions
#rb none
#jira none

[CL 15926164 by Ben Ingram in ue5-main branch]
2021-04-05 21:56:26 -04:00
jonathan bard
20300d0ac3 Undo changelist 15503762
#fyi will.damon
#rb trivial
#jira none
#rnx

[CL 15503946 by jonathan bard in ue5-main branch]
2021-02-23 15:21:56 -04:00
will damon
dca08af3c6 Fix build.
#rb trivial
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 15502761 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15503762 by will damon in ue5-main branch]
2021-02-23 15:17:29 -04:00
jonathan bard
a9619fae9a Fixed texture viewer not allowing to toggle off the Alpha channel of textures/render targets/etc.
* Added EPixelFormatChannelFlags to indicate which pixel format supports which channel
* Fixed Alpha channel not properly tagged as such for various pixel formats (e.g. BC5 being marked as "Has Alpha Channel")
* Fixed some pixel formats without an enum-to-string (and vice versa) conversion
* Fixed and unified computation of mip number, max mip levels and pixel format for all types of textures supported by the texture viewer

#rb matt.kuhlenschmidt, rolando.caloca
#jira none

[CL 15471436 by jonathan bard in ue5-main branch]
2021-02-19 09:44:24 -04:00
Thomas Engel
d615127f0a Cleanup work in MediaTexture output code to avoid some useless conversions and enable mipped texture samples
#rb none
#jira none

[CL 15307367 by Thomas Engel in ue5-main branch]
2021-02-03 20:11:50 -04:00
Matt Kuhlenschmidt
6973e6a61e Toolbars can now support a hybrid mode where they include no text unless a specific toolbar entry is called out using the "calloutstyle" for the toolbar entry. This allows toolbars to reduce their width significantly. The level editor now uses this by default but a few other asset editors have been set up for this
[CL 14994802 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-05 16:38:18 -04:00
Uriel Doyon
b9444f338f Added support for UVolumeTexture and UTexture2DArray streaming.
Texture 2D array streaming is implemented through FTexture2DArrayMipAllocator_Reallocate
Volume texture streaming is implemented through FVolumeTextureMipAllocator_Reallocate.
New generic stream out implementation in FTextureStreamOut.

Fixed different issues in FTexture2DMipDataProvider_IO relatively to optional bulks and IO errors.

Added UTexture::GetSurfaceDepth() for 3d textures.
Added UTexture::GetSurfaceArraySize() for array textures (where cubemaps return 6).

Moved UTexture2D::CancelPendingTextureStreaming() and UTexture2D::LevelIndex to UTexture.

Renamed UTexture2DArray::GetNumSlices() to UTexture2DArray::GetArraySize().

Fixed missing "virtual" keyword in base class UTextureMipDataProviderFactory.

Updated the texture editor UI so that it shows Texture2DArray array sizes and Texture3D depth.
Unified the UI for cubemaps so that it shows as an array with size 6.

Reimplemented "LODGroups" command to make it coherent with latest changes.

#rb jian.ru, danny.couture, matt.peters
#fyi mihnea.balta
#jira 	UE-97975, UE-81395, UE-102061, UE-84427

[CL 14832616 by Uriel Doyon in ue5-main branch]
2020-12-01 20:32:18 -04:00
Matt Kuhlenschmidt
ea3bead0dd Fixed cut off text in texture editor toolbar
[CL 14688686 by Matt Kuhlenschmidt in ue5-main branch]
2020-11-09 10:14:14 -04:00
Lauren Barnes
3c4fe61aba Removing redundant conditional
#rb trivial
#fyi Matt.Kuhlenschmidt

[CL 14602681 by Lauren Barnes in ue5-main branch]
2020-10-28 15:44:40 -04:00
Matt Kuhlenschmidt
e618c65937 Texture editor reskin
[CL 14599258 by Matt Kuhlenschmidt in ue5-main branch]
2020-10-28 10:59:23 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
danny couture
ff158b6e95 Async Texture Compilation
- Feature can be activated in the Experimental section of the Editor Settings
 - Replace Texture2D/TextureCube resources by placeholders until their PlatformData is ready
 - Add a utility class allowing to encapsulate raw field pointers without breaking compatibility
 - Protect PlatformData from unsafe access through encapsulation.
 - Protect texture's resource from race conditions between game and render threads through encapsulation.
    - This allows to get rid of FlushRenderingCommands and long game-thread stutters when Updating a texture's resource.
    - UpdateResource was never safe to call without a FlushRenderingCommands and multiple call-site are doing exactly that, this will fix those cases.
    - Those were probably undetected due to their low occurence rate under normal conditions but can easily be reproed during async texture compilation on 32 cores.
 - Force wait on required texture compilations for MaterialBaking, ProxyMesh, Thumbnail generation for disk usage
 - Wait on all textures compilation whenever a wait for all shaders compilation is requested for safety (i.e. screenshot)
 - Compile UI and heightmap textures with higher priority to reduce visual artefacts
 - Increase priority of texture that have been rendered to improve time-to-usefulness of the editor under low core count
 - Async compilation is disabled for -game / non-editor mode as there is currently no support for async bulk data loading from external files
 - Properly cancel async tasks when UTexture is garbage collected before the compilation is finished
 - Show progress when explicitly waiting on compilation
 - Changing the mip settings in the texture editor (or any settings requiring the running platform data to be recomputed) will now be processed asynchronously.

DEBUGGING

 - Can be forcibly enabled/disabled through command-line via -asynctexturecompilation=[off, on, paused]
 - Can pause texture compilation using Editor.AsyncTextureCompilation = 2 or -asynctexturecompilation=paused
 - Can manually resume a specified amount of paused compilation using Editor.AsyncTextureCompilationResume [Num]
 - Can forcibly wait on all compilation using Editor.AsyncTextureCompilationFlushAll

BENCHMARKS

 - 3m15s to 1m20s when loading Apollo_Terrain with no textures in DDC (AMD TR 3970X)
 - 6m45s to 1m11s when loading Apollo_Terrain with no textures in DDC (-corelimit=8)
 - 3m10s to 1m54s when lauching PIE on Apollo_Terrain with no textures in DDC (AMD TR 3970X)
 - 7m43s to 1m36s when lauching PIE on Apollo_Terrain with no textures in DDC (-corelimit=8)
 - 0m57s to 0m42s when importing Attic_NVIDIA.usd with no textures in DDC (AMD TR 3970X)
 - 2m14s to 0m35s when importing Attic_NVIDIA.usd with no textures in DDC (-corelimit=4)

TESTS
 - Success on all material baking tests from EngineTests with -asynctexturecompilation=paused
 - Runned with -corelimit=1 all the way to unlimited
 - Cooking worked
 - Opening the texture editor/material editor will force the compilation to finish like expected.
 - Changing a setting in the texture editor will recompile async, even allowing to close the editor and continue doing other changes.
 - Unpausing the compilation will update the texture thumbnails properly.
 - Started with -asynctexturecompilation=paused, and then unpaused after a map loading, and then into a PIE session to stresstest UpdateResources.
 - Tested both dx11/dx12
 - Vulkan fails on Fortnite even with -asynctexturecompilation=off because of Landscape weigthmap, not this CL.
 - Compiled and tested FortniteGame / UE4 / ShooterGame projects

#rb Uriel.Doyon, Francis.Hurteau

[CL 13694814 by danny couture in ue5-main branch]
2020-06-16 22:16:25 -04:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00