Commit Graph

14 Commits

Author SHA1 Message Date
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
Benjamin Jillich 0fa00a117c [ATOM-14477] Add clone function to model and/or model asset (#135)
* Added clone methods for the buffer, model lod and model assets.
* Cloning works via the creators.
* Mesh handle/instance now knows about the model asset it originated from as well as the cloned model asset that we need for instancing until instancing works without the dependencies to the asset ids.
* MeshComponentRequestBus returns the original asset id and the model asset. If you need access to the clone, go by the model.
* Cloth component mesh now gettings its model asset from the model as it needs to work on the clone.
* Moved the requires cloning function from the mesh loader in the mesh feature processor to the mesh component controller.
* As we need the model asset to be loaded before we can check if it requires cloning or not, we couldn't pass in a bool from the controller but had to use a callback.
* Using asset hint instead of asset id for the model lod asset creator error.
* Storing a map of source buffer asset ids and the actual cloned buffer assets rather than just their ids.
* Using the buffer assets from the new map directly and removed the search process in the mesh loop where the asset views are created.
* Fixed the vegetation mocks.
* Using the actor's mesh asset when emitting the on model ready event for the mesh component notification bus.
* Mesh components notifications connection policy changed to adapt to cloned model asset.
* Handling empty meshes in model lod asset creator.
* Removed the requires cloning callback from the mesh feature processor and made it a parameter to the acquire mesh function
* Fixing mocks and unit tests
2021-04-23 18:33:00 +02:00
greerdv 496891b4c0 feedback from PR 2021-04-21 10:55:05 +01:00
greerdv cc937e0809 feedback from PR 2021-04-20 14:44:31 +01:00
greerdv 03350134c5 more feedback from PR 2021-04-20 13:41:18 +01:00
greerdv f0ae8056c8 feedback from PR 2021-04-20 10:25:19 +01:00
greerdv 2bfb93e5e1 fixing non-uniform scale for mesh on activation 2021-04-15 12:34:35 +01:00
greerdv d8169e08fb merging from main 2021-04-15 08:18:11 +01:00
greerdv 2fb2813b48 updating atom mesh component to support non-uniform scale component 2021-04-14 14:05:59 +01:00
alexpete c5b955d281 Integrating github/staging through commit b0dd7ed 2021-04-09 12:03:26 -07:00
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 2021-04-09 11:27:37 -07:00
alexpete c2cbd430fe Integrating up through commit 90f050496 2021-04-07 14:03:29 -07:00
alexpete 75dc720198 Integrating latest 47acbe8 2021-03-25 13:57:57 -07:00
alexpete a10351f38d Initial commit 2021-03-08 14:30:57 -08:00