คุณสมบัติที่ขาดหายไปจาก WebGL และ OpenGL ES


10

ฉันเริ่มใช้ WebGL และรู้สึกยินดีกับความง่ายในการใช้ประโยชน์จากประสบการณ์ OpenGL ของฉัน (และโดยการขยาย OpenGL ES) อย่างไรก็ตามความเข้าใจของฉันเป็นดังนี้:

  • OpenGL ES เป็นส่วนหนึ่งของ OpenGL
  • WebGL เป็นส่วนหนึ่งของ OpenGL ES

ถูกต้องหรือไม่สำหรับทั้งสองกรณี? ถ้าเป็นเช่นนั้นมีแหล่งข้อมูลสำหรับการตรวจสอบคุณสมบัติที่หายไปหรือไม่

ตัวอย่างเช่นหนึ่งคุณลักษณะที่ขาดหายไปที่น่าสังเกตคือและglPushMatrix glPopMatrixฉันไม่เห็นสิ่งเหล่านั้นใน WebGL แต่ในการค้นหาของฉันฉันไม่พบพวกเขาอ้างอิงในเนื้อหา OpenGL ES

คำตอบ:


9

WebGLวิกิพีเดียมีส่วนในลำดับชั้นของคำถามที่พบบ่อยของสำหรับ " WebGL และ OpenGL ความแตกต่าง " ซึ่งดูเหมือนว่าจะมุ่งเน้นไปที่ความแตกต่างใน WebGL จาก "เดสก์ทอป" การใช้งาน OpenGL และอนิจจาไม่ได้รายละเอียดมาก (ส่วนใหญ่ก็เกี่ยวกับพฤติกรรมที่ไม่ใช้ API) .

หากรายละเอียดไม่เพียงพอคุณอาจต้องเปรียบเทียบWebGL ฉบับร่างล่าสุดกับข้อกำหนด OpenGL ES หรือOpenGLด้วยตนเอง


9

คุณตรวจสอบร่าง WebGL ล่าสุดแล้วหรือยัง

ตามร่างในกรณีที่มีความขัดแย้งข้อมูลจำเพาะ OpenGL ES 2.0 เป็นสิทธิ์ขั้นสุดท้าย

บทที่ 6 แสดงความแตกต่างจาก OpenGL ES 2.0 ถึง WebGL

http://www.khronos.org/registry/webgl/specs/latest/


คุณมีคำตอบที่ดีซึ่งฉันโหวตขึ้น แต่ยอมรับคำตอบอื่นเพราะมันชี้ให้เห็นแหล่งข้อมูลอื่น ๆ เพื่อตรวจสอบ ขอบคุณสำหรับความช่วยเหลือของคุณ.
Chris Smith

1

ฉันพบทรัพยากรที่ยอดเยี่ยมสำหรับการเปรียบเทียบ API ที่เฉพาะเจาะจงที่มีอยู่ในเวอร์ชันต่างๆของ OpenGL / WebGL / OpenGL ES

ฉันคิดว่าคุณจะพบสิ่งที่คุณกำลังมองหาที่นี่: http://web.eecs.umich.edu/~sugih/courses/eecs487/common/notes/APITables.xml


0

วิธีหนึ่งในการดูคือ WebGL คือ OpenGL ES 2.0 และ OpenGL ES 2.0 คือ OpenGL โดยลบ cruft ดั้งเดิมทั้งหมด

ตั้งแต่เฉดสีที่ถูกเพิ่มเข้ามาตลอดมรดกคงท่อฟังก์ชั่นglPushMatrix, glLight, glVertexฯลฯ ทั้งหมดที่ทำรู้สึกเพื่อให้รอบไม่มี

ดังนั้นคุณสมบัติ "ที่หายไป" หรือคุณสมบัติที่ "ถูกคัดค้าน" อย่างถูกต้องและเหมาะสมคืออะไร?

คุณกำลังมองหาคุณสมบัติเฉพาะอะไร

WebGL / OpenGL ES 2.0 เป็นจุดสุดยอดพื้นฐานและตัวแบ่งส่วน มีการสนับสนุนที่ จำกัด สำหรับพื้นผิวที่ไม่ได้ใช้กำลังไฟฟ้าและมีเพียงไม่กี่รูปแบบพื้นผิวเท่านั้น (ไม่ จำกัด มากจริงๆคือ 99% ของพื้นผิวทั้งหมดเป็น RGB8 หรือ RGBA8) รองรับพื้นผิวที่เป็นจุดลอยตัวเป็นอุปกรณ์เสริม แต่อุปกรณ์ส่วนใหญ่สนับสนุน การสนับสนุนสำหรับการเรนเดอร์ไปยังพื้นผิวจุดลอยตัวนั้นหายากกว่า มีน้อยหากอุปกรณ์มือถือใด ๆ ที่สนับสนุนการเรนเดอร์ไปยังพื้นผิวแบบอิงดัชนี

WebGL2 (เพิ่งจัดส่ง) และ OpenGL ES 3.0 เพิ่มรูปแบบพื้นผิวแบบใหม่มากมายรวมถึงพื้นผิวที่เป็นจำนวนเต็มและพื้นผิว 3 มิติ มันลบขีด จำกัด พื้นผิวที่ไม่ใช่พลังงานของ 2 มันเพิ่มการแปลงความคิดเห็น (ความสามารถในการจุดสุดยอด shader ในการเขียนลงในบัฟเฟอร์) นอกจากนี้ยังเพิ่มข้อความค้นหาการปิดกั้น Vertex Array Objects เป็นอุปกรณ์มาตรฐาน (เป็นทางเลือกใน WebGL / ES 3.0) มีฟีเจอร์ย่อยอื่น ๆ อีกมากมาย

ES 3.1 (และอาจเป็น WebGL เวอร์ชั่นถัดไป) เพิ่มการคำนวณเฉดสี (ความสามารถในการแยกส่วนของส่วนย่อยในการทำการเข้าถึงแบบสุ่ม) แฟรกเมนต์ตัวแบ่งส่วนสามารถเขียนถึงชิ้นส่วน / พิกเซลที่ถูกร้องขอในขณะนี้ในขณะที่คำนวณเฉดสีและเขียนได้ทุกที่ที่ต้องการ

คุณต้องการใช้คุณสมบัติอื่นใดอีก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.