HairAsset.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <Assets/HairAsset.h>
  9. namespace AZ
  10. {
  11. namespace Render
  12. {
  13. namespace Hair
  14. {
  15. HairAssetHandler::HairAssetHandler()
  16. : AzFramework::GenericAssetHandler<HairAsset>(HairAsset::DisplayName, HairAsset::Group, HairAsset::Extension)
  17. {
  18. }
  19. Data::AssetHandler::LoadResult HairAssetHandler::LoadAssetData(
  20. const Data::Asset<Data::AssetData>& asset, AZStd::shared_ptr<Data::AssetDataStream> stream,
  21. [[maybe_unused]]const Data::AssetFilterCB& assetLoadFilterCB)
  22. {
  23. HairAsset* assetData = asset.GetAs<HairAsset>();
  24. assetData->m_tressFXAsset.reset(new AMD::TressFXAsset());
  25. if(assetData->m_tressFXAsset->LoadCombinedHairData(stream.get()))
  26. {
  27. return Data::AssetHandler::LoadResult::LoadComplete;
  28. }
  29. else
  30. {
  31. assetData->m_tressFXAsset.release();
  32. }
  33. return Data::AssetHandler::LoadResult::Error;
  34. }
  35. }
  36. } // namespace Render
  37. } // namespace AZ