EnglishFrenchSpanish

เรียกใช้เซิร์ฟเวอร์ | Ubuntu > | Fedora > |


ไอคอน Fav ของ OnWorks

whitedune - ออนไลน์ในคลาวด์

เรียกใช้ whitedune ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง whitedune ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


whitedune - เครื่องมือแก้ไขและแอนิเมชั่น vrml97 แบบกราฟิก

เรื่องย่อ


ไวท์ดูน [ ตัวเลือกตัวแปร ] [ สเตอริโอวิวออปชั่น ] [ อุปกรณ์อินพุตตัวเลือก [ axisoptions ] [
miscoptions ] [ file.wrl file.x3dv file.xml ... ]

ไวท์ดูน [ ตัวเลือกการแปลง ] ชื่อไฟล์

ไวท์ดูน -illegal2vrml [ -คำนำหน้า อุปสรรค ] profile.wrl file.wrl ...

DESCRIPTION


ไวท์ดูน / white_whitedune เป็นโปรแกรมแก้ไขกราฟิกสำหรับ Virtual Reality Modeling
ภาษา (VRML97), ISO/IEC 14772-1: 1997
นอกจากนี้ยังรองรับ NurbsSurface Node ที่อธิบายไว้ใน VRML97 Amendment 1
white_whitedune ยังสามารถโหลดและจัดเก็บไฟล์ X3DV ที่เข้ารหัส VRML ได้อีกด้วย
นอกจากนี้ยังสามารถโหลดไฟล์ X3D ด้วยการเข้ารหัส XML หากกำหนดค่าให้ใช้ commandline
โปรแกรมแปล vrml97/x3d
ชื่อไฟล์ของ - หมายถึงอินพุตมาตรฐาน
Dune มีการสนับสนุนขั้นพื้นฐานสำหรับมุมมองสามมิติซึ่งมักจะใช้กับกระจกชัตเตอร์ใน OpenGL
โหมด "ควอดบัฟเฟอร์"
เมื่อใช้กับตัวเลือกการแปลงหรือ -illegal2vrml อาร์กิวเมนต์ commandline
white_whitedune เป็นโปรแกรม commandline ที่ไม่ใช่แบบกราฟิก
ตัวเลือกการแปลงใช้เพื่อแปลงไฟล์ VRML/X3DV เป็นซอร์สโค้ดหรือ 3D . อื่นๆ
รูปแบบกราฟิก ตัวเลือกนี้ใช้ใน commandline แต่บางตัวเลือกต้องใช้ a
บริบทกราฟิก (เช่น ในกรณีที่ง่ายที่สุด การใช้งานภายใน a xterm คำสั่ง) ทำให้บางส่วนของ
ตัวเลือกการแปลงต้องใช้คำสั่ง OpenGL ในการสร้างบริบท OpenGL
มี 3 วิธีที่แตกต่างกัน
ขั้นแรก เปิดหน้าต่างกราฟิกชั่วคราว ทำการแปลง และปิดหน้าต่างกราฟิกและ
ทางออก ปัจจุบันนี้ใช้ภายใต้ M$Windows
ประการที่สองคือการใช้การแสดงผลนอกหน้าจอของ Mesa (โปรแกรมถูกคอมไพล์ด้วย --with-
osmesa กำหนดค่าตัวเลือก) ด้วยการแสดงผลนอกหน้าจอของ Mesa คุณสามารถใช้ OpenGL
คำสั่งในโปรแกรม commandline ล้วนๆ
ประการที่สามคือการใช้การเรนเดอร์หน้าจอตาม glx ภายใต้ Linux/UNIX/MacOSX ในกรณีนี้ ไม่
โปรแกรมไม่เปิดหน้าต่างกราฟิก แต่ต้องใช้จอแสดงผล X11 ที่ใช้งานได้ บน
คอนโซลข้อความ Xvfb โปรแกรมเซิร์ฟเวอร์ X11 สามารถใช้เพื่อแสดง X11 ที่ใช้งานได้
พื้นที่ปลูก -illegal2vrml ตัวเลือกใช้เพื่อซ่อมแซมไฟล์ VRML97 ที่มีนามสกุลที่ผิดกฎหมาย
ดู ผิดกฎหมาย2vrml(1) manpage สำหรับข้อมูลเพิ่มเติม

ตัวแปร


-4เด็ก เริ่ม whitedune ด้วย GUI แบบง่ายเป็นแบบจำลอง 3 มิติอย่างง่ายสำหรับเด็ก

-x3dv หากไม่มีไฟล์ใดโหลด ให้เริ่ม whitedune ด้วยไฟล์ X3DV ใหม่
ตามค่าเริ่มต้น whitedune จะเริ่มต้นด้วยไฟล์ VRML97 ใหม่

-คัมบิ เริ่ม whitedune ด้วยการสนับสนุนสำหรับโหนดส่วนขยายที่ไม่สามารถพกพาได้ซึ่งใช้งานได้กับ .เท่านั้น
เครื่องเกม kambi VRML

- ครอบคลุม เริ่ม whitedune ด้วยการสนับสนุนสำหรับโหนดส่วนขยายที่ไม่สามารถพกพาได้ซึ่งใช้งานได้กับ .เท่านั้น
ครอบคลุมผู้ชม VRML97 พิเศษ immersive / covise

-4catt เริ่ม whitedune ด้วย GUI แบบง่ายในฐานะผู้ส่งออก/ผู้แปลงสำหรับผู้ใช้CAT
8 ซอฟต์แวร์จำลองเสียง

-bw ใช้ไอคอนขาวดำแทนไอคอนสี

ภาษาเยอรมัน
ใช้เมนูภาษาเยอรมัน กล่องโต้ตอบ และข้อความแสดงข้อผิดพลาด

อิตาเลียน
ใช้เมนูและกล่องโต้ตอบของอิตาลี ข้อความแสดงข้อผิดพลาดยังคงเป็นภาษาอังกฤษ

อังกฤษ
ใช้เมนูภาษาอังกฤษ กล่องโต้ตอบ และข้อความแสดงข้อผิดพลาด เป็นค่าเริ่มต้น สามารถใช้เพื่อ
เขียนทับการตั้งค่าของตัวแปรสภาพแวดล้อม LANG

ตัวเลือกการแปลง


-vrml97
แปลงไฟล์เป็น VRML97 ISO/IEC 14772-1: 1997 เขียนลงในเอาต์พุตมาตรฐานและออก

-vrml97levelx3dv
แปลงไฟล์เป็น VRML97 ISO/IEC 14772-1: 1997 ส่วนที่ใช้งานร่วมกันได้ของ X3D classic VRML
เข้ารหัส ISO/IEC ISO/IEC 19776-2:2005 เขียนลงในเอาต์พุตมาตรฐานและออก

-x3d แปลงไฟล์เป็น XML ที่เข้ารหัส X3D เขียนลงในเอาต์พุตมาตรฐานและออก

-kanim รูปแบบชื่อไฟล์
แปลงไฟล์เป็นรูปแบบไฟล์ kanim และเขียนลงในเอาต์พุตมาตรฐาน
รูปแบบไฟล์ kanim เป็นไฟล์ XML ที่มีการอ้างอิงถึงไฟล์ VRML ต่างๆ NS
ไฟล์ VRML ก็ถูกสร้างขึ้นเช่นกัน ชื่อของมันถูกสร้างขึ้นตาม รูปแบบชื่อไฟล์:
filenamepattern ย่อมาจาก fileextension แล้วขยายด้วย a
ขีดเส้นใต้ จำนวนที่เพิ่มขึ้น และนามสกุล .wrl
ไฟล์ VRML ทั้งหมดอธิบายฉาก VRML เดียวกันกับโหนดเดียวกัน แต่มีตัวเลขบางส่วน
ฟิลด์เป็นภาพเคลื่อนไหว
ไฟล์ประเภทนี้ถูกใช้โดยเกมเอ็นจิ้น Kambi ที่ใช้ VRML แบบโอเพ่นซอร์ส มันทำ
ไม่มีเหตุผลที่จะส่งออกไฟล์ kanim หากไฟล์ VRML ที่ส่งออกไม่มี
แอนิเมชั่นที่ใช้ไทม์เซนเซอร์/อินเตอร์โพเลเตอร์

-ดินแดนมหัศจรรย์ โมดูลไดเรกทอรี
แปลงไฟล์เป็นไฟล์ต้นฉบับ java ที่รวมอยู่ในโครงสร้างไดเร็กทอรีที่จำเป็น
สร้างโมดูล SUN Wonderland เวอร์ชัน 0.5 และออก
หากไดเร็กทอรีรากของโมดูลถูกสร้างจากอินพุต ชื่อไฟล์ (โดยไม่ต้อง
นามสกุล) as โมดูลไดเรกทอรี/exportX3dv/ชื่อไฟล์
หากไม่มีไดเร็กทอรีนี้และไฟล์ที่จำเป็นอื่นๆ ไฟล์นี้ก็จะเป็น
สร้าง. หากมีไฟล์อื่นอยู่ ไฟล์เหล่านั้นจะไม่ถูกเขียนทับ เฉพาะไฟล์เป้าหมาย java
แหล่งที่มาเองถูกเขียนทับ ชื่อของไฟล์ต้นทาง java เป้าหมายคือ
โมดูลไดเรกทอรี/exportX3dv/ชื่อไฟล์/src/classes/org/jdesktop/wonderland/modules/ชื่อไฟล์/client/jme/cellrenderer/ชื่อไฟล์.java
อักขระตัวแรกของซอร์สไฟล์ Java เป้าหมายคือตัวพิมพ์ใหญ่
เพื่อรับโมดูลดินแดนมหัศจรรย์จาก โมดูลไดเรกทอรี/exportX3dv/ชื่อไฟล์ ไดเรกทอรี
มีโอกาสเข้าไปในไดเร็กทอรีนี้และเรียกใช้ มด สั่งการ. ไฟล์ jar ปกติของ the
โมดูล Wonderland นั้นสามารถพบได้ใน โมดูลไดเรกทอรี/exportX3dv/ชื่อไฟล์/dist
ไดเรกทอรี
เมื่อรวบรวมเอาต์พุตของการเอ็กซ์พอร์ตซอร์ส java ของดินแดนมหัศจรรย์ด้วยคำสั่ง
มดคอมไพเลอร์จาวาอาจใช้ทรัพยากรหน่วยความจำไม่เพียงพอ
ในการแก้ไขปัญหา คุณสามารถตั้งค่าขีดจำกัดหน่วยความจำโดยขยายแท็ก javac ในส่วน
file Wonderland/build-tools/build-scripts/build-setup.xml เช่น
<javac ...
...
ส้อม = "จริง"
หน่วยความจำเริ่มต้นขนาด="256m"
memorymaximumsize="1024m"
>
ปัจจุบันนี้ -ดินแดนมหัศจรรย์ ตัวเลือกรองรับเฉพาะเอาต์พุตตัวสร้างแบบจำลอง 3 มิติแบบคงที่โดยไม่ต้อง
แอนิเมชั่นหรือปฏิสัมพันธ์
ฟีเจอร์เหล่านี้อยู่ในระหว่างดำเนินการและยังต้องดำเนินการให้เสร็จสิ้น
ตัวเลือกนี้ใช้คำสั่ง OpenGL

-x3d4wonderland
แปลงไฟล์เป็น XML ที่เข้ารหัส X3D เพื่อนำเข้าใน SUN Wonderland 0.4 เขียนไปที่
เอาต์พุตมาตรฐานและทางออก
SUN wonderland 0.4 รองรับเฉพาะ IndexedFaceSets ที่มี colorPerVertex และขนาดเต็ม
โหนดสี ผู้ส่งออกรายนี้พยายามแปลงโหนดอื่นเป็น IndexedFaceSets นี้
แต่สามารถ (ปัจจุบัน) แปลงโหนดไม่ถูกต้องด้วย colorPerVertex false และ
โหนดสีขนาดเต็ม
ตัวเลือกนี้ใช้คำสั่ง OpenGL

-ac3d แปลงไฟล์เป็นรูปแบบ AC3D (เวอร์ชัน AC3Db) เขียนลงในเอาต์พุตมาตรฐานและ
ทางออก ตัวเลือกนี้ใช้คำสั่ง OpenGL
รูปแบบไฟล์ AC3D เป็นรูปแบบไฟล์อินพุต/เอาต์พุตของตัวสร้างแบบจำลอง 3 มิติ ac3d
ตัวสร้างโมเดล ac3d 3d ไม่สนับสนุนคุณลักษณะหลายอย่างของ VRML/X3D (เช่น ac3d 3d
โมเดลเลอร์ไม่รองรับแอนิเมชั่นหรือการโต้ตอบ) ดังนั้นรูปแบบไฟล์ AC3D
ไม่สามารถเก็บข้อมูลทั้งหมดของไฟล์ VRML/X3D โดยทั่วไปได้

-catt8geo outputdir_with_material_geo
แปลงไฟล์เป็นรูปแบบ catt geo (เวอร์ชัน 8) เขียนเป็นไฟล์ .geo หลายรูปแบบ
ไปยังไดเร็กทอรี outputdir_with_material_geo และออก
รูปแบบไฟล์ geo catt เป็นรูปแบบไฟล์เรขาคณิตอินพุตของ catt acustic
โปรแกรมจำลอง
ไฟล์ master.geo ในไดเร็กทอรีนี้ outputdir_with_material_geo จะถือรวม
คำสั่งสำหรับไฟล์ .geo อื่นๆ ที่ผลิตขึ้น
ในไดเร็กทอรี ต้องมีไฟล์ material.geo ที่มีคำสั่ง ABS ที่จำเป็นอยู่
ก่อนการแปลง ชื่อวัสดุสำหรับชื่อ ABS นั้นสร้างจาก DEF
ชื่อของโหนด VRML
หากไม่มีไฟล์ material.geo อยู่ในไฟล์ outputdir_with_material_geo ไดเรกทอรี
white_whitedune ล้มเหลวด้วยข้อความแสดงข้อผิดพลาด
แม้ว่าโปรแกรม catt จะสามารถส่งออกไฟล์ VRML97 ได้ แต่ก็ไม่รองรับหลายไฟล์
คุณสมบัติของ VRML/X3D
ดังนั้นรูปแบบไฟล์ catt geo จึงไม่สามารถเก็บข้อมูลของไฟล์ VRML/X3D ได้
โดยทั่วไปแล้ว
ตัวเลือกนี้ใช้คำสั่ง OpenGL

-ldraw แปลงไฟล์เป็นส่วนสำคัญของรูปแบบไฟล์ ldraw และเขียนเป็นมาตรฐาน
เอาท์พุต
ไม่สร้างส่วนหัวของไฟล์ ldraw ส่วนหัวเป็นส่วนสำคัญของa
ldraw และควรเขียนลงในเอาต์พุตมาตรฐานก่อนหน้านี้ (โดยทั่วไปคือ
เสร็จจากแบตช์สคริปต์)
รูปแบบไฟล์ ldraw เป็นรูปแบบไฟล์ ASCII ซึ่งใช้ในการแลกเปลี่ยนข้อมูล 3 มิติ
ระหว่างโปรแกรมคำอธิบายอิฐพลาสติกโอเพ่นซอร์สหลายโปรแกรม ตัวอย่างสำหรับเช่น
โปรแกรมคือ LeoCAD

-คำนำหน้า อุปสรรค
พื้นที่ปลูก -คำนำหน้า ตัวเลือกร่วมกับการแปลงจะใช้สำหรับสิ่งต่อไปนี้เท่านั้น
ตัวเลือกในการสร้างซอร์สโค้ด สามารถใช้เพื่อกำหนดคำนำหน้าสำหรับ
ชื่อของโครงสร้างข้อมูลในเอาต์พุตซอร์สโค้ด
ตัวอย่างเช่น ซอร์สโค้ดสร้างประเภทข้อมูลชื่อ "Node", "Scenegraph" และ
"โทรกลับ". เพื่อหลีกเลี่ยงปัญหากับไลบรารีอื่น ๆ เพิ่มตัวเลือกเช่นตัวอย่าง
"-คำนำหน้า X3d" จะเปลี่ยนชื่อเป็น "X3dNode", "X3dSceneGraph" และ
"X3dCallback"

-c แปลงไฟล์เป็นไฟล์ส่วนหัว/ต้นทาง C เขียนลงในเอาต์พุตมาตรฐานและออก
ขณะนี้ ข้อมูลเกี่ยวกับเส้นทางจะไม่ถูกส่งออก
ดูที่ส่วน C/C++/JAVA แหล่งที่มา ส่งออก สำหรับข้อมูลเพิ่มเติม

+c อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -c ตัวเลือก แต่เขียนไฟล์ต้นทางที่ไม่สมบูรณ์
ซึ่งสามารถต่อเข้ากับไฟล์ต้นฉบับที่เขียนโดย -c ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-3C ตัวเลือกนี้คล้ายกับ -c ตัวเลือก แต่พื้นผิวมีรูปสามเหลี่ยมก่อนและ
จากนั้นส่งออกเป็นโหนด TriangleSet
ตัวเลือกนี้ใช้คำสั่ง OpenGL

+ 3C อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -3C ตัวเลือก แต่เขียนไฟล์ต้นทางที่ไม่สมบูรณ์
ซึ่งสามารถต่อเข้ากับไฟล์ต้นฉบับที่เขียนโดย -3C ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-meshc ตัวเลือกนี้คล้ายกับ -c ตัวเลือก แต่พื้นผิวจะถูกแปลงเป็น a . ก่อน
รูปหลายเหลี่ยมเมชแล้วส่งออกเป็นโหนด IndexedFaceSet

+ตาข่าย อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -meshc ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -meshc ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-c++ แปลงไฟล์เป็นไฟล์ส่วนหัว/ซอร์ส C++ เขียนลงในเอาต์พุตมาตรฐานและออก
ขณะนี้ ข้อมูลเกี่ยวกับเส้นทางจะไม่ถูกส่งออก
ดูที่ส่วน C/C++/JAVA แหล่งที่มา ส่งออก สำหรับข้อมูลเพิ่มเติม

+c++ อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -c++ ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -c++ ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-3c++ ตัวเลือกนี้คล้ายกับ -c++ ตัวเลือก แต่พื้นผิวมีรูปสามเหลี่ยมก่อนและ
จากนั้นส่งออกเป็นโหนด TriangleSet
ตัวเลือกนี้ใช้คำสั่ง OpenGL

+3c++ อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -3c++ ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -3c++ ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-meshc++
ตัวเลือกนี้คล้ายกับ -c++ ตัวเลือก แต่พื้นผิวจะถูกแปลงเป็น a . ก่อน
รูปหลายเหลี่ยมเมชแล้วส่งออกเป็นโหนด IndexedFaceSet

+ตาข่าย++ อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -meshc++ ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -meshc++ ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-java แปลงไฟล์เป็นไฟล์ต้นฉบับ java เขียนลงในเอาต์พุตมาตรฐานและออก
ขณะนี้ ข้อมูลเกี่ยวกับเส้นทางจะไม่ถูกส่งออก
ดูที่ส่วน C/C++/JAVA แหล่งที่มา ส่งออก สำหรับข้อมูลเพิ่มเติม

+java อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -java ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -java ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-3java ตัวเลือกนี้คล้ายกับ -java ตัวเลือก แต่พื้นผิวมีรูปสามเหลี่ยมก่อนและ
จากนั้นส่งออกเป็นโหนด TriangleSet
ตัวเลือกนี้ใช้คำสั่ง OpenGL

+3java อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -3java ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -3java ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-meshjava
ตัวเลือกนี้คล้ายกับ -java ตัวเลือก แต่พื้นผิวจะถูกแปลงเป็น a . ก่อน
รูปหลายเหลี่ยมเมชแล้วส่งออกเป็นโหนด IndexedFaceSet

+เมชชวา อุปสรรค
ตัวเลือกนี้คล้ายกับ .มาก -meshjava ตัวเลือกแต่เขียนแหล่งที่ไม่สมบูรณ์
ไฟล์ซึ่งสามารถต่อกับซอร์สไฟล์ที่เขียนโดย -meshjava ตัวเลือก
ชื่อของประเภทข้อมูลที่กำหนดไว้ใหม่ในไฟล์ต้นฉบับเริ่มต้นด้วย อุปสรรค
ข้อโต้แย้ง.

-หลายคลาส
ใช้ได้หลังจาก . เท่านั้น -java, -3java, -meshjava or -ดินแดนมหัศจรรย์ ตัวเลือก
ตัวเลือกนี้เป็นความพยายามที่จะต่อสู้กับ "ค่าคงที่ที่มากเกินไป"
ปัญหาในจาวา อาจเป็นไปไม่ได้ที่จะคอมไพล์เอาต์พุตของจาวาพื้นฐาน
การส่งออกซอร์สโค้ดทำให้รูปแบบปัจจุบันของไฟล์คลาส java ถูกจำกัดที่ 64K
ที่เรียกว่า "ค่าคงที่" ไม่เพียงแค่นับค่าคงที่จริงเช่น 1, 2 หรือ 3 แต่ยังนับรวมด้วย
สิ่งต่าง ๆ เช่นนิยามตัวแปรสมาชิกในคลาส ฯลฯ
กับ -หลายคลาส ตัวเลือก ข้อมูลทั้งหมดถูกกระจายไปยังคลาสที่แยกจากกันจำนวนมาก
พื้นที่ปลูก -หลายคลาส ตัวเลือกน่าจะช่วยได้ หากคุณพบ "ค่าคงที่มากเกินไป"
ปัญหา. ในกรณีที่มีคำสั่ง DEF จำนวนมากในไฟล์ vrml/x3dv คุณสามารถ
ยังคงประสบปัญหา "ค่าคงที่มากเกินไป" ทำให้แต่ละคำสั่ง DEF นำไปสู่ความพิเศษ
ตัวแปรสมาชิกในคลาสฉากหลัก ในกรณีนี้คุณควรลดค่า
จำนวนคำสั่ง DEF พร้อมจุดเมนู การปฏิบัติ ... ส่วนที่เหลือ of ฉากกราฟ สาขา ...
เอาออก ... DEF ชื่อ
นอกเหนือจากความต้องการเพิ่มขีด จำกัด หน่วยความจำของ javac คอมไพเลอร์ (-Xms/-Xmx)
ตัวเลือกคุณอาจต้องเพิ่ม ขนาดดัด ขีดจำกัดของหน่วยความจำ
(-XX:PermSize=/-XX:MaxPermSize=) ของ ชวา ล่าม.

STEREOVIEWOPTIONS


-nostereo
บังคับโหมดที่ไม่ใช่ stereoview บน Linux/UNIX (เช่น หากคุณไม่ได้เป็นเจ้าของ shutterglases)

-ระบบเสียงสเตอริโอ
บังคับโหมดสเตอริโอวิว
รองรับสเตอริโอสำหรับการผสมผสานระหว่างฮาร์ดแวร์/ซอฟต์แวร์ ที่อนุญาต quadbuffer
สเตอริโอ ("สเตอริโอในหน้าต่าง") ไม่ใช่สเตอริโอแบบแยกหน้าจอ (เช่น "OpenGlVR")
ตัวอย่างการรวมฮาร์ดแวร์/ซอฟต์แวร์ที่รองรับสเตอริโอควอดบัฟเฟอร์ ได้แก่
การ์ดจอที่รองรับกระจกชัตเตอร์หรือ "สเตอริโอ cloneview" เพื่อเชื่อมต่อ
Beamers ของ onewall

-anaglyph ประเภทแว่นตา
บังคับโหมดเอ็กซ์เพอร์เมนเชียลสเตอริโอวิวสำหรับใช้กับแว่นตาอนากลิฟสี
ประเภทแว่นตา สามารถเป็น red_green, green_red, red_blue หรือ blue_red
ตัวเลือกนี้ใช้บัฟเฟอร์การสะสม OpenGL นี่ไม่ใช่ฮาร์ดแวร์ที่รองรับโดย
การ์ดกราฟิก/ไดรเวอร์กราฟิกจำนวนมากและอาจส่งผลให้ประสิทธิภาพการทำงานแย่ลง

-eyedist เครื่องวัดสายตา
ระยะห่างระหว่างดวงตาทั้งสองของผู้ชม
ค่าเริ่มต้น เครื่องวัดสายตา คือ 0.06 สามารถเปลี่ยนตาได้ (ไม่จำเป็นต้อง
กำหนดค่าฮาร์ดแวร์ของคุณใหม่หากเกิดปัญหาการสลับสายตา)

-screendist screendistinmeter
ระยะห่างระหว่างดวงตาของผู้ชมกับกึ่งกลางของจอภาพ
ค่าเริ่มต้น screendistinmeter คือ 0.8

-fieldofview fieldofviewindegree
เขียนทับฟิลด์มุมมองในมุมมอง VRML และตั้งค่าเป็น fieldofviewindegree ใน
ระดับ.
การดูภาพสเตอริโอที่ดีอาจต้องการละเว้นฟิลด์ของมุมมอง fieldOfView NS
fieldOfView ของสายตามนุษย์อยู่ที่ประมาณ 18 องศา ค่าเริ่มต้นของ VRML คือ 45 องศา

ตัวเลือกอุปกรณ์อินพุต


ตัวเลือกต่อไปนี้ใช้ได้เฉพาะในกรณีที่ whitedune ถูกคอมไพล์ด้วย inputdevice ที่ตรงกัน
รองรับไดรเวอร์ (เช่น ไม่รองรับลินุกซ์จอยสติ๊กภายใต้ IRIX)

- จอยสติ๊ก จอยสติ๊กอุปกรณ์
ใช้ได้เฉพาะใน Linux หรือ M$Windows
ภายใต้ลินุกซ์ จอยสติ๊กอุปกรณ์ เป็นอุปกรณ์ของจอยสติ๊กลินุกซ์
ชอบ /dev/input/js0 หรือ /dev/js0)
ภายใต้ M$Windows, the จอยสติ๊กอุปกรณ์ เป็นตัวเลข ขึ้นอยู่กับ M$Windows
เวอร์ชัน ตัวเลขนี้คือ 0, 1 หรือตัวเลขตั้งแต่ 0 ถึง 15

-SDLจอยสติ๊ก จอยสติ๊กอุปกรณ์
ปัจจุบันใช้ได้เฉพาะใน MacOSX NS จอยสติ๊กอุปกรณ์ เป็นตัวเลข (เช่น 0, 1, 2,
...)

-สเปซบอล อุปกรณ์บอลอวกาศ
อุปกรณ์บอลอวกาศ เป็นอุปกรณ์อนุกรมที่เชื่อมต่อกับสเปซบอล
เช่น /dev/ttyd2 หรือ /dev/ttyS0)
ใช้ได้เฉพาะเมื่อมีการคอมไพล์ไบนารีด้วยการสนับสนุน libsball

-nxtdials usbdevice
ตัวเลือกนี้รองรับแป้นหมุน เช่น อุปกรณ์อินพุตที่ทำจากมอเตอร์ Mindstorms nxt แค่
ติดล้อหรือเฟืองเข้ากับมอเตอร์ 3 ตัว ต่อเข้ากับอิฐแล้วต่อ
อิฐไปยังคอมพิวเตอร์ผ่าน USB
ตัวเลือกนี้ใช้ได้เฉพาะในกรณีที่ white_whitedune ถูกคอมไพล์ด้วยการสนับสนุนของ
ไลบรารี libusb เช่น มีให้ใน Linux
usbdevice คือจำนวนก้อนความคิด nxt ที่เชื่อมต่อผ่าน USB (0 สำหรับ
อิฐ nxt แรก 1 สำหรับอิฐ nxt ที่สอง ฯลฯ)
พื้นที่ปลูก -nxtdials ตัวเลือกตั้งค่าแกนล้อโดยอัตโนมัติ

-xinput xinputname
xinputname เป็นชื่ออุปกรณ์ที่รองรับโดย Xinput Protocol (โดยปกติคือบางอย่าง
เช่น แมกเจลแลนหรือไดอัลบ็อกซ์)
ใช้ได้กับการใช้งาน Unix/X11 ส่วนใหญ่

-xinputlist
พิมพ์รายชื่ออุปกรณ์ Xinput ที่สามารถใช้เป็น xinputname สำหรับ
-xinput ตัวเลือกและทางออก
ใช้ได้กับการใช้งาน Unix/X11 ส่วนใหญ่

-xinputlistlong
พิมพ์รายชื่ออุปกรณ์ Xinput พร้อมข้อมูลแกนและออก
ใช้ได้กับการใช้งาน Unix/X11 ส่วนใหญ่

-ฝูง อุปกรณ์ฝูง [ ฝูงสัตว์ ] -ตัวติดตาม birdaddr - ไม้กายสิทธิ์ birdaddr
อุปกรณ์ฝูง เป็นอุปกรณ์อนุกรมที่เชื่อมต่อกับ Ascension Flock of Birds master
ตัวส่งสัญญาณ (โดยทั่วไปแล้วจะคล้ายกับ /dev/ttyd2 หรือ /dev/ttyS0)
Dune ถือว่าการกำหนดค่าต่อไปนี้:
FOB หลายตัวพร้อมอินเทอร์เฟซ RS232 เดียวกับโฮสต์คอมพิวเตอร์ (ดู "ฝูงของ
นก คู่มือการติดตั้งและการใช้งาน แบบสแตนด์อโลนและหลายรายการ
การกำหนดค่าเครื่องส่งสัญญาณ/เซ็นเซอร์หลายตัว", หน้า 3 (บท "บทนำ"),
รูปที่ 2).
birdaddr คือที่อยู่ของหน่วยนกของตัวติดตามหัวแม่เหล็ก (-ตัวติดตาม) หรือ
"เมาส์ 3 มิติ" (- ไม้กายสิทธิ์) ใน Fast Bird Bus (ที่อยู่ FBB) ตามที่กำหนดด้วย
dipswitches บนหน่วยนก
โปรแกรมนี้ต้องมีการกำหนดค่าฝูงนกในโหมดที่อยู่ปกติ
เท่านั้น (ดูหน้า 12 รูปที่ 4 ของคู่มือที่อธิบายไว้ข้างต้น)

- ระบบนำทาง
ใช้ transformmode ปัจจุบัน (รวมถึงการหมุน) เมื่อใช้ headtracker
ค่าเริ่มต้นที่ไม่มี -headnavigation ใช้เฉพาะโหมดการแปล ค่าเริ่มต้นนี้
ให้ปฏิกิริยาที่เป็นธรรมชาติมากแก่คุณ เมื่อคุณเคลื่อนไหว โลกเสมือนจริงจะเคลื่อนไหว
แต่ถ้าหัวของคุณหมุนไป โลกเสมือนจริงก็จะหยุดนิ่ง กับ
ตัวเลือก headnavigation โลกเสมือนจริงตอบสนองต่อการหมุนหัวขึ้นอยู่กับ
โหมดการแปลงกระแส โปรดใช้ความระมัดระวังเมื่อคุณใช้คุณสมบัตินี้ขณะพูดคุยกับ
ผู้ชม. การพูดทำให้หัวหมุนเล็กและเร็วและจะทำให้เล็กและเร็ว
การหมุนของโลกเสมือนจริง ผู้ชมของคุณอาจได้รับความประทับใจเหมือนใน
แผ่นดินไหวและเสี่ยงต่อการเมารถมากขึ้น

-ส่งเสมอ
บอก whitedune ว่าอุปกรณ์ส่งค่า (เกือบ) เสมอ ค่านี้จะแล้ว
ไม่ถูกตีความโดยอัตโนมัติเป็นคำสั่งแปลง
ใช้โดยอัตโนมัติสำหรับอุปกรณ์ Ascension Flock of Birds (-aflock)

-ไม่ดูแลโฟกัส
การดำเนินการของอุปกรณ์ป้อนข้อมูลไม่สนใจเกี่ยวกับโฟกัสของหน้าต่าง
สิ่งนี้มีประโยชน์ในสถานการณ์ เมื่อคุณทำงานกับหน้าต่าง whitedune เพียงหน้าต่างเดียว
เช่นเมื่อใช้ onewall

AXISOPTIONS


-x|-y|-z|-xrot|-yrot|-zrot=[-][integer_axisnumber]
[,[ปัจจัย][,[เร่ง][,[วงล้อ][,ละเว้น]]]]

-all|-allxyz|-allrot=[factor][,[accel][,[wheel][,ignore]]]

-ไม่มี=integer_axisnumber

-axes=max_number_axes

AXISLEGEND


- ใช้เพื่อสลับเครื่องหมายของค่าจากแกน

integer_axisnumber
จำนวนเต็มกับจำนวนของแกน ที่ควรใช้สำหรับ xyz xrot yrot
ทิศทาง zrot
ตัวเลขนี้ต้องไม่เกินจำนวนแกนของอุปกรณ์อินพุต
integer_axisnumber ในตัวเลือก none ใช้เพื่อปิดใช้งานแกนนี้

ปัจจัย ลอยตัวด้วยตัวคูณสำหรับแกน
ปัจจัยของตัวเลือกทั้งหมด allrot และ allxyz เป็นอิสระจากปัจจัยของ
แกนเดียว

Accel ลอยด้วยเครื่องเร่งเอ็กซ์โพเทนเชียลสำหรับแกน

ล้อ สตริง "วงล้อ" หมายความว่าแกนนี้ของอุปกรณ์อินพุตจะไม่ส่งศูนย์ if
การเผยแพร่

ไม่สนใจ ลอยตัวด้วยค่า (เทียบกับค่าสูงสุดจากตัวเครื่อง) ซึ่งจะเป็น
ถูกละเลย (ความไม่รู้สึก)

max_number_axes
จำนวนแกนที่ใช้แล้วหนึ่งใน (2,3,4,5)
ต้องเท่ากับหรือน้อยกว่าแกนที่มีอยู่จริงของอุปกรณ์ การใช้งานหลัก
ของตัวเลือกนี้คือปิดการใช้งานแกนที่ออกแบบมาไม่ดีหรือข้อบกพร่องทางกลเช่นเมื่อคุณ
หวังว่าแกนนี้บนจอยสติ๊กจะไม่มีอยู่จริง

AFLOCKOPTIONS


ตัวเลือกนี้ใช้ได้เฉพาะกับระบบติดตามนกแบบแม่เหล็กขึ้นฝูงนกเท่านั้น

-baud baudrate
Baudrate ของสายอนุกรมที่สื่อสารกับเครื่องส่ง
ตามคู่มือฝูงนก baudrates ต่อไปนี้ใช้ได้สำหรับซีเรียล
การสื่อสารทางสาย: 2400, 4800, 9600, 19200, 38400, 57600 และ 115200
ค่าเริ่มต้น: 38400

-numbirds จำนวนนก
จำนวนนก "ส่งข้อมูล" ที่แนบมากับเครื่องส่ง (เช่น ไม่นับ
ตัวส่งสัญญาณเอง ถ้าเป็น Extended Range Controller (ERC))
ค่าเริ่มต้น: 2 (ตัวติดตามและไม้กายสิทธิ์)

ปริญญาโท birdaddr
ที่อยู่ของเครื่องส่งสัญญาณหลักใน Fast Bird Bus (ที่อยู่ FBB) ตามที่กำหนดไว้
ด้วยดิปสวิตช์บนหน่วยส่งสัญญาณ
ค่าเริ่มต้น: 1

-masterIsErc
ใช้เพื่อแตกต่างกันระหว่างการกำหนดค่า โดยที่ต้นแบบคือ ERC (Extended Range
ผู้ควบคุม) หรือไม่ หากต้นแบบไม่ใช่ ERC ที่อยู่ FBB จะเหมือนกับ
ที่อยู่ FBB ของตัวติดตามหรือไม้กายสิทธิ์
ค่าเริ่มต้น: ไม่ได้ตั้งค่า

- ซีกโลก FRONT_HEM|AFT_HEM|UPPER_HEM|LOWER_HEM|LEFT_HEM|RIGHT_HEM
ใช้ซีกโลก นั่งบนบล็อกเสาอากาศ (โดยให้ขาอยู่ใกล้ด้านข้างของ
ข้อความ) เพื่อดูสิ่งที่อยู่ทางซ้ายหรือขวา 8-)
ค่าเริ่มต้น: RIGHT_HEM

-ซิงค์ 0 | 1
ซิงโครไนซ์ (1) หรือไม่ (0) ข้อมูลที่ส่งออกไปยัง CRT (จอภาพ) หรือคอมพิวเตอร์โฮสต์ของคุณ
การซิงโครไนซ์ใช้เพื่อขจัดเอฟเฟกต์แม่เหล็กของจอภาพโดยใช้ CRT
สายซิงค์
ค่าเริ่มต้น: 0

-บล็อก 0 | 1
ตั้งค่า (1) หรือไม่ได้ตั้งค่า (0) แฟล็ก FNDELAY เป็น filedescriptor ของ serial
ท่าเรือ.
ค่าเริ่มต้น: 0

-กรอง AC_NARROW | AC_WIDE | DC_FILTER
เปิดใช้งานตัวกรองต่างๆ อ่านคู่มือฝูงนกสำหรับข้อมูลเพิ่มเติม
ตัวเลือกนี้สามารถทำซ้ำได้เพื่อใช้ตัวกรองหลายตัว
ค่าเริ่มต้น: ไม่ได้ตั้งค่าตัวกรอง ใช้ตัวกรองที่กำหนดโดยการกำหนดค่าอัตโนมัติของ Flock

-suddenchangelock 0 | 1
อนุญาต (0) หรือไม่อนุญาต (1) การตั้งค่าตำแหน่งและการวางแนวที่ยุ่งเหยิงเมื่อa
เกิดข้อความขนาดใหญ่อย่างกะทันหัน
ค่าเริ่มต้น: 1

-calfile ไฟล์สอบเทียบ
ใช้ไฟล์รูปแบบ VR Juggler เพื่อปรับเทียบตำแหน่ง

-ละเว้น รูปสามเหลี่ยม
ละเว้นตำแหน่งกระโดดจากฝูงที่ใหญ่กว่าเดลต้า นี่เหมือนมาก
ล็อกกะทันหัน แต่ใช้ซอฟต์แวร์ล้วนๆ
ค่าเริ่มต้น: 0

ความผิดพลาด


-เทสเซลเลชั่น จำนวนเต็ม
ตั้งค่า tessellation เริ่มต้นของ NURBS และรูปร่างพารามิเตอร์ตาม superformula เป็น
จำนวนเต็ม.
ความหมายของ tessellation กำหนดจำนวนขอบที่สร้างขึ้นในทิศทางเดียว
เทสเซลเลชันเริ่มต้นที่ต่ำส่งผลให้เกิดการเรนเดอร์รูปร่างที่เกี่ยวข้องเร็วขึ้นด้วย
tessellation ตั้งค่าเป็น 0 ภายในแอปพลิเคชัน white_whitedune แต่สามารถให้
มุมมองลดลง ดังนั้นรายละเอียดของรูปร่างอาจถูกซ่อนไว้
ถ้าไม่ -เทสเซลเลชั่น ใช้ตัวเลือก เทสเซลเลชันเริ่มต้นคือ 32

-ทางอ้อม
บังคับการเรนเดอร์ OpenGL ทางอ้อม แม้ว่าการเร่งการเรนเดอร์ฮาร์ดแวร์ 3D จะเป็น
มีอยู่. ในกรณีที่สามารถเร่งการเรนเดอร์ฮาร์ดแวร์ 3 มิติ ตัวเลือกนี้สามารถ
ทำให้โปรแกรมช้าลงอย่างมาก
ตัวเลือกนี้มีประโยชน์มากที่สุดในเครื่องที่มีไดรเวอร์กราฟิกที่มีปัญหาหรือ
คุณสมบัติเดสก์ท็อป halfbaken 3D เช่น compiz

-ถอนการติดตั้ง
ข้อมูลเอาท์พุต (ถ้ามี) บน commandline วิธี white_whitedune
สามารถถอนการติดตั้งและออกจากแอปพลิเคชันได้
ภายใต้ Micro$oft Windows จะล้างข้อมูลทั้งหมดที่ตั้งค่าโดย
white_whitedune (ภายใต้ HKEY_CURRENT_USER) ในรีจิสทรีของ Windows

-psn_???
ใช้ได้เฉพาะใน MacOSX
ตัวเลือกที่ขึ้นต้นด้วยสตริง "-psn_" นั้นสร้างโดยเดสก์ท็อป Aqua ภายใต้ on
MacOSX บางรุ่นและจะถูกละเว้นอย่างเงียบ ๆ

-fn ตัวอักษร
ใช้ได้เฉพาะใน Linux/UNIX/MacOSX
ตั้งค่าฟอนต์ยูนิกซ์ ตรวจสอบแบบอักษรที่ถูกต้องด้วย xlsfonts(1) คำสั่ง

-สาธิต การหยุดพักชั่วคราว
ตัวเลือกนี้มีไว้สำหรับเรียกใช้โปรแกรมเป็นตัวจับสายตา เช่น ในงาน
ตัวเลือกนี้จะมีประโยชน์ก็ต่อเมื่อแอนิเมชั่นของมุมมองทำงานอยู่ ในกรณีที่ป้อนข้อมูล
จากเมาส์ (คลิกเมาส์) แป้นพิมพ์หรืออุปกรณ์อินพุต 3 มิติ ภาพเคลื่อนไหวจะหยุด
ผู้ใช้สามารถนำทางผ่านโลก 3 มิติ
การหยุดพักชั่วคราว วินาทีหลังจากป้อนข้อมูลล่าสุด ภาพเคลื่อนไหวของมุมมองจะไม่ถูกระงับ
อีกต่อไป

-filedialogdir ไดเรกทอรี
เปลี่ยนเป็นเฉพาะ ไดเรกทอรี ก่อนเปิด filedialog

-proto หมวดหมู่ โปรไฟล์
เพิ่ม VRML PROTO ในไฟล์ โปรไฟล์ ไปยังรายการของ PROTO ที่มีอยู่ใน
สร้าง => เมนูโปรโตใน หมวดหมู่ เมนูย่อยและออก

-renderslower
ตัวเลือกนี้ใช้โหมดการเรนเดอร์ที่ช้าลง

--รุ่น
พิมพ์ข้อมูลเวอร์ชันและออก

--copyrightdetails
พิมพ์ข้อมูลลิขสิทธิ์โดยละเอียดและออก

เมาส์/คีย์


ในมุมมอง 3 มิติ whitedune รองรับคำสั่งเมาส์ / แป้นพิมพ์ต่อไปนี้:

ปุ่มเมาส์ 1 คลิก:
เลือกอ็อบเจ็กต์/3D handlers (เช่น ลูกศรหรือกล่องสีขาว) ใต้เคอร์เซอร์ (หรือ under
ด้านบนของเคอร์เซอร์ 3 มิติในมุมมองสเตอริโอ)

ปุ่มเมาส์ 2 คลิก:
นอกจากนี้ เลือกตัวจัดการ 3D กล่องสีขาวใต้เคอร์เซอร์ (หรือใต้ด้านบนของ 3D
เคอร์เซอร์ในสเตอริโอวิว)

ปุ่มเมาส์ 1 ลาก:
ลากวัตถุ / ตัวจัดการ 3D ไปรอบๆ

CTRL-ปุ่มเมาส์ 1 ลาก:
การนำทางแทร็กบอลเสมือนจริง

SHIFT-ปุ่มเมาส์ 1 ลาก:
การนำทางไปข้างหน้า/ถอยหลัง

CTRL+SHIFT-ปุ่มเมาส์ 1 ลาก:
ขึ้น/ลง/ซ้าย/นำทางขวา

ปุ่ม ALT-Mouse 1 ลาก: (สไตล์ SGI)
การนำทางแทร็กบอลเสมือนจริง

ปุ่ม ALT-Mouse 2 ลาก: (สไตล์ SGI)
ขึ้น/ลง/ซ้าย/นำทางขวา

ปุ่ม ALT-Mouse 1+2 ลาก: (สไตล์ SGI)
การนำทางไปข้างหน้า/ถอยหลัง

ไอคอนการนำทางถูกกด - ปุ่มเมาส์ 1 ลาก:
การนำทางแทร็กบอลเสมือนจริง

ไอคอนการนำทางถูกกด - ปุ่มเมาส์ 2 ลาก:
การนำทางไปข้างหน้า/ถอยหลัง

ไอคอนการนำทาง-ปุ่มเมาส์ 1+2 ลาก:
ขึ้น/ลง/ซ้าย/นำทางขวา

ในมุมมองเส้นทาง whitedune รองรับคำสั่งเมาส์ / แป้นพิมพ์ต่อไปนี้:

ปุ่มเมาส์ 1 คลิกเพื่อซ็อกเก็ตเหตุการณ์ของโหนดแล้วลากไปยังเหตุการณ์ที่ตรงกัน
เบ้า:
สร้างการเชื่อมต่อ ROUTE

ปุ่มเมาส์ 1 คลิกเพื่อไม่มีอะไรแล้วลาก:
ตัดการเชื่อมต่อ ROUTE

ปุ่มเมาส์ 1 คลิกไปที่โหนดแล้วลาก:
ย้ายโหนดในมุมมองเส้นทาง

ปุ่มเมาส์ 1 คลิกไปที่โหนด กด Mouse Button1 ค้างไว้ กดปุ่ม Page Up/Down
ย้ายโหนดในมุมมองเส้นทางทีละหน้า (ใช้ได้กับ motif/lesstif . ที่ถูกต้องเท่านั้น
การใช้งาน)

ข้อมูลเกี่ยวกับการใช้งานแป้นพิมพ์อื่นๆ สามารถพบได้ในแถบเครื่องมือ

เคล็ดลับการใช้ whitedune สามารถพบได้ในไดเร็กทอรีเอกสารของ whitedune
(http://129.69.35.12/whitedune/docs/)

C/C++/JAVA แหล่งที่มา ส่งออก


การส่งออกไปยังซอร์สโค้ดเป็นการส่งออกข้อมูล (ตัวเลขและสตริง) ของ
ต้นไม้ฉาก VRML/X3D
White_whitedune ไม่ส่งออกบางอย่างเช่นซอร์ส C ด้วยคำสั่ง OpenGL การส่งออก
โค้ดไม่ขึ้นกับเอ็นจิ้นการเรนเดอร์ใดๆ แต่สามารถใช้กับ 3D API ใดก็ได้
จำเป็นต้องมีโค้ดเพิ่มเติมเพื่อแสดงฉากด้วย 3D API ปัจจุบัน
white_whitedune มาพร้อมกับโค้ดเพิ่มเติมเพียงชุดเดียวสำหรับ Java Monkey Engine
(เจเอ็มอี). รหัสนี้สามารถใช้เป็นแบบจำลองสำหรับเขียนโค้ดสำหรับโปรแกรมสร้างภาพเพิ่มเติม
ข้อมูลของฉากถูกเขียนลงในคลาส/โครงสร้างที่มีชื่อต่อกัน
จากสตริงของ อุปสรรค อาร์กิวเมนต์ (ค่าเริ่มต้น "X3d") และสตริง "SceneGraph" NS
คลาส/โครงสร้างฉากเต็มไปด้วยการอ้างอิงถึงคำสั่ง VRML/X3D ที่แตกต่างกัน
("โหนด") ชื่อของประเภทของโหนดดังกล่าวจะถูกต่อจากสตริงของ
อุปสรรค อาร์กิวเมนต์ (ค่าเริ่มต้น "X3d") และ "โหนด" โหนดแต่ละประเภทมีข้อมูลของ
โหนด VRML/X3D ในตัวแปรที่มีชื่อในลักษณะเดียวกับฟิลด์ VRML/X3D
ตารางต่อไปนี้แสดงการแมปจากประเภทฟิลด์ VRML/X3D ไปยัง C, C++ และ java
ประเภทข้อมูล:

│ │
ประเภทข้อมูล VRML/X3D │ ประเภทข้อมูล C │ ประเภทข้อมูล C++ │ ประเภทข้อมูลจาวา
───────────────────────────────────────────────────── ─────────────────
SFBool │ สั้น │ บูล │ บูลีน
SFInt32 │ int │ int │ int
SFImage │ int* │ int* │ int[]

SFFloat │ ลอย │ ลอย │ ลอย
SFVec2f │ ลอย[2] │ ลอย[2] │ ลอย[2]
SFVec3f │ ลอย[3] │ ลอย[3] │ ลอย[3]
SFVec4f │ ลอย[4] │ ลอย[4] │ ลอย[4]
SFRotation │ ลอย[4] │ ลอย[4] │ ลอย[4]
SFMatrix3f │ ลอย[9] │ ลอย[9] │ ลอย[9]
SFMatrix4f │ ลอย[16] │ ลอย[16] │ ลอย[16]
SFColor │ ลอย[3] │ ลอย[3] │ ลอย[3]
SFColorRGBA │ ลอย[4] │ ลอย[4] │ ลอย[4]
SFDouble │ ดับเบิ้ล │ ดับเบิ้ล │ ดับเบิ้ล
SFVec3d │ สองครั้ง[3] │ สองครั้ง[3] │ สองครั้ง[3]
SFTime │ ดับเบิ้ล │ ดับเบิ้ล │ ดับเบิ้ล
SFString │ อักขระ const* │ อักขระ const* │ สตริง
SFnode (***) │ X3dNode* │ X3dNode* │ X3dNode
│ │
MFBool │ สั้น* │ bool* │ บูลีน[]
MFInt32 │ int* │ int* │ int[]
MFFloat │ ลอย* │ ลอย* │ ลอย[]
MFVec2f │ ลอย* │ ลอย* │ ลอย[]
MFVec3f │ ลอย* │ ลอย* │ ลอย[]
MFVec4f │ ลอย* │ ลอย* │ ลอย[]
MFRotation │ ลอย* │ ลอย* │ ลอย[]
MFMatrix3f │ ลอย* │ ลอย* │ ลอย[]
MFMatrix4f │ ลอย* │ ลอย* │ ลอย[]
MFColor │ ลอย* │ ลอย* │ ลอย[]
MFColorRGBA │ ลอย* │ ลอย* │ ลอย[]
MFDouble │ ดับเบิ้ล* │ ดับเบิ้ล* │ ดับเบิ้ล[]
MFVec3d │ ดับเบิ้ล* │ ดับเบิ้ล* │ ดับเบิ้ล[]
MFTime │ ดับเบิ้ล* │ ดับเบิ้ล* │ ดับเบิ้ล[]
MFString │ const char** │ const char** │ สตริง[]
MFNode (***) │ X3dNode** │ X3dNode** │ X3dNode[]
(***) ส่วน "X3d" ของชื่อเป็นค่าเริ่มต้น แทนที่ด้วยสตริงของ
อุปสรรค ข้อโต้แย้ง.
สำหรับฟิลด์ประเภท MF* ใดๆ (และฟิลด์ประเภท SFImage) จำนวนของค่า int, float ฯลฯ ใน
อาร์เรย์ถูกเก็บไว้ในตัวแปรของโครงสร้าง/คลาส X3dNode ที่ประกอบด้วย "m_" ชื่อ
ของฟิลด์และ "_length" ในกรณีของการส่งออก C/C++ Java ไม่ต้องการตัวแปรดังกล่าว
ทำให้ความยาวของอาร์เรย์อยู่เสมอเช่นเดียวกับองค์ประกอบ .length ของ
แถว

ซีนกราฟเป็นต้นไม้ของโหนด รากของฉากคือ (คล้ายกับ
white_whitedune ภายใน) โหนดกลุ่ม VRML/X3D ชื่อ "รูท"
ในโหนดกลุ่ม โหนดที่มีอยู่จะถูกแนบผ่านฟิลด์ชื่อ "ลูก" ของประเภท
MFNode.
ตัวอย่างเช่น ลองจินตนาการถึงไฟล์ VRML ต่อไปนี้:

#VRML V2.0 utf8

กลุ่ม
{
เด็ก ๆ
[
กลุ่ม
{
}
กลุ่ม
{
}
DEF NAME_OF_FOGNODE หมอก
{
สี 1 0.50000000 1
}
]
}

ถ้าไม่ อุปสรรค ใช้อาร์กิวเมนต์ โหนดแรกในไฟล์ VRML/X3D จะแสดงแทนใน
ซอร์ส C ที่ส่งออกเป็น "root->children[0]" ในโครงสร้าง "X3dSceneGraph"
หากโหนดแรกในไฟล์ VRML/X3D เป็นโหนดกลุ่มและมีโหนดอื่นอีกสามโหนด
โหนดที่สามนี้แสดงแทนเป็น "root->children[0]->children[2]" ใน
โครงสร้าง "X3dSceneGraph"
หากโหนดที่สามเป็นโหนด Fog ฟิลด์ "สี" ของโหนด Fog จะแสดงแทน
ในซอร์ส C ที่ส่งออกเป็น "root->children[0]->children[2]->color" ใน "X3dSceneGraph"
โครงสร้าง
ประเภทของฟิลด์ "สี" ของโหนด Fog คือ SFColor แสดงประเภท SFColor
เป็นอาร์เรย์ค่าทศนิยม 3 ค่าในแหล่ง C ที่ใช้เก็บสีแดง สีเขียว และ
ส่วนสีน้ำเงินของสี
ดังนั้นส่วนสีเขียวของสีหมอกจึงถูกแทนด้วยแหล่งกำเนิด C ที่ส่งออกเป็น
"root->children[0]->children[2]->color[1]" ในโครงสร้าง "X3dSceneGraph"
การส่งออก C++ จะใช้ "root->children[0]->children[2]->color[1]" ใน
คลาส "X3dSceneGraph"
การส่งออกจาวาจะใช้ "root.children[0].children[2].color[1]" ใน
คลาส "X3dSceneGraph"

มีวิธีที่สองในการเข้าถึงฟิลด์ของโหนด Fog
ใน VRML/X3D เป็นไปได้ที่จะตั้งชื่อโหนดด้วยคำสั่ง "DEF" สตริงที่อยู่เบื้องหลัง DEF
คำสั่ง ("NAME_OF_FOGNODE" ในตัวอย่าง) ยังเกิดขึ้นใน "X3dSceneGraph"
struct และสามารถใช้โดยตรงเพื่อเข้าถึงข้อมูล VRML/X3D ที่ตรงกัน
ดังนั้นส่วนสีเขียวของสีหมอกจึงถูกแทนด้วยแหล่งกำเนิด C ที่ส่งออกเป็น
"NAME_OF_FOGNODE->color[1]" ในโครงสร้าง "X3dSceneGraph"
การส่งออก C++ จะใช้ "NAME_OF_FOGNODE->color[1]" ในคลาส "X3dSceneGraph" ด้วย
การส่งออกจาวาจะใช้ "NAME_OF_FOGNODE.color[1]" ในคลาส "X3dSceneGraph" ในทำนองเดียวกัน
ปัญหาอาจเกิดขึ้นได้หากสตริงที่อยู่เบื้องหลังคำสั่ง DEF เป็นคีย์เวิร์ดที่สงวนไว้ใน
ภาษาเป้าหมาย. ตัวอย่างเช่น 3D modeller wings3d มักใช้ชื่อ DEF "default"
เมื่อส่งออกไฟล์ VRML97
ในกรณีนี้ ชื่อ DEF จะถูกเปลี่ยนชื่อ (เช่น "default1") และคำเตือนจะเป็น
เขียนถึงข้อผิดพลาดมาตรฐานระหว่างการส่งออก

นอกจากการเข้าถึงข้อมูลโหนดโดยตรงแล้ว ยังมีการเรียกกลับ 2 ชุดเพื่อจัดการกับ
ข้อมูลของฉากทั้งหมด (หรือสาขาของมัน): ชุดของการเรียกกลับเพื่อแสดงเนื้อหา
ของสาขาซีนกราฟ ("*RenderCallback") และชุดการโทรกลับเพิ่มเติมสำหรับ other
งาน ("*DoWithDataCallback")
นอกจากนี้ยังมีการเรียกกลับเพื่อแทนที่ฟังก์ชัน ซึ่งตามค่าเริ่มต้นทั้งหมดจะข้ามผ่าน
Scenegraph ("*TreeRenderCallback" และ "*TreeDoWithDataCallback")
กลไกการเรียกกลับและการเริ่มต้น Scenegraph แตกต่างจากภาษาโปรแกรม
สู่การเขียนโปรแกรมภาษา

C:
ซีนกราฟ (อาร์กิวเมนต์เริ่มต้น "X3d" สำหรับคำนำหน้า) สามารถประกาศได้ด้วย
โครงสร้าง X3dSceneGraph ฉากกราฟ;
และเริ่มต้นด้วย
X3dSceneGraphInit(&sceneGraph);
ฟังก์ชันเรียกกลับสำหรับโหนด X3D ประเภทใดก็ได้ (เช่น Fog, Text, IndexedFaceSet เป็นต้น) มี
การประกาศ
เป็นโมฆะ mycallbackFunction (X3dNode * ตัวเอง เป็นโมฆะ * ข้อมูล)
ในการเข้าถึงฟิลด์ของโหนด X3D คุณมักจะส่งตัวชี้ X3dNode ไปยังตัวชี้ไปที่
type build จากสตริงของ อุปสรรค อาร์กิวเมนต์ (ค่าเริ่มต้น "X3d") และชื่อของ
ประเภทโหนด X3D ที่คุณเข้าถึงด้วยการโทรกลับนี้ (เช่น X3dFog, X3dText, X3dIndexedFaceSet
และอื่น ๆ )
X3dFog *node = (X3dFog *) ตัวเอง;
X3dText *node = (X3dText *) ตัวเอง;
X3dIndexedFaceSet * โหนด = (X3dIndexedFaceSet *) ตัวเอง;
เป็นต้น
ด้วยตัวแปร "โหนด" นี้ ฟิลด์ต่างๆ ที่โหนด X3D สามารถเข้าถึงได้
ในการติดตั้งการเรียกกลับ เพียงแค่กำหนดตัวชี้ฟังก์ชันให้กับ "callbackFunction" ให้กับ a
สร้างตัวแปรจากสตริงของ อุปสรรค อาร์กิวเมนต์ (ค่าเริ่มต้น "X3d") ชื่อของ
โหนด X3D และสตริง "RenderCallback" หรือ "DoWithDataCallback" เช่น
X3dFogRenderCallback = ฟังก์ชัน mycallback;
X3dTextDoWithDataCallback = mycallbackFunction;
X3dIndexedFaceSetRenderCallback = mycallbackFunction;
หากต้องการเรียกใช้ฟังก์ชัน Render หรือ DoWithData ด้วยแผนผังฉาก เพียงใช้
X3dGroupTreeDoWithData (&sceneGraph.root, NULL);
แทนที่จะใช้ NULL ข้อมูลอื่นสามารถส่งผ่านไปยังอาร์กิวเมนต์ "data" ของ callback . ได้
ฟังก์ชั่น

C ++:
กลไกการโทรกลับคล้ายกับกลไก C มาก
ความแตกต่างที่สำคัญคือการจัดเก็บฟังก์ชันการโทรกลับ ในขณะที่ฟังก์ชันเรียกกลับ
ใน C ถูกเก็บไว้ในพื้นที่ส่วนกลาง C ++ callbackfunctions จะถูกเก็บไว้ในส่วนที่คงที่
ของประเภทโหนดที่ตรงกัน
แทนที่จะใช้
X3dFogRenderCallback = ฟังก์ชัน mycallback; // ค
โปรแกรม C ++ จะใช้
หุ่นจำลอง X3dFog;
dummy.renderCallback = &mycallbackFunction; // C++
ใน C ++ ไม่จำเป็นต้องเรียกใช้ฟังก์ชันการเริ่มต้น คอนสตรัคเตอร์ถูกเรียกเมื่อ

X3dSceneGraph ฉากกราฟ;
ใช้การประกาศ
เมื่อต้องการเรียกใช้ฟังก์ชัน Render หรือ DoWithData ด้วยแผนผังฉาก
"sceneGraph.render (NULL);" หรือ "sceneGraph.doWithData(NULL);" ถูกนำมาใช้.
NULL สามารถแทนที่ด้วยข้อมูลอื่น ๆ ที่จะถูกส่งไปยังอาร์กิวเมนต์ "data" ของ
ฟังก์ชั่นโทรกลับ

จาวา:
กลไกการเรียกกลับของ java นั้นแตกต่างกันเล็กน้อย โดยขึ้นอยู่กับการสืบทอด
ฟังก์ชันเรียกกลับเป็นส่วนหนึ่งของคลาส ที่ขยายคลาสที่ตรงกัน:
คลาส MyCallbackClass ขยาย X3dFogRenderCallback {
การแสดงโมฆะสาธารณะ (โหนด X3dNode) {
คลาสใหม่ถูกใช้ในตัวอย่างต่อไปนี้:
MyCallbackClass myCallback = MyCallbackClass ใหม่ ();
X3dSceneGraph sceneGraph = ใหม่ X3dSceneGraph ();
X3dText.setX3dTextRenderCallback(myCallback);
sceneGraph.render();

ด้วยการ -หลายคลาส ตัวเลือก บรรทัดสุดท้ายเปลี่ยนเป็น "X3dSceneGraph.render();" NS
การเข้าถึงโหนดด้วยคำสั่ง DEF ในไฟล์ x3dv/vrml จะเปลี่ยนเป็น static . ด้วย
ตัวแปรในลักษณะเดียวกัน
ดูไดเร็กทอรี docs/export_example_c, docs/export_example_c++ และ
docs/export_example_java ของไฟล์เก็บถาวรต้นทางสำหรับตัวอย่าง

ตัวอย่าง


whitedune -nostereo
เริ่มต้น whitedune ด้วยวิธีนี้ หากคุณมีภาพที่รองรับสเตอริโอ แต่ไม่มีกระจกชัตเตอร์
หรือเทคโนโลยีชัตเตอร์เบสอื่นๆ

whitedune -xinput magellan -allxyz=10,100,,0.0000002 -xinput dialbox-1 -x=0 -y=2 -z=4
-xrot=1 -yrot=3 -zrot=5 -all=1000,,wheel
เริ่ม whitedune ด้วย magellan xinputdevice ที่มีแฟคเตอร์ 10, ความเร่ง 100 และ
ค่าละเว้น 0.0000002 บนแกน xyz และอุปกรณ์ dialbox ด้วย
แกน x = 0 แกน
แกน y = 2. แกน
แกน z = 4. แกน
หมุนรอบแกน x = 1. axis
หมุนรอบแกน y = 3. axis
หมุนรอบแกน y = 5. axis
แกนทั้งหมดใช้ปัจจัย 1000 และทั้งหมดจะไม่ส่งเป็นศูนย์หากปล่อยออก

whitedune -จอยสติ๊ก /dev/input/js0 -z=,3 -axes=3
เริ่ม whitedune ด้วยจอยสติ๊ก linux ตั้งค่าการเร่งความเร็วของแกน z เป็น 3 และ
ปิดใช้งานแกน 4. (5., 6., ...)

whitedune -xinput magellan -z=3 -xrot=2 -none=2
เริ่ม whitedune ด้วยอุปกรณ์ xinput/magellan สลับแกนหมายเลข 2 และแกน
หมายเลข 3 กับแกนหมายเลข 2 ปิดการใช้งาน

whitedune -nxtdials
เริ่ม whitedune ด้วยอุปกรณ์ usb ของ mindstorms nxt แกนทั้งหมดจะได้รับการจัดการโดยอัตโนมัติ
เป็นล้อ

whitedune -aflock /dev/ttyS1 -numbirds 2 -master 1 -wand 2 -tracker 3
เริ่มต้น whitedune ด้วย Ascension Flock of Birds เครื่องส่งสัญญาณหลัก ( Extended
Range Controller (ERC)) ที่ FBB ที่อยู่ 1 เชื่อมต่อกับอุปกรณ์ซีเรียล
/dev/ttyS1 ใช้ 2 Birds ตัวหนึ่งต่อกับอุปกรณ์ "3D Mouse" ที่ FBB adress 2 และ
หนึ่งติดอยู่กับอุปกรณ์ติดตามศีรษะที่ที่อยู่ FBB 3

whitedune -ดินแดนมหัศจรรย์ดินแดนมหัศจรรย์/โมดูล -หลายคลาส Test.x3dv
ส่งออกเนื้อหาของ Test.x3dv เป็นซอร์ส java สำหรับ Wonderland 0.5 ไปยังไดเร็กทอรี
ดินแดนมหัศจรรย์/โมดูล/exportX3dv/test.js
เพื่อคอมไพล์ซอร์สจาวาไปยังโมดูลดินแดนมหัศจรรย์
Wonderland/modules/exportX3dv/test/dist/test.jar เปลี่ยนไดเร็กทอรีเป็น
Wonderland/modules/exportX3dv/test และใช้ ant.js

ใช้ whitedune ออนไลน์โดยใช้บริการ onworks.net


Ad


Ad