| X3D — กราฟิก 3 มิติที่ขยายได้ | |
|---|---|
| นามสกุลไฟล์ |
|
| ประเภทสื่ออินเทอร์เน็ต |
|
| การเปิดตัวครั้งแรก | 1997 (1997) |
| การเปิดตัวครั้งล่าสุด | 4.0 2023 (2023) |
| ประเภทของรูปแบบ | กราฟิกคอมพิวเตอร์สามมิติ |
| ขยายจาก | วีอาร์เอ็มแอล , XML , Gzip |
| มาตรฐาน | มอก . 19775/19776/19777 |
| เว็บไซต์ | www.web3d.org/x3d/what-x3d/ |
X3D ( Extensible 3D ) คือชุดมาตรฐาน ISO/IEC ที่ปลอดค่าลิขสิทธิ์ สำหรับการแสดงกราฟิกคอมพิวเตอร์สามมิติ X3D ประกอบด้วยรูปแบบไฟล์กราฟิกหลายรูป แบบ คำจำกัดความ API ของภาษาโปรแกรม และข้อกำหนดรันไทม์สำหรับทั้งการส่งมอบและการผสานรวมข้อมูล 3 มิติแบบโต้ตอบที่รองรับเครือข่าย X3D เวอร์ชัน 4.0 ได้รับการอนุมัติจากWeb3D Consortiumและอยู่ระหว่างการตรวจสอบขั้นสุดท้ายโดย ISO/IEC ในฐานะมาตรฐานสากล (IS) ฉบับปรับปรุง
X3D ได้รับการออกแบบมาโดยเฉพาะเพื่อให้ทำงานได้กับอุปกรณ์หลากหลายประเภทโดยใช้สถาปัตยกรรมเว็บ X3D มอบฟังก์ชันการทำงาน 3 มิติที่หลากหลายผ่านโปรไฟล์ ตั้งแต่ Interchange และ CADInterchange สินทรัพย์พื้นฐาน ไปจนถึง Interactive, MPEG-4 Interactive, Medical, Immersive และ Full Profiles นอกจากนี้ยังมีการสนับสนุนด้านกายวิภาคอย่างละเอียดสำหรับโครงสร้างและการเคลื่อนไหวของร่างกายแบบ Humanoid Animation (HAnim) เครื่องหมาย "X" ใน X3D หมายถึง Extensible: สามารถเพิ่มส่วนขยายของผู้จำหน่ายและส่วนประกอบการวิจัยแบบกำหนดเองลงในฟังก์ชันมาตรฐานได้
รูปแบบไฟล์ X3D รองรับXML , ClassicVRML, Compressed Binary Encoding (CBE) และ การเข้ารหัสJSONแบบร่าง การรองรับ Semantic Webยังได้พิสูจน์ให้เห็นแล้วด้วย การเข้ารหัส Turtle X3D กลายเป็นผู้สืบทอดของVirtual Reality Modeling Language (VRML) ในปี พ.ศ. 2544 X3D มีส่วนขยาย มากมาย สำหรับ VRML (เช่นCAD , geospatial , humanoid animation , NURBSเป็นต้น) ความสามารถในการเข้ารหัสฉากโดยใช้ไวยากรณ์ XML รวมถึง ไวยากรณ์ VRML97 ที่คล้ายกับ Open Inventorหรือ การบีบอัด ไบนารี พร้อมด้วย APIที่มีการกำหนดชนิดอย่างเข้มงวดเช่นECMAScript , Java , Pythonและภาษาโปรแกรมอื่นๆ
การเรนเดอร์ X3D ประกอบด้วย วิธี การเรนเดอร์ แบบคลาสสิก (เช่นBlinn-Phong ) และแบบสมัยใหม่ที่อิงตามฟิสิกส์ (PBR) ซึ่งตรงกับ ความสามารถของglTF 2.0 นอกจากนี้ยังมีการกำหนดการใช้ เชเดอร์ แบบกำหนดเอง โดยใช้ภาษาเชเดอร์เฉพาะแพลตฟอร์มสามภาษา ผู้เขียนสามารถใช้ความสามารถด้านมัลติมีเดียที่หลากหลาย รวมถึงรูปแบบภาพและภาพยนตร์ที่หลากหลาย การเรนเดอร์เสียงแบบ Spatialized เต็มรูปแบบใช้ความสามารถของ W3C Web Audio APIรวมถึงอินพุตเสียงที่แปลงเป็นดิจิทัลโดยใช้MIDI 2.0 หรือรูปแบบเสียงอื่นๆ
การเข้ารหัสไฟล์ X3D และ API ภาษาโปรแกรมทั้งหมดมีพลังการแสดงออกที่เท่าเทียมกัน โดยสอดคล้องกับนิยามฟังก์ชันในมาตรฐานสถาปัตยกรรม X3D ดังนั้น X3D จึงสามารถทำงานร่วมกับมาตรฐานเปิดต่างๆ ได้ เช่นXML , Document Object Model (DOM) , XPathและอื่นๆ
ตัวอย่าง
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D สาธารณะ "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd">
<X3D profile= "Interchange" version= "4.0" xmlns:xsd= "http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation= "http://www.web3d.org/specifications/x3d-4.0.xsd" > <Scene> <Shape DEF= "MyTriangle" > <IndexedFaceSet coordIndex= "0 1 2" > <Coordinate point= "0 0 0 1 0 0 0.5 1 0" /> </IndexedFaceSet> </Shape> </Scene> </X3D>
การแสดง VRML จะเหมือนกับVRML § Exampleยกเว้นว่าหมายเลขเวอร์ชันจะถูกเปลี่ยนเพื่อให้สอดคล้องกับมาตรฐาน X3D ล่าสุด ( #X3D V4.0 utf8) ชื่อ DEF ที่ใช้ระบุยังใช้เป็นตัวระบุโหนด (id) อีกด้วย
สำหรับรูปแบบ JSON และไบนารี โปรดดูรายการเครื่องมือใน Web3D
แอปพลิเคชัน
มีแอปพลิเคชันหลายตัว ซึ่งส่วนใหญ่เป็นซอฟต์แวร์โอเพนซอร์สซึ่งแยกวิเคราะห์และตีความไฟล์ X3D โดยตรง รวมถึงโปรแกรมแก้ไขกราฟิกและแอนิเมชัน 3 มิติBlender และไคลเอนต์โลกเสมือนProject Wonderland ของ Sun Microsystems แอปเพล็ต X3D เป็นโปรแกรมซอฟต์แวร์ที่ทำงานภายในเว็บเบราว์เซอร์และแสดงเนื้อหาเป็น 3 มิติ โดยใช้เทคโนโลยีกราฟิก 3 มิติ OpenGL เพื่อแสดงเนื้อหา X3D ในเบราว์เซอร์ต่างๆ (IE, Safari, Firefox) บนระบบปฏิบัติการต่างๆ (Windows, Mac OS X, Linux) อย่างไรก็ตาม X3D ยังไม่ได้รับการยอมรับอย่างกว้างขวางเท่ากับแอปพลิเคชันซอฟต์แวร์อื่นๆ ที่มีชื่อเสียงมากกว่า
ในช่วงปี 2000 บริษัทหลายแห่ง เช่น Bitmanagement ได้ปรับปรุงระดับคุณภาพของเอฟเฟกต์เสมือนใน X3D ให้เทียบเท่ากับDirectX 9.0c แต่ต้องแลกมาด้วยการใช้โซลูชันที่เป็นกรรมสิทธิ์ ฟีเจอร์หลักทั้งหมด รวมถึงการสร้างแบบจำลองเกม ล้วนเสร็จสมบูรณ์แล้ว ซึ่งรวมถึง การเรนเดอร์แบบหลายรอบพร้อมการตั้งค่าระดับต่ำสำหรับ Z-buffer, BlendOp, AlphaOp, Stencil, Multi-texture, Shader ที่รองรับ HLSL และGLSL , การเรนเดอร์ไปยังพื้นผิวแบบเรียลไทม์, Multi Render Target (MRT) และการประมวลผลภายหลังการสาธิตจำนวนมากแสดงให้เห็นว่า X3D รองรับLightmap , Normal Mapping , SSAO , CSM และการสะท้อนสภาพแวดล้อมแบบเรียลไทม์ รวมถึงเอฟเฟกต์เสมือนอื่นๆ แล้ว
X3DOM
X3D มุ่งมั่นที่จะเป็นมาตรฐาน 3 มิติสำหรับเว็บ โดยได้รับการออกแบบให้ผสานรวมเข้ากับ หน้า HTML5 ได้ เช่นเดียวกับมาตรฐาน XML อื่นๆ เช่นMathMLและSVG X3DOM คือแบบจำลองไวยากรณ์ที่ถูกเสนอและการใช้งานเป็นไลบรารีสคริปต์ซึ่งแสดงให้เห็นว่าสามารถผสานรวมนี้ได้อย่างไรโดยไม่ต้องใช้ปลั๊กอินเบราว์เซอร์ โดยใช้เพียงWebGLและ JavaScript เท่านั้น
การสร้างมาตรฐาน
X3D กำหนดโปรไฟล์ (ชุดส่วนประกอบ) หลายแบบสำหรับระดับความสามารถต่างๆ ได้แก่ X3D Core, X3D Interchange, X3D Interactive, X3D CADInterchange, X3D Immersive และ X3D Full ผู้สร้างเบราว์เซอร์สามารถกำหนดส่วนขยายส่วนประกอบของตนเองได้ก่อนที่จะส่งให้Web3D Consortium จัดทำมาตรฐาน จาก นั้น ISO / IECจะดำเนินการตรวจสอบและอนุมัติอย่างเป็นทางการ
นอกจากนี้ยังมีข้อตกลงการประสานงานและความร่วมมือระหว่างWeb3D ConsortiumและWorld Wide Web Consortium (W3C), Open Geospatial Consortium (OGC), Digital Imaging and Communications in Medicine (DICOM) และKhronos Groupอีก ด้วย
XMT-A ซึ่งเป็น XMT-A เวอร์ชันย่อยของX3Dนิยามไว้ในMPEG-4 ตอนที่ 11ออกแบบมาเพื่อเชื่อมโยง X3D กับเนื้อหา 3D ใน MPEG-4 (BIFS)
ข้อกำหนดนามธรรมสำหรับ X3D (ISO/IEC 19775) ได้รับการอนุมัติจาก ISO เป็นครั้งแรกในปี 2004 การเข้ารหัส XML และ ClassicVRML สำหรับ X3D (ISO/IEC 19776) ได้รับการอนุมัติเป็นครั้งแรกในปี 2005
ทางเลือก
- WebGL : JavaScript API สำหรับการเรนเดอร์กราฟิก 3 มิติแบบโต้ตอบและกราฟิก 2 มิติภายในเว็บเบราว์เซอร์ที่เข้ากันได้ ซึ่งจัดการโดย Khronos Group
- glTF : รูปแบบไฟล์มาตรฐานสำหรับฉากสามมิติและโมเดลที่จัดการโดย Khronos Group
- COLLADA : รูปแบบไฟล์การแลกเปลี่ยนสำหรับแอปพลิเคชัน 3 มิติแบบโต้ตอบ จัดการโดย Khronos Group
- O3D : พัฒนาโดย Google
- U3D : Ecma มาตรฐานสากล ECMA-363
- VRML : ต้นแบบของ X3D
- 3MF : รูปแบบที่ใช้ XML ซึ่งรวมถึงข้อมูลการผลิตแบบเติมแต่ง 3 มิติ เช่น คุณสมบัติของวัสดุ
- A-Frame : ภาษาฉากกราฟ 3 มิติแบบประกาศที่ใช้ HTML และกรอบการโต้ตอบที่ใช้กันทั่วไปสำหรับ WebVR
ดูเพิ่มเติม
- Active Worlds virtual realityแพลตฟอร์มแชท 3 มิติแบบหลายผู้ใช้
- รูปแบบไฟล์การผลิตแบบเติมแต่ง
- Blaxxunแพลตฟอร์มแชท 3 มิติแบบหลายผู้ใช้เสมือนจริง
- Fluxโปรแกรมแก้ไข/เบราว์เซอร์ VRML/X3D ที่ดาวน์โหลดได้ฟรี ปัจจุบันไม่มีให้บริการแล้ว
- รายชื่อภาษาการมาร์กอัปกราฟิกเวกเตอร์
- ระบบประมวลผลตาข่ายโอเพ่นซอร์สMeshLab ที่สามารถส่งออก VRML/X3D ได้
- ข้อกำหนดกระดาษ Open XML
- ออซ เวอร์ชวล
- Seamless3dซอฟต์แวร์สร้างแบบจำลอง 3 มิติโอเพ่นซอร์สฟรีสำหรับ Microsoft Windows
- รายชื่อเอนจิ้นเกม
- ทัวร์เสมือนจริง
- ซอฟต์แวร์สภาพแวดล้อมเสมือนจริง
- Web3DและWeb3D Consortium
ลิงค์ภายนอก
- เว็บไซต์อย่างเป็นทางการของ Web3D Consortium
- เว็บไซต์อย่างเป็นทางการของ X3D
- ข้อมูลจำเพาะ X3D: การตรวจสอบ Schema และ DOCTYPE
- X3DOM