void PrintResourceInfo()

in GLTFSDK.Samples/Deserialize/Source/main.cpp [128:186]


    void PrintResourceInfo(const Document& document, const GLTFResourceReader& resourceReader)
    {
        // Use the resource reader to get each mesh primitive's position data
        for (const auto& mesh : document.meshes.Elements())
        {
            std::cout << "Mesh: " << mesh.id << "\n";

            for (const auto& meshPrimitive : mesh.primitives)
            {
                std::string accessorId;

                if (meshPrimitive.TryGetAttributeAccessorId(ACCESSOR_POSITION, accessorId))
                {
                    const Accessor& accessor = document.accessors.Get(accessorId);

                    const auto data = resourceReader.ReadBinaryData<float>(document, accessor);
                    const auto dataByteLength = data.size() * sizeof(float);

                    std::cout << "MeshPrimitive: " << dataByteLength << " bytes of position data\n";
                }
            }

            std::cout << "\n";
        }

        // Use the resource reader to get each image's data
        for (const auto& image : document.images.Elements())
        {
            std::string filename;

            if (image.uri.empty())
            {
                assert(!image.bufferViewId.empty());

                auto& bufferView = document.bufferViews.Get(image.bufferViewId);
                auto& buffer = document.buffers.Get(bufferView.bufferId);

                filename += buffer.uri; //NOTE: buffer uri is empty if image is stored in GLB binary chunk
            }
            else if (IsUriBase64(image.uri))
            {
                filename = "Data URI";
            }
            else
            {
                filename = image.uri;
            }

            auto data = resourceReader.ReadBinaryData(document, image);

            std::cout << "Image: " << image.id << "\n";
            std::cout << "Image: " << data.size() << " bytes of image data\n";

            if (!filename.empty())
            {
                std::cout << "Image filename: " << filename << "\n\n";
            }
        }
    }