Make we use valid geometry if broken image was n-patch and reloaded It is possible that we use broken image not matched with given visual, and then Reload API call it, and successed. For this case, we need to change to use valid geometry again. Change-Id: I2df7fb8b6123361b515b8f9ac9c1fafc77f665b6 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Support glTF extention: KHR_mesh_quantization Change-Id: I23fd7f3f481590f5716452813666cb31161bc8ae
[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>
Make load failed for invalid bvh format Let we exist bvh parsing when it have some invalid informations. Change-Id: I82f090b6207911ef9c49cbbbba8123c6cdeb46ab Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Parse gltf mesh extra and extensions + Get BlendShape index by name Let we parse extra / extensions information from gltf2 mesh. It will be used when we apply blendshape informations by string. Since we are store the blendshape name, now we can get the index of blendshape by name per each ModelNode. Change-Id: I4e2030901b87c76b5fb205208c13184ae6ebd7b0 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Allow to load uint32_t as indices Dali's default indices use uint16_t. But if heavy 3D model who need more than 65536 indexes loaded, It will break index. This patch make Scene3D can allow to use uint32_t type indeces load and generete Geometry by it. Change-Id: I6b8096df3fcf855443e6b407342121b9374d9ff8 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Generate Camera from loaded model Add API to generete (or apply) the camera what 3D model has. Note that model cannot have ownership of camera since we have to add camera into SceneView or whatever we want. So GenerateCamera create new CameraActor everytime. Or ApplyCamera into already created CameraActor. TODO : Should we change all Scene3D::Loader used demo who use camera parameter? Change-Id: Ief1571d1e8b522c1785b8721c279713b20760a99 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Fix gltf animation's 0 frame behavior. Current dali animation's KeyFrame didn't determine when the time is out of frame. But gltf 2.0 spec say that we must clamp the time as input range. To match the spec, make the 0 frame's animation keyframe value. Change-Id: I2831d9f44c2e21ad12b40fa4b52c1d4e4b1d8e9a Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Support embedded texture data for glTF + alpha - Supports embedded gltf - Supports data: iri for image.uri - Supports data: iri for buffer.uri - Supports image.bufferView. - Additional Fix - Changes default value of Sampler.wrapS, wrapT to Refeat - Adds function to decode base64 to std::vector<uint_8> - Fixes base64 decoder to do not cut end part. Change-Id: I413d1f1b48a8a4234ea4c9faf3b3309536e5a53f Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Use EnvironmentMapLoadTask to load Equirectangular projection image. - Changes SkymapType to EnvironmentMapType - TODO: To make IBL image support Equirectangular projection Change-Id: I34dce88acdd1271dce54af18bc8080d8e452144a Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Change docs and utc images doesn't print warning log Change-Id: I622b0723f776cbaf2a454c3528470a46f6858663 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Fix Scene3d::Loader bugs - Make Renderer translucent when AlphaMode is Blend - Use discard for AlphaMode.Mask in shader - Fixed ConvertSampler bug. - Fixed crash when there isn't "scene" property in glTF - Fixed wrong loading of buffer when the bufferView uses stride. - Returns MeshDefinition::Blob::GetBufferSize() only mLength This is because every use case of this method is to set real buffer size without considering stride. - Fix texture order of Specular and Specular color. Change-Id: I244b366a9d4c36ad478ea8908725187ffd3277f6 Signed-off-by: seungho baek <sbsh.baek@samsung.com>