يعرض مقدم WebGL مشاهدك المصنوعة بشكل جميل باستخدام [link:https://en.wikipedia.org/wiki/WebGL WebGL].
[page:Object parameters] - (اختياري) كائن بخصائص تحدد سلوك المقدم.
يقبل المنشئ أيضًا عدم وجود معلمات على الإطلاق.
في جميع الحالات ، سيفترض الافتراضات السليمة عندما تكون المعلمات مفقودة.
التالية هي المعلمات الصالحة:
[page:DOMElement canvas] - A
[link:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas canvas]
حيث يرسم المقدم ناتجه. يتوافق هذا مع
[page:WebGLRenderer.domElement domElement] property below. إذا لم يتم تمريره
هنا ، سيتم إنشاء عنصر قماش جديد.
[page:WebGLRenderingContext context] - يمكن استخدام هذا لإرفاق
المقدم بـ
[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext RenderingContext] موجود.
الافتراضي هو null.
[page:String precision] - دقة الشادر. يمكن أن يكون `"highp"` ، `"mediump"`
أو `"lowp"`. الافتراضي هو `"highp"` إذا كان مدعومًا من قبل الجهاز.
[page:Boolean alpha] - يتحكم في قيمة alpha الافتراضية الواضحة. عند تعيينه على
`true` ، تكون القيمة `0`. وإلا فهو `1`. الافتراضي هو `false`.
[page:Boolean premultipliedAlpha] - ما إذا كان المقدم سيفترض أن
الألوان لديها
[link:https://en.wikipedia.org/wiki/Glossary_of_computer_graphics#Premultiplied_alpha premultiplied alpha].
الافتراضي هو `true`.
[page:Boolean antialias] - ما إذا كان سيتم إجراء التنعيم. الافتراضي هو
`false`.
[page:Boolean stencil] - ما إذا كانت ذاكرة التخزين المؤقت للرسم لديها
[link:https://en.wikipedia.org/wiki/Stencil_buffer stencil buffer] من على
الأقل 8 بت. الافتراضي هو `false`.
[page:Boolean preserveDrawingBuffer] - ما إذا كان سيتم الحفاظ على المخابئ
حتى يتم مسحها يدويًا أو استبدالها. الافتراضي هو `false`.
[page:String powerPreference] - يوفر تلميحًا لوكيل المستخدم
تشير إلى ما هو التكوين من GPU مناسب لهذه سياق WebGL.
يمكن أن يكون `"high-performance"` ، `"low-power"` أو `"default"`. الافتراضي هو
`"default"`. انظر
[link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2 WebGL spec] للحصول على التفاصيل.
[page:Boolean failIfMajorPerformanceCaveat] - ما إذا كان إنشاء المقدم
سيفشل عند اكتشاف أداء منخفض. الافتراضي هو `false`.
انظر [link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2 WebGL spec] للحصول على التفاصيل.
[page:Boolean depth] - ما إذا كانت ذاكرة التخزين المؤقت للرسم لديها
[link:https://en.wikipedia.org/wiki/Z-buffering مخزن عمق] من على الأقل
16 بت. الافتراضي هو `true`.
[page:Boolean logarithmicDepthBuffer] - ما إذا كان سيتم استخدام مخزن عمق لوغاريتمي
قد يكون من الضروري استخدام هذا إذا كان يتعامل مع اختلافات ضخمة
في المقياس في مشهد واحد. لاحظ أن هذا الإعداد يستخدم gl_FragDepth إذا
متوفرة والتي تعطل
[link:https://www.khronos.org/opengl/wiki/Early_Fragment_Test Early Fragment Test]
التحسين ويمكن أن يسبب انخفاضًا في الأداء.
الافتراضي هو `false`. انظر [example:webgl_camera_logarithmicdepthbuffer camera / logarithmicdepthbuffer] المثال.
يحدد ما إذا كان المُعالج يجب أن يمسح تلقائيًا ناتجه قبل عرض الإطار.
إذا كان [page:.autoClear autoClear] صحيحًا ، يحدد ما إذا كان المُعالج يجب مسح مخزن اللون. الافتراضي هو `true`.
إذا كان [page:.autoClear autoClear] صحيحًا ، يحدد ما إذا كان المُعالج يجب مسح مخزن العمق. الافتراضي هو `true`.
إذا كان [page:.autoClear autoClear] صحيحًا ، يحدد ما إذا كان المُعالج يجب مسح مخزن القالب. الافتراضي هو `true`.
- [page:Boolean checkShaderErrors]: إذا كان صحيحًا ، يحدد ما إذا كان
يتم التحقق من برامج الشادر المادية للأخطاء أثناء التجميع و
عملية الربط. قد يكون من المفيد تعطيل هذا الفحص في الإنتاج لـ
الحصول على مكاسب في الأداء. يوصى بشدة بالاحتفاظ بهذه الفحوصات ممكّنة
أثناء التطوير. إذا لم يتم تجميع وربط الشادر - فلن يعمل
والمادة المرتبطة لن تعرض. الافتراضي هو `true`.
- [page:Function onShaderError]( gl, program, glVertexShader,
glFragmentShader ): وظيفة رد اتصال يمكن استخدامها للإبلاغ عن الأخطاء المخصصة
التقارير. يتلقى الرد الاتصال سياق WebGL ، ومثيل من
WebGLProgram كذلك اثنين من مثيلات WebGLShader تمثل قمة
وشادر الجزء. تعيين وظيفة مخصصة يعطل الافتراضي
التقارير عن الأخطاء. الافتراضي هو `null`.
كائن يحتوي على تفاصيل حول قدرات الحالية
[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext RenderingContext].
- [page:Boolean floatFragmentTextures]: ما إذا كان السياق يدعم
[link:https://developer.mozilla.org/en-US/docs/Web/API/OES_texture_float OES_texture_float] extension.
- [page:Boolean floatVertexTextures]: `true` إذا كان [page:Boolean floatFragmentTextures]
و [page:Boolean vertexTextures] صحيحان على حد سواء.
- [page:Method getMaxAnisotropy](): يعود بأقصى قدر متاح
التشوه.
- [page:Method getMaxPrecision](): يعود بأقصى دقة متاحة
لشادرات القمة والجزء.
- [page:Boolean isWebGL2]: `true` إذا كان السياق في استخدام هو a
WebGL2RenderingContext object.
- [page:Boolean logarithmicDepthBuffer]: `true` إذا كان [page:parameter logarithmicDepthBuffer]
تم تعيينه على true في المُنشئ والسياق
يدعم
[link:https://developer.mozilla.org/en-US/docs/Web/API/EXT_frag_depth EXT_frag_depth] extension.
- [page:Integer maxAttributes]: قيمة `gl.MAX_VERTEX_ATTRIBS`.
- [page:Integer maxCubemapSize]: قيمة
`gl.MAX_CUBE_MAP_TEXTURE_SIZE`. أقصى ارتفاع * عرض لخرائط المكعبات
الملمسات التي يمكن استخدامها من قبل شادر.
- [page:Integer maxFragmentUniforms]: قيمة
`gl.MAX_FRAGMENT_UNIFORM_VECTORS`. عدد الموحدات التي يمكن استخدامها
من قبل شادر جزء.
- [page:Integer maxSamples]: قيمة `gl.MAX_SAMPLES`. أقصى عدد
من العينات في سياق مكافحة التعرج المتعدد (MSAA).
- [page:Integer maxTextureSize]: قيمة `gl.MAX_TEXTURE_SIZE`.
أقصى ارتفاع * عرض للقوام التي يستخدمها شادر.
- [page:Integer maxTextures]: قيمة `gl.MAX_TEXTURE_IMAGE_UNITS`.
أقصى عدد من الملمسات التي يمكن استخدامها من قبل شادر.
- [page:Integer maxVaryings]: قيمة `gl.MAX_VARYING_VECTORS`. The
عدد المتغيرات المتغيرة التي يمكن استخدامها من قبل shaders.
- [page:Integer maxVertexTextures]: قيمة
`gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS`. عدد الملمسات الت
يمكن استخدامها في شادر القمة.
- [page:Integer maxVertexUniforms]: قيمة
`gl.MAX_VERTEX_UNIFORM_VECTORS`. أقصى عدد من الموحدات التي يمكن
يتم استخدامها في شادر القمة.
- [page:String precision]: دقة الشادر التي يتم استخدامها حاليًا من قبل
المُعالج.
- [page:Boolean vertexTextures]: `true` إذا كان [property:Integer maxVertexTextures]
أكبر من 0 (أي يمكن استخدام ملمسات القمة).
خطوط المقص المحددة من قبل المستخدم محددة كـ THREE.Plane objects في العالم الفضاء. تطبق هذه الطائرات عالميًا. النقاط في الفضاء التي نقطة المنتج مع الطائرة هي سلبية يتم قطعها. الافتراضي هو [].
[link:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas canvas]
حيث يرسم المُعالج ناتجه.
يتم إنشاء هذا تلقائيًا من قبل المُعالج في المُنشئ (إذا لم يكن
متوفر بالفعل) ؛ تحتاج فقط إلى إضافته إلى صفحتك مثل هذا:
document.body.appendChild( renderer.domElement );
- [page:Object get]( [param:String extensionName] ): يستخدم للتحقق مما إذا كان
مختلف الامتدادات مدعومة ويعود كائنًا بتفاصيل
التمديد إذا كان متوفرًا. يمكن لهذه الطريقة التحقق من التالية
extensions:
يحدد مساحة اللون الناتجة للمُعالج. الافتراضي هو [page:Textures THREE.SRGBColorSpace].
إذا تم تعيين هدف عرض باستخدام [page:WebGLRenderer.setRenderTarget .setRenderTarget] ثم سيتم استخدام renderTarget.texture.colorSpace بدلاً من ذلك.
انظر صفحة [page:Textures texture constants] للحصول على تفاصيل أخرى صيغ.
كائن مع سلسلة من المعلومات الإحصائية حول ذاكرة لوحة الرسومات عملية العرض. مفيد للتصحيح أو فقط لأجل الفضول. يحتوي الكائن على الحقول التالية:
بشكل افتراضي ، يتم إعادة تعيين هذه البيانات في كل مكالمة عرض ولكن عندما
مرورات عرض متعددة لكل إطار (على سبيل المثال عند استخدام معالجة ما بعد) يمكن
يفضل إعادة التعيين بنمط مخصص. أولاً ، قم بتعيين `autoReset` إلى
`false`.
renderer.info.autoReset = false;
استدعاء `reset()` كلما انتهيت من عرض إطار واحد.
renderer.info.reset();
يحدد ما إذا كان المُعالج يحترم خطوط المقص على مستوى الكائن. الافتراضي هو `false`.
يستخدم داخليًا من قبل المُعالج لتتبع خصائص الكائنات الفرعية المختلفة خصائص.
يستخدم داخليًا للتعامل مع ترتيب عرض كائنات المشهد.
يحتوي هذا على المرجع إلى خريطة الظل ، إذا تم استخدامها.
- [page:Boolean enabled]: إذا تم تعيينه ، استخدم خرائط الظل في المشهد. الافتراضي هو
`false`.
- [page:Boolean autoUpdate]: يتيح التحديثات التلقائية للظلال في
المشهد. الافتراضي هو `true`.
إذا لم تكن بحاجة إلى إضاءة / ظلال ديناميكية ، فيمكنك تعيين هذا على
`false` عندما يتم تجزئة المُعالج.
- [page:Boolean needsUpdate]: عند تعيينه على `true` ، ستتم تحديث خرائط الظل في المشهد
سيتم التحديث في الاتصال `render` التالي. الافتراضي هو `false`.
إذا قمت بتعطيل التحديثات التلقائية لخرائط الظل
(`shadowMap.autoUpdate = false`) ، ستحتاج إلى تعيين هذا على `true`
وبعد ذلك قم بإجراء مكالمة عرض لتحديث الظلال في مشهدك.
- [page:Integer type]: يحدد نوع خريطة الظل (غير مفلترة ، نسبة
تصفية قريبة ، نسبة تصفية قريبة مع التصفية الثنائية في
شادر). الخيارات هي:
انظر [page:Renderer Renderer constants] للحصول على التفاصيل.
يحدد ما إذا كان المُعالج يجب أن يقوم بفرز الكائنات. الافتراضي هو `true`.
ملاحظة: يتم استخدام الترتيب لمحاولة عرض الكائنات بشكل صحيح التي لديها بعض
درجة من الشفافية. بالتعريف ، قد لا يعمل فرز الكائنات في جميع
حالات. اعتمادًا على احتياجات التطبيق ، قد يكون من الضروري إغلاق
الترتيب واستخدام طرق أخرى للتعامل مع عرض الشفافية مثل
تحديد ترتيب عرض كل كائن يدويًا.
يحتوي على وظائف لضبط خصائص مختلفة من [page:WebGLRenderer.context] حالة.
الافتراضي هو [page:Renderer NoToneMapping]. انظر [page:Renderer Renderer constants] للاختيارات الأخرى.
مستوى التعرض للإطارات. الافتراضي هو `1`.
يوفر وصولًا إلى واجهة [page:WebXRManager] المتعلقة بـ WebXR من المُعالج.
يخبر المُعالج بمسح مخزن الرسم الخاص به للون أو العمق أو المخطط.
هذه الطريقة تقوم بتهيئة مخزن اللون إلى قيمة المسح الحالية
قيمة.
الحجج الافتراضية هي `true`.
مسح مخزن اللون. يعادل استدعاء [page:WebGLRenderer.clear .clear]( true, false, false ).
مسح مخزن العمق. يعادل استدعاء [page:WebGLRenderer.clear .clear]( false, true, false ).
مسح مخزنات المخططات. يعادل استدعاء [page:WebGLRenderer.clear .clear]( false, false, true ).
يجمع جميع المواد الموجودة في المشهد بالكاميرا. يعد هذا مفيدًا لتجميع التظليل مسبقًا قبل العرض الأول.
إذا كنت تريد إضافة كائن ثلاثي الأبعاد إلى مشهد موجود، فاستخدم المعلمة الاختيارية الثالثة لتطبيق المشهد المستهدف.
لاحظ أنه يجب تكوين إضاءة المشهد قبل استدعاء هذه الطريقة.
إصدار غير متزامن من [page:WebGLRenderer.compile .compile](). تقوم الطريقة بإرجاع Promise
الذي يتم حله عندما يمكن عرض الكائن أو المشهد ثلاثي الأبعاد المحدد دون توقف غير ضروري بسبب تجميع التظليل.
تستخدم هذه الطريقة *KHR_parallel_shader_compile*.
ينسخ بكسلات من WebGLFramebuffer الحالي إلى قوام ثنائي الأبعاد. يتيح الوصول إلى [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/copyTexImage2D WebGLRenderingContext.copyTexImage2D].
Copies the pixels of a texture in the bounds '[page:Box2 srcRegion]' in the destination texture starting from the given position. Enables access to [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texSubImage2D WebGLRenderingContext.texSubImage2D].
Copies the pixels of a texture in the bounds '[page:Box3 srcRegion]' in the destination texture starting from the given position. Enables access to [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texSubImage3D WebGL2RenderingContext.texSubImage3D].
يحرر الموارد المتعلقة بـ GPU التي تم تخصيصها من قبل هذا المثيل. استدعاء هذا الطريقة كلما لم يعد هذا المثيل مستخدمًا في تطبيقك.
محاكاة فقدان سياق WebGL. هذا يتطلب دعمًا لـ [link:https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_lose_context WEBGL_lose_context] extensions.
محاكاة استعادة سياق WebGL. هذا يتطلب دعمًا لـ [link:https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_lose_context WEBGL_lose_context] extensions.
يعود [page:Float float] مع الألفا الواضح الحالي. يتراوح من 0 إلى 1.
يعود مثيل [page:Color THREE.Color] مع لون المسح الحالي.
يرجع سياق WebGL الحالي.
يعود كائنًا يصف السمات المضبوطة على سياق WebGL عند إنشائه.
يعيد الوجه المكعب النشط الحالي.
يعيد مستوى mipmap النشط الحالي.
يعيد [page:RenderTarget RenderTarget] الحالي إذا كان هناك ؛ يعود `null` خلاف ذلك.
[page:Vector4 target] — سيتم نسخ النتيجة في هذا Vector4.
يعود نافذة العرض الحالية.
[page:Vector2 target] — سيتم نسخ النتيجة في هذا Vector2.
يعود عرض وارتفاع مخزن الرسم للمُعالج ، بالبكسل.
يعود نسبة بكسل الجهاز الحالية المستخدمة.
[page:Vector4 target] — سيتم نسخ النتيجة في هذا Vector4.
يعود منطقة المقص.
يعود `true` إذا تم تمكين اختبار المقص ؛ يعود `false` خلاف ذلك.
[page:Vector2 target] — سيتم نسخ النتيجة في هذا Vector2.
يعود عرض وارتفاع قماش إخراج المُعالج ، بالبكسل.
[page:Vector4 target] — سيتم نسخ النتيجة في هذا Vector4.
يعود نافذة العرض.
يقوم بتهيئة القوام المعطى. مفيد لتحميل القوام مسبقًا بدلاً من الانتظار حتى العرض الأول (الذي يمكن أن يسبب تأخيرات ملحوظة بسبب فك تشفير وتحميل GPU).
إعادة تعيين حالة GL إلى الافتراضي. يتم استدعاؤها داخليًا إذا كان سياق WebGL ضائع.
buffer - Uint8Array هو النوع الوحيد المدعوم في جميع الحالات ، أنواع أخرى هي renderTarget ومنصة مستقلة. انظر [link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.12 WebGL spec] للحصول على التفاصيل.
يقرأ بيانات البكسل من renderTarget إلى المخزن الذي تمرره. هذا هو حول [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/readPixels WebGLRenderingContext.readPixels]().
انظر [example:webgl_interactive_cubes_gpu interactive / cubes / gpu] مثال.
لقراءة [page:WebGLCubeRenderTarget WebGLCubeRenderTarget] استخدم المعلمة الاختيارية activeCubeFaceIndex لتحديد أي وجه يجب قراءة.
عرض [page:Scene scene] أو نوع آخر من [page:Object3D object]
باستخدام كاميرا [page:Camera].
يتم العرض إلى [page:WebGLRenderTarget renderTarget] محدد مسبقًا
مجموعة من خلال استدعاء [page:WebGLRenderer.setRenderTarget .setRenderTarget] أو إلى قماش كالمعتاد.
بشكل افتراضي ، يتم مسح مخزنات العرض قبل العرض ولكن يمكنك منع
هذا عن طريق تعيين خاصية [page:WebGLRenderer.autoClear autoClear] إلى
false. إذا كنت ترغب في منع مسح مخزنات معينة فقط ، فيمكنك
تعيين خصائص [page:WebGLRenderer.autoClearColor autoClearColor],
[page:WebGLRenderer.autoClearStencil autoClearStencil] أو
[page:WebGLRenderer.autoClearDepth autoClearDepth] إلى false. لإجبار مسح واحد أو أكثر من المخزنات اتصل بـ [page:WebGLRenderer.clear .clear].
يمكن استخدامها لإعادة تعيين حالة WebGL الداخلية. هذه الطريقة هي في الغالب ذات صلة بالتطبيقات التي تشارك سياق WebGL واحد عبر مكتبات WebGL متعددة.
[page:Function callback] — سيتم استدعاء الوظيفة في كل إطار متاح الإطار. إذا تم تمرير `null` ، فسيتوقف أي رسم متحرك قائم بالفعل.
وظيفة مدمجة يمكن استخدامها بدلاً من [link:https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame]. بالنسبة لمشاريع WebXR ، يجب استخدام هذه الوظيفة.
يضبط الألفا الواضح. المدخلات الصالحة هي عدد عشري بين `0.0` و `1.0`.
يضبط لون المسح والشفافية.
يضبط نسبة بكسل الجهاز. يتم استخدام هذا عادةً لجهاز HiDPI لمنع قماش الإخراج المشوش.
renderTarget -- [page:WebGLRenderTarget renderTarget] التي تحتاج إلى
تفعيله. عند إعطاء `null` ، يتم تعيين قماش كـ هدف عرض نشط
بدلاً من ذلك.
activeCubeFace -- يحدد جانب المكعب النشط (PX 0 ، NX 1 ، PY 2 ، NY 3 ،
PZ 4 ، NZ 5) من [page:WebGLCubeRenderTarget]. عند تمرير
[page:WebGLArrayRenderTarget] أو [page:WebGL3DRenderTarget] هذا يشير
إلى طبقة z للعرض فيه (اختياري).
activeMipmapLevel -- يحدد مستوى mipmap النشط (اختياري).
هذه الطريقة تضبط rendertarget النشط.
معلمات x و y والعرض والارتفاع لمنطقة المقص.
اختياريًا ، متجه مكون من 4 مكونات يحدد معلمات
المنطقة.
يضبط منطقة المقص من (x ، y) إلى (x + width ، y + height).
(x ، y) هو الزاوية السفلى اليسرى لمنطقة المقص.
تمكين أو تعطيل اختبار المقص. عند تمكين هذا ، فقط البكسلات داخل منطقة المقص المحددة ستتأثر بإجراءات المُعالج التالية.
يضبط وظيفة الترتيب الشفاف المخصصة لـ WebGLRenderLists. امرر null لاستخدام وظيفة painterSortStable الافتراضية.
يضبط وظيفة الترتيب الشفاف المخصصة لـ WebGLRenderLists. امرر null لاستخدام وظيفة reversePainterSortStable الافتراضية.
يغير حجم قماش الإخراج إلى (العرض ، الارتفاع) مع نسبة بكسل الجهاز التي تؤخذ في بعين الاعتبار ، ويضبط أيضًا نافذة العرض لتناسب هذا الحجم ، بدءًا من (0 ، 0). يؤدي تعيين [page:Boolean updateStyle] إلى false إلى منع أي تغييرات في الأسلوب إلى قماش الإخراج.
معلمات x و y والعرض والارتفاع لنافذة العرض.
اختياريًا ، متجه مكون من 4 مكونات يحدد معلمات
نافذة عرض.
يضبط نافذة العرض للعرض من (x ، y) إلى (x + width ، y + height).
(x ، y) هو الزاوية السفلى اليسرى للمنطقة.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]