Commit Graph

83 Commits

Author SHA1 Message Date
lumberyard-employee-dm 7dabe8b6e9 Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
2021-06-17 13:58:20 -05:00
Esteban Papp 36cb0f6d40 SPEC-7178 Removal of precompiled cpp files (#1171)
* SPEC-7178  Removal of precompiled cpp files

* Missing files...
2021-06-07 15:59:58 -07:00
dmcdiarmid-ly 8ae800f579 Merge pull request #1106 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-13890
[ATOM-13890] Reflection probe quality levels
2021-06-03 17:00:20 -07:00
Esteban Papp 29c71b4e53 SPEC-2513 Fixes to enable w4701 (#1105)
* Some fixes

* more fixes

* fixes for debug
2021-06-03 09:30:33 -07:00
Doug McDiarmid 9dbe596e40 Added reflection probe cubemap quality levels 2021-06-02 18:39:05 -07:00
pappeste 8b9f5230f6 Merge branch 'main' into ly-as-sdk/LYN-2948 2021-05-28 00:16:26 -07:00
Terry Michaels b600dd9b71 Fixed issues with mac build caused by a double define of "MAC" (#996)
* fixed missed reference to name change

* Fixed MAC double define issue, changed to MAC_ID
2021-05-27 12:49:16 -05:00
pappeste 01933f45b1 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/gem.json
2021-05-27 10:39:37 -07:00
pappeste f1b688f435 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.h
#	Gems/AtomLyIntegration/AtomViewportDisplayInfo/gem.json
#	cmake/LYWrappers.cmake
#	cmake/SettingsRegistry.cmake
#	scripts/o3de/tests/unit_test_current_project.py
2021-05-27 10:29:19 -07:00
Doug McDiarmid 045def6ce1 Merge branch 'main' into Atom/dmcdiar/ATOM-5034 2021-05-26 19:23:06 -07:00
Terry Michaels 9b1be43367 Renamed osx_gl to mac and es3 to android for cache folders (#949) 2021-05-26 19:17:17 -05:00
galibzon 0678dec64e [ATOM-15618] Shader Build Pipeline: Add UnitTest To Validate Shader C… (#918)
* [ATOM-15618] Shader Build Pipeline: Add UnitTest To Validate Shader Compiler
Argument Processing Introduced With The New Supervariant System

- Added new test suite in
  Gems/Atom/Asset/Shader/Code/Tests/SupervariantCmdArgumentTests.cpp

- Refactored and improved the previously existing classes:
  GlobalBuildOptions, PreprocessorOptions and ShaderCompilerArguments
  to work well with the new ShaderSourceData::SupervariantInfo.

- Moved command line argument processing function out of
ShaderCompilerArguments and into its own utility namespace in
Atom/RHI.Edit/Utils.h

Signed-off-by: garrieta <garrieta@amazon.com>
2021-05-26 15:23:11 -05:00
galibzon 78d6dc3613 [SPEC-7010] Windows release_vs2019 build fails with an unreferenced formal parameter (#952)
in ShaderBuilderUtility.cpp

Added [[maybe_unused]] to a parameter that was not used under all
conditions.
2021-05-26 09:49:09 -05:00
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 2021-05-25 23:48:55 -05:00
lumberyard-employee-dm 21285809bf Adding back gem.json files to the Atom and AtomLyIntegration folders
which are to be seen as sub gem roots as a workaround for detecting the
location of the "gem" root for the Atom/AtomLyIntegration GEM_MODULE targets

Removed the logic in the SettingsRegistry.cmake for reading a
"gem_module_roots" key from the gem.json file in order to determine the
root of the Atom and Atom LyIntegration sub gem modules
2021-05-24 13:02:23 -05:00
dmcdiar 45ab467274 Merge branch 'main' into Atom/dmcdiar/ATOM-5034
# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/DiffuseProbeGrid/DiffuseProbeGridRayTracingPass.cpp
2021-05-21 18:22:59 -07:00
dmcdiar d6e25bbb33 Added DiffuseProbeGrid texture baking 2021-05-21 03:26:29 -07:00
moudgils 5a149a4594 Merge branch 'main' into DxcExperiment 2021-05-20 11:56:35 -07:00
michabr 69fed39982 Merge pull request #766 from aws-lumberyard-dev/michabr/lyshine_atom
Add image builder processing bus
2021-05-20 10:02:44 -07:00
galibzon 256df54575 [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System (#749)
* [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System.

Added ShaderAssetBuilder2 & ShaderVariantAssetBuilder2.

Added ShaderAsset2, ShaderVariantAsset2.

Eventually they will be the only builders. AzslBuilder &
SrgLayoutBuilder will be removed.
ShaderResourceGroupAsset will be removed. ShaderAssetBuilder &
ShaderVariantAssetBuilder will be replaced.

Signed-off-by: garrieta <garrieta@amazon.com>
2021-05-20 04:53:16 -05:00
abrmich 19aa0bdd75 Merge branch 'main' into michabr/lyshine_atom 2021-05-19 20:49:32 -07:00
moudgils 94a8c8258b Bumped shader builders 2021-05-19 19:22:35 -07:00
abrmich bd74835f30 Remove leftover code that's no longer needed 2021-05-19 11:48:34 -07:00
abrmich 1127235715 Remove unnecessary heap allocation 2021-05-19 11:36:44 -07:00
abrmich d5122b2829 Add image builder processing bus 2021-05-19 11:11:53 -07:00
moudgils 1ebb7c405f Merge branch 'main' into DxcExperiment 2021-05-18 20:24:52 -07:00
moudgils 83f29f4a34 Updated to one Dxc package 2021-05-17 20:39:39 -07:00
amzn-sj 05fec17ebd Remove hardcoded paths to Atom gems in registration.py and clean up gem.json files 2021-05-14 10:35:50 -07:00
moudgils 058688c182 Merge pull request #723 from aws-lumberyard-dev/Atom/moudgils/FixTextureArray
iOS Fixes to get RHI samples running again
2021-05-14 09:23:10 -07:00
bosnichd a9d986c10f Red code legacy MemoryManager, StreamEngine, ResourceManager, ImageHandler, AsyncPakManager, and more (#758)
Remove from CryCommon and CrySystem:
- MemoryManager and all related classes/files
- StreamEngine, ResourceManager, ImageHandler, and AsyncPakManager
- Various other related interfaces/files/classes etc. that are all now unused
2021-05-14 08:53:56 -06:00
moudgils da8f5849aa Merge branch 'main' into Atom/moudgils/FixTextureArray 2021-05-13 14:03:54 -07:00
karlberg ed8d79d1f5 Potential fix for build failures in main 2021-05-10 13:11:36 -07:00
moudgils 521a486ee4 Fixes to ios build 2021-05-10 09:13:15 -07:00
karlberg 05a39a4412 Fix several build failures 2021-05-07 09:54:49 -07:00
karlberg c21b4a577d Merge remote-tracking branch 'origin' into MultiplayerComponents 2021-05-06 19:40:09 -07:00
AMZN-mnaumov 5703d1e1f0 Merge pull request #625 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15291
[ATOM-15291] Better AP error message when missing image present
2021-05-06 17:59:57 -07:00
mnaumov 550d935b82 Better AP error message when missing image present 2021-05-06 15:48:39 -07:00
karlberg 751d13dd7b Merge remote-tracking branch 'origin' into MultiplayerComponents 2021-05-05 20:07:49 -07:00
bosnichd d7b796fd73 Remove I3DEngine CryCommon Interface (#567)
Delete:

- I3DEngine
- Missions
- Time of day
- GameEffectsSystem Gem
- ImageProcessing Gem
- SVOGI Gem
- Various other things that don't do anything now that the legacy renderer has been removed.
2021-05-05 09:07:28 -06:00
karlberg d0a561fa01 merging latest origin 2021-05-03 21:27:27 -07:00
karlberg 822368ef01 Changes to get visibility system working again in-game 2021-05-03 16:26:11 -07:00
Mike Balfour 0f9f4be382 [LYN-3357] Cherry-pick fix to UI textures to make them process as the correct type. 2021-05-03 14:38:08 -05:00
mnaumov ce367b4383 Fixing missing asset crashing Editor 2021-04-29 21:57:34 -07:00
lumberyard-employee-dm 3dec5d3b71 LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
2021-04-28 21:38:43 -05:00
Peng 7c42ff959e Merge branch 'main' into ATOM/tonypeng/ATOM-14947 2021-04-28 11:50:51 -07:00
Peng 0e092d6cb7 ATOM-14947 Took out jira links, just use the ticket number 2021-04-28 10:45:18 -07:00
guthadam eeafb5eaa3 ATOM-15370 Fix thumbnail scaling and sizing issues
TLDR
Thumbnails size will be removed from the system.
Each thumbnail class is responsible for determining its stored size.
Images and other thumbnail types can be scaled up or down within reason without blurring.

The thumbnail system uses the concept of context and size organize thumbnails by size based on their intended use.  However, most of the thumbnail classes do not respect or use the specified size, which is 16 by 16 pixels and really only usable for small icons.

The thumbnails are currently being used in the asset browser tree control, the larger asset browser previews, the material component property asset controls, the material component inspector for the large preview, and other places.  Each of these places use completely different sizes, some of which are large and change dynamically. Whenever the thumbnails are painted they are scaled to the desired size.

Material and mesh thumbnails were always being captured at 512x512 regardless of what the rest of the thumbnail system said.  Source, product, and folder thumbnails would be stored at the original asset size.  The loading movie thumbnail was always drawn at 16 by 16 and scale up so it was always blurry.  Image thumbnails were always scaled down to 16 by 16 and scale up for larger previews.

Rather than worrying about the size of each context, each thumbnail class will store the image at whenever it deems to be a large enough size that can be scaled down when used.

This may eliminate the need for multiple thumbnail contexts which are not being used anyway.

https://jira.agscollab.com/browse/ATOM-15370
2021-04-27 16:43:06 -05:00
Peng 41a2be2a71 Merge branch 'main' into ATOM/tonypeng/ATOM-14947 2021-04-26 09:22:49 -07:00
Guthrie Adams fb26308a26 Merge pull request #291 from aws-lumberyard-dev/Atom/guthadam/ATOM-15326
ATOM-15326 support for image thumbnails in asset browser and thumbnail widget
2021-04-23 17:39:27 -05:00
Peng 058bd9330b Merge branch 'main' into ATOM/tonypeng/ATOM-14947 2021-04-23 14:51:10 -07:00