توفر هذه الوثيقة معلومات شاملة حول alf.io، وهو نظام حجز التذاكر مفتوح المصدر، وMitsuba 3، وهو نظام عرض موجه نحو البحث. فهو يعرض تفاصيل المتطلبات الأساسية وتعليمات التثبيت وأمثلة الاستخدام وإرشادات المساهمة لكلا المشروعين، بالإضافة إلى معلومات حول ميزات كل منهما وحالة التطوير. تشمل الجوانب الرئيسية التي يتم تناولها عمليات البناء وتكامل Docker وإدارة التبعية.
alf.io
نظام حجز التذاكر مفتوح المصدر.
Alf.io ([ˈalfjo]) هو نظام مجاني ومفتوح المصدر لإدارة حضور الأحداث، تم تطويره لمنظمي الأحداث الذين يهتمون بالخصوصية والأمان وسياسة التسعير العادل لعملائهم.
المتطلبات الأساسية
ينبغي عليك تثبيت الإصدار 17 من Java (مثل Oracle's أو OpenJDK أو أي توزيعة أخرى) لإنشاء alf.io وتشغيله. يرجى ملاحظة أن عملية البناء مطلوبة JDK.
Postgresql الإصدار 10 أو الأحدث.
بالإضافة إلى ذلك، يجب ألا يكون مستخدم قاعدة البيانات الذي يقوم بإنشاء الجداول واستخدامها "مستخدمًا متميزًا"، وإلا فلن يتم تطبيق عمليات فحص سياسة أمان الصف.
ملحوظة
مع بدء العمل على Alf.io v2، قد يحتوي هذا الفرع على تعليمات برمجية غير مستقرة وغير مختبرة.
إذا كنت ترغب في إنشاء ونشر alf.io بنفسك، فيرجى البدء من الإصدار الذي تم إصداره.
لمحات عن الربيع
هناك ملفات تعريف الربيع التالية
تشغيل في وضع التطوير
بناء جرادل
يتضمن هذا الإصدار نسخة من برنامج Gradle. ليس من الضروري تثبيت Gradle على نظامك حتى تتمكن من الإنشاء
المشروع. ما عليك سوى تنفيذ برنامج التضمين مع المهمة المناسبة، على سبيل المثال
تشغيل مع ملفات تعريف متعددة
يجب عليك تحديد خاصية المشروع في سطر الأوامر، مثل
تحتوي مهمة "bootRun" المحلية على المتطلبات الأساسية التالية:
بمجرد البدء، سيقوم alf.io بإنشاء جميع الجداول المطلوبة في قاعدة البيانات، وسيكون متاحًا على http://localhost:8080/admin. يمكنك تسجيل الدخول باستخدام اسم المستخدم الافتراضي admin وكلمة المرور التي تمت طباعتها على وحدة التحكم.
يمكنك الحصول على قائمة بجميع مهام Gradle المدعومة عن طريق التشغيل
يمكنك تكوين خصائص النظام الإضافية (إذا كنت في حاجة إليها) عن طريق إنشاء الملف التالي ووضع خاصية واحدة فيه في كل سطر:
يرجى العلم أنه نظرًا لأن هذا الملف قد يحتوي على معلومات حساسة (مثل مفتاح API الخاص لخرائط Google)، فسيتم تجاهله تلقائيًا بواسطة git.
لتصحيح الأخطاء
أضف سطرًا جديدًا باستخدام: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 في custom.jvmargs
المساهمة في alf.io
يعمل استيراد مشروع Gradle إلى Intellij وEclipse.
ملحوظات:
نظرًا لأن TestContainers تتوقع وجود مقبس عامل إرساء لإدارة الحاويات، فستحتاج إلى القيام بما يلي (راجع الإصدار الأصلي للحصول على التفاصيل):
تحديد البيئة 2. عامل:
وتشغيل في وحدة تحكم أخرى:
تجدر الإشارة إلى:
تحقق من التبعيات للتحديث
./gradlew DepenencyUpdates
تشغيل حاويات Docker
صور الحاوية متاحة على https://hub.docker.com/r/alfio/alf.io/tags.
يمكن أيضًا تشغيل alf.io باستخدام Docker Compose (وضع التطوير):
إن تشغيل alf.io في الإنتاج باستخدام Docker compose غير مدعوم رسميًا.
ومع ذلك، إذا قررت القيام بذلك، فأنت بحاجة إلى إجراء بعض التغييرات:
اختبار تطبيق alf.io
قم بإنشاء نسخة جديدة من صورة عامل الإرساء alfio/alf.io
بناء التطبيق وDockerfile
وبدلاً من ذلك، يمكنك استخدام Docker (تجريبي):
يرجى ملاحظة أنه في الوقت الحالي يقوم الأمر أعلاه بالإنشاء دون تشغيل الاختبارات الآلية.
استخدامه على مسؤوليتك الخاصة.
إنشاء صورة عامل ميناء:
حول AppleWWDRCAG4.cer المضمن
تم استيراد الشهادة الموجودة على src/main/resources/alfio/certificates/AppleWWDRCAG4.cer لوظيفة https://github.com/ryantenney/passkit4j#usage.
ستنتهي صلاحيتها في 12-10-2030 (YYYY-MM-DD - اعتبارًا من https://www.apple.com/certificateauthority/).
المساهمين
المساهمين في الكود
هذا المشروع موجود بفضل جميع الأشخاص الذين ساهموا فيه.
المساهمون في الترجمة (POEditor)
شكرًا جزيلًا أيضًا لمترجمينا، الذين يساعدوننا في POEditor:
(نعرض الاسم/الملف الشخصي الكامل فقط إذا تلقينا موافقة صريحة للقيام بذلك)
الترجمات المكتملة ولكن لم يتم دمجها بعد (WIP)
الرعاة
هذا المشروع برعاية :
المساهمين الماليين
كن مساهمًا ماليًا وساعدنا في الحفاظ على مجتمعنا. [يساهم]
فرادى
المنظمات
ادعم هذا المشروع مع مؤسستك. سيظهر شعارك هنا مع رابط لموقعك على الويب. [يساهم]
ميتسوبا ريندر 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}