بنية

القوام هو مورد مشترك غير قابل للتغيير. يمكن تحميل القوام من تخزين الفقاعات وتطبيقه على النماذج مباشرة ، كما هو موضح في البرنامج التعليمي: تغيير البيئة والمواد. الأكثر شيوعا ، على الرغم من ذلك ، ستكون القوام جزءا من نموذج محول ، حيث يتم الرجوع إليها من خلال مواده.

أنواع الملمس

أنواع الملمس المختلفة لها حالات استخدام مختلفة:

تنسيقات النسيج المدعومة

يجب أن تكون جميع القوام المعطى ل ARR بتنسيق DDS. يفضل مع mipmaps وضغط الملمس.

تحميل القوام

عند تحميل نسيج ، يجب عليك تحديد نوعه المتوقع. في حالة عدم تطابق النوع، يفشل تحميل النسيج. سيؤدي تحميل نسيج بنفس عنوان URI مرتين إلى إرجاع نفس كائن النسيج ، لأنه مورد مشترك.

على غرار نماذج التحميل ، هناك نوعان مختلفان من معالجة أصل نسيج في تخزين نقطة المصدر:

  • يمكن معالجة النسيج بواسطة معلمات تخزين blob مباشرة ، في حالة ارتباط تخزين blob بالحساب. وظيفة التحميل ذات الصلة في هذه الحالة هي LoadTextureAsync مع المعلمة LoadTextureOptions.
  • يمكن معالجة أصل النسيج بواسطة SAS URI الخاص به. وظيفة التحميل ذات الصلة هي LoadTextureFromSasAsync مع المعلمة LoadTextureFromSasOptions. استخدم هذا البديل أيضا عند تحميل القوام المدمج.

يوضح نموذج التعليمة البرمجية التالي كيفية تحميل نسيج:

async void LoadMyTexture(RenderingSession session, string storageContainer, string blobName, string assetPath)
{
    try
    {
        LoadTextureOptions options = new LoadTextureOptions(storageContainer, blobName, assetPath, TextureType.Texture2D);
        Texture texture = await session.Connection.LoadTextureAsync(options);
    
        // use texture...
    }
    catch (RRException ex)
    {
    }
}
void LoadMyTexture(ApiHandle<RenderingSession> session, std::string storageContainer, std::string blobName, std::string assetPath)
{
    LoadTextureOptions params;
    params.TextureType = TextureType::Texture2D;
    params.Blob.StorageAccountName = std::move(storageContainer);
    params.Blob.BlobContainerName = std::move(blobName);
    params.Blob.AssetPath = std::move(assetPath);
    session->Connection()->LoadTextureAsync(params, [](Status status, ApiHandle<Texture> texture)
    {
        // use texture...
    });
}

لاحظ أنه في حالة استخدام متغير SAS الخاص به ، تختلف وظيفة / معلمة التحميل فقط.

اعتمادا على ما يفترض أن يستخدم الملمس من أجله ، قد تكون هناك قيود على نوع الملمس والمحتوى. على سبيل المثال ، يجب أن تكون خريطة الخشونة لمادة PBR ذات تدرج رمادي.

⁧⁩مستندات API⁧⁩.

الخطوات التالية