Redner هو عارض يمكن تفكيكه يمكن أن يأخذ مشتقات تقديم المخرجات فيما يتعلق بمعلمات المشهد التعسفي ، أي أنه يمكنك خلفية من الصورة إلى المشهد ثلاثي الأبعاد الخاص بك. واحدة من الاستخدامات الرئيسية لإعادة Redner هي التقديم العكسي (وبالتالي اسم Redner) من خلال نزول التدرج. ما يميز Redner عن بعضها البعض: 1) يحسب التدرجات الصحيح للعرض بشكل عشوائي دون أي تقريب من خلال النظر بشكل صحيح في الانقطاعات ، و 2) لديها وضع جسدي-مما يعني أنه يمكنه محاكاة الفوتونات وإنتاج ظواهر إضاءة واقعية ، مثل الظل والإضاءة العالمية ، وهي تتواجد مشتقات هذه الميزات بشكل صحيح. يمكنك أيضًا استخدام Redner في وضع تقديم سريع مؤجل للتظليل المحلي: في هذا الوضع ، لا يزال لديه تقدير التدرج الصحيح ونماذج مواد أكثر تفصيلاً مقارنةً بمعظم العارضين المتميزين هناك.
لمزيد من التفاصيل حول العارض ، ما يمكن أن يفعله ، والتقنيات التي تستخدمها لحساب المشتقات ، يرجى إلقاء نظرة على الورقة: مونت كارلو راي تتبع من خلال أخذ العينات الحافة ، وتزو-مايو لي ، وميكا أيتالا ، وفريدو دوراند ، جاككو ليهتينين. منذ التقديم ، قمنا بتحسين العارض قليلاً. على وجه الخصوص ، قمنا بتنفيذ الواجهة الخلفية CUDA وتسريع المشتقات المستمرة بشكل كبير من خلال استبدال التمايز التلقائي بمشتقات مشتقة يدويًا. انظر أطروحة Tzu-Mao Li لمزيد من التفاصيل. انظر أيضًا قسم "الأخبار" أدناه لـ Changelog.
مع Pytorch (أي إصدار> = 1.0) أو TensorFlow (الإصدار> = 2.0) مثبت في بيئة بيثون الحالية. لنسخة GPU المتسارعة (Linux و Windows ، إصدار CUDA> = 10.0):
pip install redner-gpu
خلاف ذلك (Windows و Linux و OS X):
pip install redner
يدعم إصدار Windows Pytorch فقط وليس TensorFlow في الوقت الحالي.
يمكنك أيضا البناء من المصدر. انظر الويكي للحصول على تعليمات بناء.
نقطة انطلاق جيدة لمعرفة كيفية استخدام Redner هي النظر إلى الويكي. documetation API هنا. يمكنك أيضًا إلقاء نظرة على دلائل الاختبارات (Pytorch و TensorFlow) للحصول على بعض الأفكار.
06/12/2020 - دعم بيثون 3.8.
04/01/2020 - أضاف نموذج تشويه الكاميرا.
03/17/2020 - حزمة PIP لنظام التشغيل Windows! حاليا فقط مع دعم Pytorch. دعم TensorFlow معلق مع بعض مشكلات التجميع.
02/27/2020 - إصلاح خطأ في مشتقات BRDF. هذا يؤثر على رسم الخرائط العادية أكثر. شكرا ماركوس وورشيل مرة أخرى للإبلاغ عن هذا.
02/02/2020 - تم إصلاح خطأ خطير لتقديم G -Buffer (#93). شكرا ماركوس وورشيل للإبلاغ عن هذا.
02/01/2020 - يتوفر دعم Windows الأولي ل GPU بفضل Markus Worchel مرة أخرى.
01/08/2020 - يحسن بشكل كبير استخدام ذاكرة MIPMapping. يمكنك الآن استخدام القوام الكبيرة (على سبيل المثال 4096x4096) بأمان نسبيًا.
12/15/2019 - تم إصلاح خلل متعلق بـ GC على رمز عرض Pytorch في 0.1.30. الرجاء التحديث.
12/12/2019 - يتوفر دعم Windows الأولي (وحدة المعالجة المركزية فقط) بفضل مساهمة Markus Worchel.
12/09/2019 - أضاف العديد من البرامج التعليمية في ويكي باستخدام Google Colab. وأضاف وثائق تم إنشاؤها بواسطة sphinx.
12/09/2019 - إصلاح خلل في واجه الموجة OBJ Loader. شكرا ديجان أزينوفيتش لتقريره!
12/01/2019 - أعد أنظمة الإنشاء وإعداد تثبيت عجلة بيثون. Redner الآن على pypi (https://pypi.org/project/redner-gpu/ و https://pypi.org/project/redner/).
11/04/2019 - أضاف حقل "نسيج عام" في المواد التي يمكن أن يكون لها عدد تعسفي من القنوات. يمكن أن يكون هذا مفيدًا لتطبيق التعلم العميق حيث يتم إنشاء الملمس بواسطة شبكة ، ويتم تغذية الإخراج في شبكة أخرى لمزيد من المعالجة. انظر test_multichannels.py للاستخدامات. شكرا فرانسوا روتي على الاقتراح والمساعدة في التنفيذ.
11/04/2019 - تم إصلاح العديد من الأخطاء في اللوادر OBJ/Mitsuba التي تم تقديمها بواسطة uv_indices وتغيير normal_indices .
10/19/2019 - إضافة دعم لون قمة الرأس. انظر test_vertex_color.py.
10/08/2019 - تمت إضافة حساب UV التلقائي من خلال مكتبة Xatlas. راجع وظيفة compute_uvs في الشكل. بيبي و test_compute_uvs.py.
10/08/2019 - غيرت قليلاً واجهة فئة الشكل. يختلف ترتيب المنشئ ويتطلب الآن وسيطات "UV_Indices" و "Normal_Indices" للتعامل مع طبقات في رسم خرائط للأشعة فوق البنفسجية وتحميل OBJ. انظر pyredner/mapace.py والبرنامج التعليمي 2.
09/22/2019 - نحن الآن نتعامل مع التناقضات بين القواعد الطبيعية التظليل والهتافات الهندسية بأمان أكثر (بدلاً من مجرد إعادة الصفر في معظم الحالات). هذا يساعد في تقديم النماذج في النماذج البرية ، على سبيل المثال ، في Shapenet.
09/21/2019 - تم إصلاح خلل مخزن مؤقت خطير في رمز العرض المؤجل عندما لا تكون هناك قناة إخراج الإشعاع. إذا لم تنجح الأمور من أجلك ، فربما حاول مرة أخرى.
08/16/2019 - تم إضافة ملفات Docker لتثبيت أسهل. شكرا Seyoung Park للمساهمة مرة أخرى. كما أنني قمت بتحسين دليل تثبيت الويكي بشكل كبير.
08/13/2019 - إضافة دعم الخريطة العادية. انظر الاختبارات/test_teapot_normal_map.py.
08/10/2019 - تبسيط بشكل كبير رمز تراكم المشتقات (التخفيض المقطوع -> الذرة). أيضا GPU Backward Pass حصلت على 20 ~ 30 ٪ تسريع.
08/07/2019 - تم إصلاح خلل نسيج الخشونة.
07/27/2019 - دعم TensorFlow 1.14! حاليا دعم فقط التنفيذ المتحمس. سندعم تنفيذ الرسم البياني بعد أن يصبح TensorFlow 2.0 مستقرًا. راجع tests_tensorflow للحصول على أمثلة (أوصي بالبدء من Tests_TensorFlow/test_single_triangle.py). يجب أن تكتشف ملفات CMake تلقائيًا TensorFlow في Python وتثبيت الملفات المقابلة. البرامج التعليمية هي العمل قيد التقدم. شكر الكثير من شكر سيايونج بارك للمساهمة!
06/25/2019 - إضافة الكاميرات الإملائية (انظر أمثلة/two_d_mesh.py).
05/13/2019 - تم إصلاح عدد قليل من الأخطاء المتعلقة بمشتقات الكاميرا. إذا لم ينجح شيء من أجلك من قبل ، فربما حاول مرة أخرى.
04/28/2019 - إضافة دعم QMC (انظر الاختبارات/test_qmc.py والوثائق في pyredner.serialize_scene ()).
04/01/2019 - دعم الآن Multi -GPU (انظر Pyredner.set_device).
03/31/2019 - أعاد طريقة أخذ عينات الحافة الهرمية في الورقة.
02/02/2019 - يحتوي الويكي الآن على سلسلة من البرنامج التعليمي. الخطة هي توسيع الأمثلة.
يعتمد Redner على عدد قليل من المكتبات/الأنظمة ، والتي يتم تضمينها جميعًا في المستودع:
خطة التطوير الحالية هي تعزيز العارض. سيتم إضافة الميزات التالية في المستقبل القريب (غير مدرج في أي ترتيب معين):
@article{Li:2018:DMC,
title = {Differentiable Monte Carlo Ray Tracing through Edge Sampling},
author = {Li, Tzu-Mao and Aittala, Miika and Durand, Fr{'e}do and Lehtinen, Jaakko},
journal = {ACM Trans. Graph. (Proc. SIGGRAPH Asia)},
volume = {37},
number = {6},
pages = {222:1--222:11},
year = {2018}
}
إذا كان لديك أي أسئلة/تعليقات/تقارير الأخطاء ، فلا تتردد في فتح مشكلة GitHub أو البريد الإلكتروني للمؤلف Tzu-Mao Li ([email protected])