Three.js: إضافة دعم خريطة الظل لـ RectAreaLights (العصف الذهني والبحث والتطوير)

تم إنشاؤها على ٢٨ مايو ٢٠١٨  ·  37تعليقات  ·  مصدر: mrdoob/three.js

وصف المشكلة

سيكون من المفيد جدًا للواقعية أن تدعم الظلال على RectAreaLights.

لست متأكدًا من أفضل تقنية لاستخدامها هنا لأنني لم أجري بحثًا عنها بعد بخلاف بعض عمليات البحث السريعة على Google. لست متأكدًا بعد من أفضل الممارسات المقبولة في الصناعة؟

طريقتان بسيطتان يمكنني التفكير بهما:

  • يمكن للمرء أن يضع PointLightShadowMap في وسط منطقة ضوء مستقيمة ومن شأنه أن يعمل نوعًا ما.
  • أقل دقة ، يمكن للمرء وضع SpotLightShadowMap مع FOV مرتفع إلى حد ما (أعلى من 120 درجة ، ولكن أقل من 180 درجة لأن ذلك قد يتسبب في فشلها) في وسط منطقة الضوء المستقيمة وتوجيهها في اتجاه الضوء.

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

Enhancement

التعليق الأكثر فائدة

تقوم NVidia's Percentage Closer Soft Shadows بعمل لائق لتقريب الظلال الخفيفة للمنطقة. كنت العبث في مشهد THREE.js هنا: https://gkjohnson.github.io/threejs-sandbox/pcss/index.html. إنها تستخدم خريطة ظل ضوء اتجاهي ، في الوقت الحالي ، ولكن قد تكون بقعة ضوء واحدة أفضل.

ومع ذلك ، فهي ليست حلاً مثاليًا - فهي تحتوي على بعض القطع الأثرية عندما تقترب حواف الظل من بعضها البعض وتتطلب الكثير من العينات للحصول على ظل ناعم حقًا.

ال 37 كومينتر

/ pingabelnation إذا كان لديك أي أفكار لأنك خبير Area Light المقيم حاليًا. :)

لقد أعدت بناء كود المنطقة الضوئية وأنا على دراية به أيضًا. للحصول على دعم الظل ، راجع https://eheitzresearch.wordpress.com/705-2/.

للحصول على دعم الظل ، راجع https://eheitzresearch.wordpress.com/705-2/.

مثير للانتباه. أعتقد أن هذا قد يكون حسابيًا مكثفًا بعض الشيء بالنسبة لـ WebGL في هذا الوقت على الرغم من أنه يفترض أن تتبع الأشعة يتم تسريعها. من المحتمل قبل سنوات أن يأتي ذلك إلى WebGL لسوء الحظ.

لدي رأي أنه على الرغم من أن اقتراحي (ظلال نقطة أو بقعة ضوء) ليسا دقيقين ماديًا عندما يتعلق الأمر بالظلال الناعمة ، إلا أنهما أفضل من عدم وجود ظل وكلاهما سريع جدًا (بنفس سرعة ظلالنا الأخرى على الأقل) وسهل التنفيذ (لأن الكود موجود بالفعل.)

bhouston أوه ، نعم ... هناك أيضًا https://github.com/mrdoob/three.js/pull/13057.

إذا قرأت المناقشة بأكملها ، أعتقد أن الإجماع كان على إضافة دعم "ملف تعريف الارتباط" إلى SpotLight ، والذي من المفترض أن يسمح بظلال مستطيلة.

تقوم NVidia's Percentage Closer Soft Shadows بعمل لائق لتقريب الظلال الخفيفة للمنطقة. كنت العبث في مشهد THREE.js هنا: https://gkjohnson.github.io/threejs-sandbox/pcss/index.html. إنها تستخدم خريطة ظل ضوء اتجاهي ، في الوقت الحالي ، ولكن قد تكون بقعة ضوء واحدة أفضل.

ومع ذلك ، فهي ليست حلاً مثاليًا - فهي تحتوي على بعض القطع الأثرية عندما تقترب حواف الظل من بعضها البعض وتتطلب الكثير من العينات للحصول على ظل ناعم حقًا.

تبدو رائعة! لكن عرضك يعمل مع 6 إطارات في الثانية فقط على iMac ^ ^

أحصل على 60 إطارًا في الثانية على GTX 970m.

1 إطارًا في الثانية على هاتف Pixel 😢

يوجد بالفعل تنفيذ لأجهزة الكمبيوتر في three.js أنا وأوريشانت
كتب مرة أخرى.

مع أطيب التحيات،
بن هيوستن
http://Clara.io عبر الإنترنت النمذجة والعرض ثلاثي الأبعاد

في يوم السبت ، 21 يوليو 2018 ، الساعة 11:02 مساءً Garrett Johnson [email protected]
كتب:

النسبة المئوية للظلال الناعمة الأقرب من NVidia
http://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf
قم بعمل لائق لتقريب الظلال الخفيفة للمنطقة. كنت العب مع
اختراقها إلى مشهد THREE.js هنا:
https://gkjohnson.github.io/threejs-sandbox/pcss/index.html. إنها تستخدم ملف
خريطة ظل ضوء اتجاهي ، في الوقت الحالي ، ولكن قد يكون ذلك موضعيًا موضعيًا
أفضل.

إنها ليست حلاً مثاليًا ، على الرغم من أنها تحتوي على بعض القطع الأثرية
تقترب حواف الظل من بعضها البعض وتتطلب الكثير من العينات للحصول على ملف
الظل السلس حقا.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mrdoob/three.js/issues/14161#issuecomment-406837539 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAj6_RuFJPv7y5DbEfJnDu26DB3cD2bhks5uI-tJgaJpZM4UQODd
.

يوجد بالفعل تنفيذ لأجهزة الكمبيوتر في three.js كتبته أنا وأوريشانت منذ فترة.

https://threejs.org/examples/#webgl_shadowmap_pcss

يعمل هذا مع 60 إطارًا في الثانية على iMac الخاص بي ^ ^.

يوجد بالفعل تنفيذ لأجهزة الكمبيوتر في three.js كتبته أنا وأوريشانت منذ فترة.

لم أر ذلك! تبدو جيدة. لم أكن أعلم أنه يمكنك إنشاء قيم تشبه قرص poisson بهذه الطريقة - يبدو أنه يحتوي على توزيع أفضل ويعطي نتائج أفضل من الطريقة التي كنت أستخدمها. قد أستعير ذلك إذا كنت لا تمانع!

1 إطارًا في الثانية على هاتف Pixel 😢

ها! لم يكن يعمل على هاتفي أيضًا. لم أقم بتحسينه على الإطلاق وهناك الكثير من العمل الجاري في حلقات يمكن نقلها.

ومع ذلك ، فإن تنفيذ bhouston سريع جدًا. ربما هناك نوع من هذا يمكن استخدامه لظلال الضوء في المنطقة؟ سيكون من الجيد أن يكون لديك أي نوع من دعم الظل لأضواء المنطقة بحيث يمكن توصيل هذا النوع من التنفيذ بسهولة أكبر.

تقوم NVidia's Percentage Closer Soft Shadows بعمل لائق لتقريب الظلال الخفيفة للمنطقة. كنت العبث في مشهد THREE.js هنا: https://gkjohnson.github.io/threejs-sandbox/pcss/index.html. إنها تستخدم خريطة ظل ضوء اتجاهي ، في الوقت الحالي ، ولكن قد تكون بقعة ضوء واحدة أفضل.

ومع ذلك ، فهي ليست حلاً مثاليًا - فهي تحتوي على بعض القطع الأثرية عندما تقترب حواف الظل من بعضها البعض وتتطلب الكثير من العينات للحصول على ظل ناعم حقًا.

لطيف - جيد! إنها ليست مثالية ولكنها تبدو أفضل من عدم وجود ظل ... أحصل على 30 إطارًا في الثانية على هاتف Asus ROG 2.
و 45 إطارًا في الثانية على الكمبيوتر المحمول المزود برسوميات مدمجة.

فيما يلي مثال لظلال raytraced في three.js يتم عرض مكون الظل فقط في مقاطع الفيديو هذه.

60 + إطارًا في الثانية مع عينة ظل واحدة لكل بكسل ... مع بعض التصفية الذكية ، قد تبدو النتائج جيدة جدًا.

https://youtu.be/O21mKUtMtSg
https://youtu.be/2Tn93hf9kNw

يمكن استخدام هذا للمساعدة في الظلال الخفيفة لمنطقة المستقيم.

عرض ويب مباشر قيد الإعداد.

متعلق ب

13908 تحسين الظلال

14048 ظلال ناعمة عبر عينات مصدر الضوء

14051 اعتماد إضاءة عالمية تدريجية ذات صور واقعية في Three.JS

لطيف جدا!

مسألة ذات صلة: لا أعرف كيفية تنفيذ نوع من الظلال باستخدام كود IBL الحالي.

لنفترض أنني أريد إضافة DirectLight في مثال السيارة ولكن تجاهل مصدر الضوء الفعلي واستخدم فقط خريطة الظل للتأثير على كود IBL.

لقد كنت ألعب بالعديد من تأثيرات تتبع الأشعة.

  • الظلال - من مصادر الضوء المباشر ، بما في ذلك الأضواء المستقيمة
  • محيط محيط
  • الإضاءة العالمية

من بين الثلاثة ، أعتقد أن GI لكل بكسل والذي سيعمل مع IBL هو الأصعب في تحقيق معدلات الإطارات الزمنية الحقيقية.

ومع ذلك ، GI لكل رأس وقد يكون ممكنًا بمعدلات إطارات جيدة. تتم كتابة كود تتبع الشعاع بفكرة أن الرؤوس ومظلات الشظايا ستكون قادرة على استخدامها.

mrdoob ، WestLangley ،
ما هي مساحة الزي الرسمي "PointLights []. position" فيه ؟؟؟
أنا أقوم بتتبع الأشعة في الفضاء العالمي ولكن لا يبدو أن الظلال متطابقة.

Annotation 2019-12-20 073556

حسنًا ، بعد النظر في الأمر ... يبدو أنه في مساحة عرض النموذج ... هل هناك طريقة جيدة للحصول على مواضع الإضاءة في الفضاء العالمي؟

تعديل WebGLRender لإرساله في كل من العالم وعرض المساحة؟

حسنًا ، لقد عملت مع نقطة ضوئية ... الآن لاختبار أضواء المنطقة المستقيمة!

image

هل هناك طريقة لمجرد تشويه مصادر الأضواء داخل حجم الانبعاث و
تتراكم من أجل الحصول على ظلال ناعمة في شيء مثل 32 يجعل ذلك
أنت فقط تتراكم؟

أرى هذا على أنه شيء يعمل بشكل جيد مع اهتزاز الكاميرا الفرعية
التي جمعتها في مثال TAA Three.js.

يوم السبت 21 ديسمبر 2019 الساعة 10:04 مساءً Samuel Sylvester [email protected]
كتب:

حسنًا ، لقد عملت مع نقطة ضوئية ... الآن لاختبار أضواء المنطقة المستقيمة!

[صورة: صورة]
https://user-images.githubusercontent.com/10963749/71316445-4b18bb00-2435-11ea-94d9-c2f0f4116097.png

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mrdoob/three .
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/AAEPV7JKIZ62J3YXCVVYHVDQZ3KLVANCNFSM4FCA4DOQ
.

-

بن هيوستن CTO
* م: * + 1-613-762-4113
[email protected]
أوتاوا ، ON

[صورة: threekitlogo1568384278.png] https://www.threekit.com/
خلق تجربة مرئية أفضل للعملاء مع ثريكيت
https://www.threekit.com/

[صورة: تعرف على كيفية توسيع نطاق العناصر المرئية للمنتج من خلال نشاطك التجاري المتنامي]
http://signatures.threekit.com/uc/5d0cfd47860b6864aee40938/c_5da8cc74c90a0e0043fe0323/b_5dade3e4e85fae00caea3d76

لأكون واضحًا ، أعتقد أن طريقة الاهتزاز في الضوء المستقيم هي الحصول على واحدة
نقطة الضوء التي تتحرك على طول سطح الانبعاث. أنت بحاجة إلى شيء جيد
طريقة أخذ العينات مثل Poisson Disk أو شيء من هذا القبيل ،
https://www.google.com/search؟q=Poisson+Disk. ثم الناتج
يجب أن تكون الظلال ناعمة ومناسبة للضوء المستقيم.

على الرغم من أنني كنت مرتبكًا بشأن FOV ، يجب على المرء أن يضبط على ضوء النقطة ،
وربما يجب عليك دائمًا توجيهه في الاتجاه الطبيعي من المستقيم
مساحة السطح؟ هذه التفاصيل الصغيرة هي التي منعتني من فعل ذلك
المضي قدما في تنفيذ الانبعاثات التراكمية العينة
الظلال القائمة على المصدر.

يوم الاثنين 23 ديسمبر 2019 الساعة 9:00 صباحًا كتب بن هيوستن [email protected] :

هل هناك طريقة لمجرد تشويه مصادر الأضواء داخل حجم الانبعاث
وتتراكم من أجل الحصول على ظلال ناعمة في ما يشبه 32 عرضًا
التي تراكمت للتو؟

أرى هذا على أنه شيء يعمل بشكل جيد مع اهتزاز الكاميرا الفرعية
التي جمعتها في مثال TAA Three.js.

يوم السبت 21 ديسمبر 2019 الساعة 10:04 مساءً Samuel Sylvester <
[email protected]> كتب:

حسنًا ، لقد عملت مع نقطة ضوئية ... الآن لاختبار أضواء المنطقة المستقيمة!

[صورة: صورة]
https://user-images.githubusercontent.com/10963749/71316445-4b18bb00-2435-11ea-94d9-c2f0f4116097.png

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mrdoob/three .
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/AAEPV7JKIZ62J3YXCVVYHVDQZ3KLVANCNFSM4FCA4DOQ
.

-

بن هيوستن CTO
* م: * + 1-613-762-4113
[email protected]
أوتاوا ، ON

[صورة: threekitlogo1568384278.png] https://www.threekit.com/
خلق تجربة مرئية أفضل للعملاء مع ثريكيت
https://www.threekit.com/

[صورة: تعرف على كيفية توسيع نطاق العناصر المرئية للمنتج من خلال نشاطك التجاري المتنامي]
http://signatures.threekit.com/uc/5d0cfd47860b6864aee40938/c_5da8cc74c90a0e0043fe0323/b_5dade3e4e85fae00caea3d76

-

بن هيوستن CTO
* م: * + 1-613-762-4113
[email protected]
أوتاوا ، ON

[صورة: threekitlogo1568384278.png] https://www.threekit.com/
خلق تجربة مرئية أفضل للعملاء مع ثريكيت
https://www.threekit.com/

[صورة: تعرف على كيفية توسيع نطاق العناصر المرئية للمنتج من خلال نشاطك التجاري المتنامي]
http://signatures.threekit.com/uc/5d0cfd47860b6864aee40938/c_5da8cc74c90a0e0043fe0323/b_5dade3e4e85fae00caea3d76

bhouston أعتقد أن https://github.com/mrdoob/three.js/issues/14048 هو ما تتحدث عنه.

أحببت العرض التوضيحي بمصدر إضاءة عقدة ملتوية. أعتقد أن المشكلة التي رأيتها هي أن انعكاس مصدر الضوء لم يحل أبدًا إلى الصورة الصحيحة.

ميزة إضافية للظلال التي تتبعها الأشعة هي أنه يتم استخدامها للتعامل مع الظلال الشفافة. يمكن استخدامه أيضًا للإضاءة العالمية والعديد من تأثيرات الإضاءة الأخرى.

bhouston https://github.com/bhouston أعتقد # 14048
https://github.com/mrdoob/three.js/issues/14048 هو ما تتحدث عنه
حول.

آسف ، إنني أميل إلى نسيان ما اقترحته سابقًا ، لكن على الأقل أنا كذلك
ثابت.

أحببت العرض التوضيحي بمصدر إضاءة عقدة ملتوية. أعتقد أن
المشكلة التي رأيتها هي أن انعكاس مصدر الضوء أبدًا
تقرر الصورة الصحيحة.

هذا لأنه لا يقوم بأخذ عينات عشوائية ولكن لأخذ عينات شاملة
الطريقة - يقوم أيضًا بعمل مصدر ضوء أصعب بكثير من مجرد
منطقة مستطيلة. ستكون طريقته بطيئة التراكم مع التنقيط
التقديم أو تتبع الشعاع - إنها طريقة العينة التي كانت خاطئة ، وليس
تقنية. كما يمكنك عينات ضوء متعددة لكل تقديم إذا كنت كذلك
يميل. أعتقد أن هناك حاجة إلى 32 إلى 256 تصييرًا بالحد الأقصى ،
اعتمادًا على نوع الضوء وعدد عينات الضوء لكل عرض. في
60 إطارًا في الثانية هي 1-4 ثوانٍ. أعتقد أنها لحظة "مبسطة
الإشعاع ".

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

يوم الإثنين 23 ديسمبر 2019 الساعة 11:03 صباحًا Samuel Sylvester [email protected]
كتب:

bhouston https://github.com/bhouston أعتقد # 14048
https://github.com/mrdoob/three.js/issues/14048 هو ما تتحدث عنه
حول.

أحببت العرض التوضيحي بمصدر إضاءة عقدة ملتوية. أعتقد أن
المشكلة التي رأيتها هي أن انعكاس مصدر الضوء أبدًا
تقرر الصورة الصحيحة.

ميزة إضافية للظلال التي تتبعها الأشعة هي أنه يمكن استخدامها في التعامل معها
ظلال شفافة. يمكن استخدامه أيضًا للإضاءة العالمية والعديد
تأثيرات ضوئية أخرى.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mrdoob/three.js/issues/14161؟email_source=notifications&email_token=AAEPV7L4ZVKQJILFWZQ6JE3Q2DOLPA5CNFSM4FCA4DO2YY3PNVWWK3TUL52HS4DFVREXG43TUL52HS4DFVREXG43
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/AAEPV7LXP5CSOMBZF2BMNR3Q2DOLPANCNFSM4FCA4DOQ
.

-

بن هيوستن CTO
* م: * + 1-613-762-4113
[email protected]
أوتاوا ، ON

[صورة: threekitlogo1568384278.png] https://www.threekit.com/
خلق تجربة مرئية أفضل للعملاء مع ثريكيت
https://www.threekit.com/

[صورة: تعرف على كيفية توسيع نطاق العناصر المرئية للمنتج من خلال نشاطك التجاري المتنامي]
http://signatures.threekit.com/uc/5d0cfd47860b6864aee40938/c_5da8cc74c90a0e0043fe0323/b_5dade3e4e85fae00caea3d76

bhouston أحب الحل المقترح في # 14048 ... خاصة بالنسبة للأشكال الهندسية البسيطة مثل الضوء المستقيم.
يبدو أن هذه الطريقة يجب أن تكون سهلة الاستخدام. هل هناك مفترق مكون من ثلاثة به هذا الحل؟

فيما يتعلق بتتبع الشعاع ... على أجهزة فئة سطح المكتب ، يعمل حل تتبع الشعاع في الوقت الفعلي عند 1spp. شاهد ... https://youtu.be/amX3icmbpzY.

لم أختبر الهاتف المحمول بعد.

في العروض التوضيحية التي كنت أعمل عليها ، تم حساب مصطلح الإضاءة باستخدام الكود الحالي ولكن الظل يتم تتبعه بأشعة بدلاً من تعيين الظل.

mrdoob ،bhouston
لذلك ، قمت بتحديث العرض التوضيحي ليعكس العرض التوضيحي لـ rtx من Nvidia من GDC 2018

ولديها تعمل في الوقت الحقيقي على جهاز الكمبيوتر المحمول الخاص بي وعلى هاتفي المحمول ...

عرض كمبيوتر محمول ... https://youtu.be/MKCKXRVks3I
عرض الهاتف المحمول ... https://youtu.be/P-cnT2hYNF4

لقد قمت أيضًا بتحسين توزيع عينات الظل لتحسين واقعية الظل

mrdoob و WestLangley و bhouston وآخرين

لقد حصلت على ظلال لأضواء منطقة مستقيمة تعمل مع Raytracing.

Screenshot_20200113-175554647
العرض الموضح هنا ... https://youtu.be/tZmlb29OUBU
لديه أضواء نقطة وضوء منطقة مستقيمة.

بعض التحسينات على توزيع عينات الظل قيد العمل. أيضًا ، يبدو أنه بالنسبة لأضواء المنطقة ، يجب حساب ظلالين لكل ضوء. ظل منتشر وظل براق.

في الوقت الحاضر يتم حساب الظل المنتشر فقط.

أخطط لإنشاء موقع ويب مباشر مع هذا العرض التوضيحي وأيضًا دفع هذه التغييرات إلى مفترقتي الثلاثة قريبًا

هذا يبدو رائعًا! هل يستخدم فقط نسيج عمق واحد أيضًا؟

هذا يبدو رائعًا! هل يستخدم فقط نسيج عمق واحد أيضًا؟

@ mrdoob شكرا! إنه في الواقع تتبع مناسب للأشعة ، ويستخدم حاليًا نسيجين. أحدهما يخزن هندسة الفضاء العالمية والآخر لديه بيانات BVH.

من خلال هذا الإعداد ، يمكننا حساب محيط RTX المحيط ومع بعض التحديثات ، سيكون GI ممكنًا أيضًا!

لتشغيل العرض التوضيحي في المتصفح راجع ... https://three-rtx.azurewebsites.net/

ملاحظة ... هذا تتبع للأشعة ووجدت أن وحدة معالجة الرسومات المدمجة الخاصة بي لا يمكنها التعامل إلا مع مصدر ضوء واحد بظلال تتبع الأشعة بمعدلات إطارات مناسبة. ولكن عندما قمت بتمكين RTX 2080 لديّ ، كان بإمكاني الحصول على مصدرين للضوء يتم تتبعهما بأشعة مع 16spp لكل ضوء بمعدل ضعف معدل الإطارات. هذا أقل بقليل من 64x أسرع على وحدة معالجة الرسومات المنفصلة!

حاولت أيضًا تشغيل هذا على هاتفي ووجدت أنك تريد سفينة علم 2019 أو أفضل من 30 إطارًا في الثانية بسرعة 1080 بكسل.

أعتقد أن هناك بعض التحسينات الأخرى للضغط على أداء أكثر وضوضاء أقل.

أخطط لدفع الكود الذي أملكه الآن إلى مفترق الطرق ثم الاستمرار في إجراء التعديلات.

ملحوظة : لدي تعديل واحد يعمل على تحسين الأداء بأكثر من 50٪ من متوسط ​​الإطارات في الثانية ... إنه يعمل على التظليل أولاً ، ولكن إذا تم تشغيل تجميع ثانٍ ، فسيبدأ حدوث أشياء مضحكة ... يبدو أنه مرتبط باستخدامي لـ المعالج المسبق

@ sam-g-steel
هذا عظيم! هل لديك خطط لفتح مصدر العمل في وقت ما؟ ما مدى جودة مقياسه - هل أجريت أي اختبار باستخدام نماذج منتجات أو شخصيات أكثر تعقيدًا؟ وأتخيل أن Raytracing يعمل فقط مع المشاهد الثابتة ، أليس كذلك؟

ميزة إضافية للظلال التي تتبعها الأشعة هي أنه يتم استخدامها للتعامل مع الظلال الشفافة. يمكن استخدامه أيضًا للإضاءة العالمية والعديد من تأثيرات الإضاءة الأخرى.

هذا يبدو وكأنه ميزة إضافية لهذه التقنية. أعتقد أنه يمكنك الحصول على نتائج جيدة جدًا باستخدام أسلوب الاهتزاز من # 14048.

تضمين التغريدة

إنها طريقة العينة التي كانت خاطئة وليست التقنية.

أعتقد أن استخدام شيء مثل مساعد MeshSurfaceSampler مع أضواء متعددة سيجعل النتيجة أجمل قليلاً.

تضمين التغريدة

هذا عظيم! هل لديك خطط لفتح مصدر العمل في وقت ما؟

شكرا!!! نعم ، أخطط لنشر الكود قريبًا! أحب أن أراه مدمجًا في three.js!
في الوقت الحاضر يتكون العرض التوضيحي من جزأين رئيسيين. بناء مخصص من ثلاثة يرسل معلومات الإضاءة في عرض النموذج وفضاء العالم والذي آمل أن أنشره في الأيام القليلة القادمة و "مكون إضافي" ثلاثي.

ما مدى جودة مقياسه - هل أجريت أي اختبار باستخدام نماذج منتجات أو شخصيات أكثر تعقيدًا؟

لقد أجريت بعض الاختبارات لمعرفة كيف يتم ذلك مع المشاهد المعقدة ... كانت النتائج التي حصلت عليها واعدة جدًا. أنا أعمل على تحديث الموقع https://three-rtx.azurewebsites.net/ بمزيد من العروض التوضيحية قريبًا. لا أريد تقديم أي مطالبات باستخدام العروض التوضيحية لدعمها.

وأتخيل أن Raytracing يعمل فقط مع المشاهد الثابتة ، أليس كذلك؟

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

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

mrdoob ،gkjohnson
لقد بدأت في نشر كود تتبع الشعاع ... يمكن العثور عليه هنا ... https://github.com/sam-g-steel/three.js/tree/RTX

لم يتم الالتزام بكل التعليمات البرمجية ... أحاول تنظيف الأشياء قليلاً. آمل أن أحصل على كل الشفرة قريبًا.

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

يمكن رؤية أحد العروض التوضيحية الجديدة هنا ...
Screenshot_20200205-125510305_1
https://youtu.be/ZvoSuBi4rFE
gkjohnson ، يحتوي هذا العرض التوضيحي على كائنات ديناميكية في الشاشة ويساعد في اختبار أداء إعادة بناء BVH الكامل.

آمل أن ألتزم بالباقي أو تظليل "RTX" ... الليلة وكود BVH قريبًا

ملاحظة: المثلثات حاليًا هي العناصر الأولية الوحيدة المدعومة

تحديث 2/8/2020
تم تحديث الموقع ليحصل على العرض الجديد ...
أصبح بناء BVH الديناميكي الآن أسرع بنسبة 40٪ مما كان عليه قبل 4 أيام ... المزيد من التحسينات قادمة.
تم تحديث https://github.com/sam-g-steel/three.js/tree/RTX بمزيد من التعليمات البرمجية.

المزيد من التحديثات قادمة !!!

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

فيما يلي بعض الصور من مرشح الضوضاء ...
لا يزال العمل جاريا.

تحديث 3/28/2020
3-28-2020

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات