[Scene3D] Cache image load result so models can share it.
Let we cache the PixelData and Texture so various models can use it.
We cache the model resources, and let we use them same resources.
But if some seperated models using same images, we cannot cache about it.
There are relative usecase occured + Unity support this kind of cache system,
let we also cache images + textures locally.
---
First, we can cache url --> PixelData.
This caching might occured on multi threading system. So we have to lock the mutex
when we try to access this kind of pixeldata access.
Second, we can cache PixelData --> Texture.
This caching should be occured only for main thread.
---
We support Garbage Collect system to avoid full-iterating cached resources.
During GC, we should remove Texture first, and then PixelData.
(Since PixelData can be the key of Texture.)
Currenly, we will call GC only of ModelCache reference count become 0.
Change-Id: I5e89f214593503fa9e8b2290c3859f2674ff7048
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
14 files changed: