diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-04-27 04:17:04 +0200 |
|---|---|---|
| committer | j-p <jp_bruyere@hotmail.com> | 2019-05-02 03:07:11 +0200 |
| commit | 04160ef015304a7f28308ea43aa1a959b84a78fc (patch) | |
| tree | b489f723be3b0691c5c93fbad568c340f2a467eb | |
| parent | 997ebab9c71d81478581c672c8ba7dc0ed05e2fc (diff) | |
glb support
| -rw-r--r-- | samples/deferred/main.cs | 3 | ||||
| -rw-r--r-- | vke/src/glTFLoader.cs | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs index 985a4d0..def9ee0 100644 --- a/samples/deferred/main.cs +++ b/samples/deferred/main.cs @@ -265,6 +265,7 @@ namespace deferred { string[] modelPathes = { "../data/models/DamagedHelmet/glTF/DamagedHelmet.gltf", + "../data/models/Hubble.glb", "/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Avocado/glTF/Avocado.gltf", "/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/BarramundiFish/glTF/BarramundiFish.gltf", "/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/BoomBoxWithAxes/glTF/BoomBoxWithAxes.gltf", @@ -283,7 +284,7 @@ namespace deferred { "/home/jp/gltf/camaro/scene.gltf" }; - model = new PbrModel (presentQueue, modelPathes[0], + model = new PbrModel (presentQueue, modelPathes[1], descLayoutTextures, AttachmentType.Color, AttachmentType.PhysicalProps, diff --git a/vke/src/glTFLoader.cs b/vke/src/glTFLoader.cs index 6e6359f..cf18110 100644 --- a/vke/src/glTFLoader.cs +++ b/vke/src/glTFLoader.cs @@ -55,8 +55,10 @@ namespace CVKL { public GCHandle[] bufferHandles; List<Mesh> meshes; + string path; public glTFLoader (string path, Queue _transferQ, CommandPool _cmdPool) { + this.path = path; transferQ = _transferQ; cmdPool = _cmdPool; baseDirectory = System.IO.Path.GetDirectoryName (path); @@ -78,7 +80,9 @@ namespace CVKL { if (loadedBuffers[bufferIdx] == null) { //load full buffer string uri = gltf.Buffers[bufferIdx].Uri; - if (uri.StartsWith ("data", StringComparison.Ordinal)) + if (string.IsNullOrEmpty(uri))//glb + loadedBuffers[bufferIdx] = gltf.LoadBinaryBuffer (bufferIdx, path); + else if (uri.StartsWith ("data", StringComparison.Ordinal)) loadedBuffers[bufferIdx] = loadDataUri (gltf.Buffers[bufferIdx]);//TODO:check this func=>System.Buffers.Text.Base64.EncodeToUtf8InPlace else loadedBuffers[bufferIdx] = File.ReadAllBytes (Path.Combine (baseDirectory, gltf.Buffers[bufferIdx].Uri)); |