يُقصد بهذا أن يكون خطأً تعريفًا.
بعض الطرق المتبقية محظورة على https://github.com/servo/servo/issues/5014 (تلك التي تتلقى ArrayBufferView
أو BufferDataSource
ولها تجاوزات) ، لكن البعض الآخر يمكن أن يكون نفذت دون مشاكل.
سأحاول تقديم مشكلات فردية لكل نقص متبقي ، نظرًا لأن بعضها يمكن أن يكون E-Easy
.
انقر فوق لتوسيع
مواصفات WebGL 1.0 هنا .
يعتمد WebGL على مواصفات GLES 2.0 ، لذلك غالبًا ما تستفيد مواصفات WebGL من التفاصيل. يمكنك العثور على نسخة PDF هنا .
يمكن العثور على جانب DOM من كود WebGL في الملفات التالية:
components/script/dom/webglrenderingcontext.rs
components/script/dom/webglactiveinfo.rs
components/script/dom/webglbuffer.rs
components/script/dom/webglcontextevent.rs
components/script/dom/webglframebuffer.rs
components/script/dom/webglobject.rs
components/script/dom/webglprogram.rs
components/script/dom/webglrenderbuffer.rs
components/script/dom/webglrenderingcontext.rs
components/script/dom/webglshader.rs
components/script/dom/webglshaderprecisionformat.rs
components/script/dom/webgltexture.rs
components/script/dom/webgluniformlocation.rs
مؤشر ترابط WebGL هو الخيط الذي يتلقى رسائل WebGL من DOM ، ويقوم إما بتنفيذها أو إرسالها إلى الواجهة الخلفية لـ WebRender.
ربما لا تحتاج إلى لمس أي شيء هنا ، ولكن في حالة رغبتك في إلقاء نظرة ، يكون الملف:
components/canvas/webgl_paint_thread.rs
باقي تعريفات WebGL وتطبيقات الأوامر موجودة في ملف webrender_traits
webgl.rs
، ليتم مشاركتها بواسطة كل من Servo و WebRender.
فأنت تريد أن نلقي نظرة إلى WebGLCommand
تعريف وإلى apply
وظيفة .
للعمل بنشاط معها ، من الأفضل استخدام تجاوز الشحن .
لاحظ أنه تمت إعادة تصدير WebGLCommand
من canvas_traits
كـ CanvasWebGLMessage
لأسباب قديمة (لتجنب ألم إعادة الأساسيات الإضافية بينما لم يتم دمج webrender بعد).
gl.shaderSource()
(# 21754)antialiasing
(# 21285)ImageBitmap
(# 20650)WebGLRenderingContext.bufferSubData
(# 20558)[AllowShared]
(# 20515)drawingBufferWidth
/ drawingBufferHeight
في WebGLRenderingContext
(# 20530)WebGLRenderingContext.getContextAttributes
(# 20532)WebGLRenderingContext.bufferData
(# 20557)[Throws]
لكل حمل زائد (# 20516)WebGLRenderingContext.getProgramInfoLog
(# 20561)handle_object_deletion
خطأ (# 21352)WebGLRenderingContext.activeTexture
(# 20531)gl.getParameter(gl.ALIASED_LINE_WIDTH_RANGE)
(# 20535)gl.getParameter(gl.BLEND_COLOR)
(# 20536)gl.getParameter(gl.COLOR_CLEAR_VALUE)
(# 20537)gl.getParameter(gl.COLOR_WRITEMASK)
(# 20538)gl.getParameter(gl.COMPRESSED_TEXTURE_FORMATS)
(# 20544)gl.getParameter(gl.DEPTH_RANGE)
(# 20545)gl.getParameter(gl.GENERATE_MIPMAP_HINT)
(# 20546)IMPLEMENTATION_COLOR_READ_FORMAT
و IMPLEMENTATION_COLOR_READ_TYPE
(# 20547)MAX_FRAGMENT_UNIFORM_VECTORS
و MAX_VERTEX_UNIFORM_VECTORS
(# 20548)gl.getParameter(gl.MAX_VARYING_VECTORS)
(# 20549)SCISSOR_TEST
و SCISSOR_BOX
(# 20551)gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL)
(# 20552)gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL)
(# 20553)gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL)
(# 20554)WebGLRenderingContext.bindBuffer
(# 20556)gl.renderbufferStorage
(# 20563)WebGLRenderingContext.getFramebufferAttachmentParameter
(# 20593)WebGLRenderingContext.clear
(# 20623)GLclampf
بشكل صحيح (# 20652)gl.getParameter
والأصدقاء (# 20655)renderbufferStorage
(# 13710)WebGLShader
destruction بشكل متكرر عند إغلاق صفحات webgl (# 21177)WebGLRenderingContext
s في نفس الصفحة.WebGLCommand
كـ CanvasWebGLMessage
(https://github.com/servo/servo/issues/10211)gl.getActiveAttrib
و gl.getActiveUniform
(# 20600)gl.getVertexAttrib
و gl.getVertexAttribOffset
(# 20608)gl-pointcoord.html
لا يرسم أي شيء (# 21719)oes-texture-half-float.html
ذعر بسبب خطأ GL عند التشغيل في وضع سطح المكتب (# 21663)preserveDrawingBuffer
(# 21132)سي سيdmarcos
سأعمل على تنفيذ إنشاء خريطة صغيرة
ConnorGBrewster فتحت https://github.com/servo/servo/issues/10226 ، دعنا نناقش هناك :)
أود العمل على getActiveUniform
saurvs فتحت https://github.com/servo/servo/issues/10397 من أجلك ،
أود العمل على جميع الطرق الموحدة المتبقية ، إذا كان هذا جيدًا
autrilla هم لك! لقد فتحت https://github.com/servo/servo/issues/10417 لتتبعها ، فلا تتردد في ترك أي أسئلة هناك :)
أنا أنظر إلى وظائف الاستنسل *.
أنا أتصدى عند copyTex*
و texSubImage2D
محاولة
Implement isShader
Implement isTexture
أود مساعدة texSubImage2D
daoshengmu : يبدو رائعا!
danlrobertson ، هل ما زلت تعمل على texSubImage2D
؟
danlrobertson آسف لأنني لم ألاحظ أنك تعمل على texSubImage2D
. أريد فقط المساعدة في تنفيذ بعض WebGL. إذا كنت لا تزال تعمل عليه ، فيمكنني اختيار copyTexImage2D
و copyTexSubImage2D
emilio
تضمين التغريدة كل شيء على ما يرام! إنه لأمر سيئ أن استغرقت وقتًا طويلاً للحصول على علاقات عامة ، لكن للأسف الحياة تحدث: ابتسم: ...
هل أنت بخير مع أخذ texSubImage2D
؟ لقد قمت بالفعل بتنفيذ المكونات الضرورية في copyTex*
، لكنني في الواقع لم أبدأ بـ texSubImage2D
. إذا كنت تريد texSubImage2D
، فابحث عنه! ليس لدي أي ارتباط خاص به. أردت فقط معرفة القليل عن كود webgl ...
تضمين التغريدة سوف آخذ texSubImage2D
. شكرا! 😄
إذا كان الأمر على ما يرام ، فسأعمل عليه
Implement isFramebuffer
و
Implement isRenderBuffer
DDDEFISHER اذهب لذلك! هل تمانع في فتح قضية لهؤلاء حتى أتمكن من تعيينك هناك؟
سأعمل أيضًا على isBuffer
لأنه مشابه للآخر 2
يرجى كتابة تعليق هنا إذا كنت تنوي العمل على هذه المسألة. شكرا لك!
تعد المشكلات المنفصلة لواجهات برمجة التطبيقات الفردية مادة سهلة الاستخدام ؛ ليس هذا.
هل يمكن لأي شخص أن يشير إلى تطبيق E-easy (ish) يمكنني العمل عليه؟ شكرا :)
ofekd isEnabled
قد يكون اختيارًا جيدًا ، حيث تم تنفيذ enable
و disable
!
jdm سآخذها
قد يكون ofekd isEnabled صعبًا كمساهم جديد ، لأنك تحتاج إلى تغيير الأشياء عبر الوحدات. يجب أن تكون بعض حالات الاختبار في webgl-specific.html
، مثل func func أو stencil func ، نقاط انطلاق جيدة حقًا. invalid-passed-params.html
المحتمل أن يكون لدى
anholt طالما أنه ليس معقدًا بشكل كبير ، فلا مانع من الاضطرار إلى العمل أكثر. لم أبدأ العمل على هذا بعد ، ولكن بالنسبة للمبتدئين ، يبدو أنني بحاجة إلى التغيير:
webrender_traits/src/webgl.rs
servo/components/script/dom/webglrenderingcontext.rs
servo/components/script/dom/webidls/WebGLRenderingContext.webidl
ما لم يعرقل ذلك بطريقة ما الجهود الأخرى ، سأستمر في العمل على isEnabled
سأعمل على تطبيق ValidateProgram و getProgramInfoLog
سأعمل في uniformMatrix2fv و uniformMatrix3fv و uniformMatrix4fv و framebufferRenderbuffer و framebufferTexture2D و renderbufferStorage.
سأقوم بتشغيل عروض webgl التجريبية الأكثر تطلبًا وقياس الأداء على المؤازرة وأحتاج إلى هذه الوظائف ؛)
MortimerGoro لقد كنت أعمل على دعم FBO (راجع بضع عمليات دمج حديثة و https://github.com/anholt/servo/tree/webgl-fbo). لقد جمعت أيضًا https://github.com/anholt/servo/tree/webgl-uniform-matrix-v للحصول على مصفوفة موحدة ، لكن الاختبار يحتاج إلى تصحيح الأخطاء.
تضمين التغريدة هل تحتاج إلى أي مساعدة في اختبار المصفوفة الموحدة؟
MortimerGoro مجرد اكتشاف ما يحدث مع النتائج غير الموثوقة.
لقد فتحت # 13639 لتتبع دعم FBO. تريد أن تضيف ذلك إلى FramebufferRenderbuffer / framebufferTexture2D؟
@ shravan-achar قد يكون مهتمًا بالعمل على الباقي هنا.
يبدو أن misisng toDataURL()
لـ WebGL هو سبب مجموعة كاملة من مشكلات حقيبة الاختبار المتبقية (مثل asin_001_to_006.html
)
فقط 5 واجهات برمجة تطبيقات مفقودة الآن.
أنا و @ taki-jaro و mrowqa و xanewok سيعملون على هذه المسألة كمشروع طلابي
ccKiChjang
أخطط لمحاولة glGetTexParameter.
العمل على getFramebufferAttachmentParameter()
.
أود أن أفعل getRenderbufferParameter
يبدو أن هذه المشكلة لم تعد تحتفظ بسجل للتعديلات بعد الآن لسبب ما.
تحرير: يبدو أنه يعمل الآن.
لقد أضفت مجموعة من القضايا.
التعليق الأكثر فائدة
أخطط لمحاولة glGetTexParameter.