يوفر هذا المستند دليلاً شاملاً لاستخدام نموذج التعليمات البرمجية لـ Twitter API v2 وعارض Mitsuba 3. ويتضمن تعليمات الإعداد لمختلف لغات البرمجة (Java، وNode.js، وPython، وR، وRuby)، وتفاصيل حول متغيرات البيئة، ونصائح حول استكشاف الأخطاء وإصلاحها. بالنسبة إلى Mitsuba 3، فهو يقدم إرشادات التثبيت وأمثلة الاستخدام ومعلومات حول ميزاته الرئيسية والمساهمين.
نموذج كود Twitter API v2
نموذج التعليمات البرمجية لنقاط نهاية Twitter API v2.
تحتوي ميزات واجهة برمجة التطبيقات (API) الفردية على مجلدات حيث يمكنك العثور على أمثلة للاستخدام في العديد من لغات البرمجة (Java، وNode.js، وPython، وR، وRuby).
المتطلبات الأساسية
باستخدام عينات التعليمات البرمجية
لكي تتمكن من تشغيل العينات الموجودة في هذا المستودع، ستحتاج إلى إعداد بعض متغيرات البيئة. يمكنك العثور على بيانات الاعتماد الخاصة بك والرمز المميز لحاملها في التطبيق داخل مشروعك في لوحة معلومات بوابة المطور.
بالنسبة لعينات OAuth 1.0a، ستحتاج إلى تصدير مفتاح المستهلك والسر في جهازك الطرفي. تأكد من استبدال
بالنسبة للعينات التي تستخدم مصادقة الرمز المميز لحاملها، ستحتاج إلى تصدير الرمز المميز لحاملها. تأكد من استبدال
المتطلبات الخاصة باللغة
إعداد بيئة جافا
إذا كنت تستخدم Homebrew، فيمكنك تثبيت وقت تشغيل Java باستخدام:
ستحتاج أيضًا إلى تنزيل ملفات JAR ذات الصلة والمشار إليها في العينات الفردية من أجل إنشاء التعليمات البرمجية وتشغيلها. إذا كنت تستخدم IDE، فقد يتمكن من القيام بذلك تلقائيًا نيابةً عنك.
تم إعداد بيئة جافا سكريبت (Node.js).
ستحتاج إلى تثبيت Node.js لتشغيل هذا الرمز. تستخدم جميع أمثلة Node.js إبرة كعميل HTTP، والذي يحتاج إلى تثبيت npm. بالنسبة إلى OAuth مع طلبات سياق المستخدم، ستحتاج إلى تثبيت حزم got وoauth-1.0a.
إعداد بيئة بايثون
ستحتاج إلى تثبيت Python 3 لتشغيل هذا الرمز. تستخدم عينات Python طلبات==2.24.0 والتي تستخدم request-oauthlib==1.3.0.
(اختياريًا) من الشائع والموصى به عدم تثبيت الحزمة المطلوبة عالميًا، ولكن محليًا ضمن المجلد الفرعي للمشروع باستخدام venv:
يمكنك تثبيت هذه الحزم على النحو التالي:
تم إعداد بيئة روبي
ستحتاج إلى تثبيت Ruby (موصى به: >= 2.0.0) لتشغيل التعليمات البرمجية. تستخدم أمثلة روبي typhoeus كعميل HTTP، والذي يحتاج إلى تثبيت الأحجار الكريمة. بالنسبة إلى OAuth مع طلبات سياق المستخدم، ستحتاج أيضًا إلى تثبيت جوهرة oauth (انظر أدناه).
موارد إضافية
نحن نحتفظ بمجموعة Postman التي يمكنك استخدامها لممارسة نقاط نهاية API الفردية.
يدعم
بالنسبة للأسئلة العامة المتعلقة بواجهة برمجة التطبيقات والميزات، يرجى استخدام قسم الإصدار الثاني في منتديات مجتمع المطورين لدينا.
إذا كان هناك خطأ أو مشكلة في نموذج التعليمات البرمجية نفسه، فيرجى إنشاء مشكلة جديدة هنا على GitHub.
المساهمة
نحن نرحب بطلبات السحب التي تضيف إضافات ذات معنى إلى نماذج التعليمات البرمجية هذه، خاصة للغات التي لم يتم تمثيلها هنا بعد.
نحن نشعر بأهمية المجتمع المرحب ونطلب منك اتباع مدونة قواعد السلوك مفتوحة المصدر الخاصة بتويتر في جميع التفاعلات مع المجتمع.
رخصة
حقوق الطبع والنشر لعام 2021 محفوظة لشركة Twitter، Inc.
مرخص بموجب ترخيص Apache، الإصدار 2.0: https://www.apache.org/licenses/LICENSE-2.0
مثال:
ميتسوبا ريندر 3
التوثيق | أشرطة الفيديو التعليمية | لينكس | ماك | ويندوز | بايبي |
---|---|---|---|---|---|
️
تحذير
️
يوجد حاليًا قدر كبير من العمل غير الموثق وغير المستقر الجاري
الفرع master
. نحن نوصي بشدة باستخدام موقعنا
أحدث إصدار
حتى إشعار آخر.
إذا كنت ترغب بالفعل في تجربة التغييرات القادمة، فيرجى إلقاء نظرة عليها
دليل النقل هذا.
وينبغي أن يغطي معظم الميزات الجديدة والتغييرات العاجلة القادمة.
مقدمة
Mitsuba 3 هو نظام عرض موجه نحو البحث للضوء الأمامي والعكسي
تم تطوير محاكاة النقل في EPFL في سويسرا.
وهو يتألف من مكتبة أساسية ومجموعة من المكونات الإضافية التي تنفذ الوظائف
تتراوح من المواد ومصادر الضوء إلى خوارزميات العرض الكاملة.
Mitsuba 3 قابل لإعادة الاستهداف : وهذا يعني أن التطبيقات الأساسية و
يمكن أن تتحول هياكل البيانات لإنجاز مهام مختلفة مختلفة. ل
على سبيل المثال، يمكن لنفس الكود محاكاة نقل RGB العددي (التقليدي لشعاع واحد في كل مرة)
أو النقل الطيفي التفاضلي على GPU. كل هذا مبني على
Dr.Jit، مترجم متخصص في الوقت المناسب (JIT) تم تطويره خصيصًا لهذا المشروع.
الميزات الرئيسية
عبر الأنظمة الأساسية : تم اختبار Mitsuba 3 على Linux ( x86_64
)، وmacOS
( aarch64
و x8664
) و Windows ( x8664
).
الأداء العالي : يقوم برنامج التحويل البرمجي Dr.Jit الأساسي بدمج كود العرض
إلى حبات تحقق أداءً متطورًا باستخدام
واجهة LLVM الخلفية تستهدف وحدة المعالجة المركزية وواجهة CUDA/OptiX الخلفية
استهداف وحدات معالجة الرسومات NVIDIA مع تسريع أجهزة تتبع الأشعة.
Python أولاً : تم دمج Mitsuba 3 بعمق مع Python. مواد،
يمكن تطوير القوام، وحتى خوارزميات العرض الكاملة في بايثون،
الذي يجمعه نظام JIT (ويفرقه اختياريًا) بسرعة.
وهذا يتيح إجراء التجارب اللازمة للبحث في رسومات الحاسوب و
التخصصات الأخرى.
التمايز : ميتسوبا 3 هو عارض قابل للتمييز، مما يعني أنه
يمكن حساب مشتقات المحاكاة بأكملها فيما يتعلق بالمدخلات
المعلمات مثل وضعية الكاميرا، والهندسة، وBSDF، والأنسجة، والأحجام. هو - هي
ينفذ خوارزميات العرض التفاضلية الحديثة التي تم تطويرها في EPFL.
الطيفي والاستقطاب : يمكن استخدام ميتسوبا 3 كجهاز أحادي اللون
العارض أو العارض المستند إلى RGB أو العارض الطيفي. يمكن لكل متغير
حساب اختياريا لآثار الاستقطاب إذا رغبت في ذلك.
أشرطة الفيديو التعليمية والوثائق
لقد سجلنا العديد من مقاطع الفيديو على YouTube التي تقدم مقدمة لطيفة
ميتسوبا 3 ودكتور جيت. علاوة على ذلك، يمكنك العثور على دفاتر ملاحظات Juypter كاملة
تغطي مجموعة متنوعة من التطبيقات والأدلة الإرشادية والوثائق المرجعية
على readthedocs.
تثبيت
نحن نقدم عجلات ثنائية مجمعة مسبقًا عبر PyPI. يعد تثبيت Mitsuba بهذه الطريقة أمرًا بسيطًا مثل التشغيل
نقطة تثبيت ميتسوبا
على سطر الأوامر. تتضمن حزمة Python ثلاثة عشر متغيرًا افتراضيًا:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
يقوم الأولان بإجراء محاكاة كلاسيكية لشعاع واحد في كل مرة باستخدام إما RGB
أو تمثيل الألوان الطيفية، بينما يمكن استخدام الأخيرين للعكس
العرض على وحدة المعالجة المركزية أو وحدة معالجة الرسومات. للوصول إلى متغيرات إضافية، سوف تحتاج إلى
تجميع نسخة مخصصة من Dr.Jit باستخدام CMake. يرجى الاطلاع على
الوثائق
للحصول على تفاصيل حول هذا.
متطلبات
Python >= 3.8
(اختياري) للحساب على وحدة معالجة الرسومات: Nvidia driver >= 495.89
(اختياري) للحسابات الموجهة/المتوازية على وحدة المعالجة المركزية: LLVM >= 11.1
الاستخدام
فيما يلي مثال بسيط لـ "Hello World" يوضح مدى سهولة تقديم ملف
المشهد باستخدام ميتسوبا 3 من بايثون:
# استيراد المكتبة باستخدام الاسم المستعار "mi"import mitsuba as mi# تعيين متغير renderermi.setvariant('scalarrgb')# تحميل مشهد = mi.loaddict(mi.cornellbox())# Render the sceneimg = mi. render(scene)# اكتب الصورة المقدمة إلى ملف EXRmi.Bitmap(img).write('cbox.exr')
يمكن العثور على البرامج التعليمية ودفاتر الملاحظات النموذجية التي تغطي مجموعة متنوعة من التطبيقات
في الوثائق.
عن
تم إنشاء هذا المشروع بواسطة وينزل جاكوب.
تمت المساهمة في ميزات و/أو تحسينات مهمة على الكود بواسطة
سيباستيان سبيرر,
نيكولا روسيل،
ميرلين نمير ديفيد,
ديليو فيتشيني،
تيزيان زيلتنر،
بابتيست نيكوليه،
ميغيل كريسبو,
فنسنت ليروي، و
زيي تشانغ.
عند استخدام ميتسوبا 3 في المشاريع الأكاديمية، يرجى ذكر ما يلي:
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob وSébastien Speierer وNicola Roussel وMerlin Nimier-David وDelio Vicini وTizian Zeltner وBaptiste Nicolet وMiguel Crespo وVincent Leroy وZiyi Zhang}، ملاحظة = {https://mitsuba-renderer.org},الإصدار = {3.1.1}، السنة = 2022}