Vrui VR Toolkit
Translations
The task of a virtual reality (VR) development toolkit is to shield an application developer from the particular configuration of a VR environment, such that applications can be developed quickly and in a portable and scalable fashion. Three important parts of this overarching goal are encapsulation of the display environment, encapsulation of the distribution environment, and encapsulation of the input device environment. In more detail, these three partial goals are:
Display abstraction
A toolkit should provide OpenGL rendering contexts that are set up in such a fashion that rendering a model in user-specific coordinates will display that model on all rendering surfaces (monitors, screens, head-mounted displays) in correct head-tracked stereographic mode.
Distribution abstraction
As larger VR environments require more than one computer to operate, the detail aspects of distribution (number of computers, connection topology, etc.) should be hidden by the toolkit. In principle, there are at least three ways to distribute a rendering environment: "split first," where an application is replicated on all computers and synchronized by distributing input device and ancillary data; "split middle," where a shared data structure, e.g., a scene graph, is used to transmit data from one application computer to all rendering computers; and "split last," where the OpenGL API call stream is broadcast from one application computer to all rendering computers, e.g., using Chromium. A toolkit should also hide the difference between a distributed rendering environment running on a cluster of individual computers, and one running on a shared-memory multi-CPU computer with several independent graphics pipes.
Input abstraction
There are a wide variety of different vendors, models and protocols to connect VR input devices such as space balls, space mice, 6-DOF trackers, wands, data gloves, etc., to the computers comprising a VR environment. A toolkit must hide these differences in hardware, and provide a uniform view of the set of connected input devices. Furthermore, a toolkit should provide mechanisms not only to hide the hardware details of the input device environment, but also the number and configuration of input devices. An application should be written without aiming for a particular input environment (such as "CAVE wand and head tracker" or "stylus, two pinch gloves, and head tracker"). Instead, the toolkit should provide a layer that allows an application to specify its input requirements at a higher level, and allows a user to map input devices to these requirements.
Most existing VR toolkits cover the first aspect well; some VR toolkits cover the second aspect by using any one of the listed distribution schemes, but no toolkit we found covers the third aspect. Although all toolkits have some kind of built-in input device driver to hide hardware details, none provide a higher-level semantic interface that allows to write an application once, and run it in VR environments with widely differing input environments. This implies that no toolkits provide an adequate way to run desktop applications using a regular mouse and keyboard; although many of them have simulators, these are merely awkward low-level debugging tools and are not useful for running and actually using a VR application on a desktop.
The Vrui VR toolkit aims to support fully scalable and portable applications that run on a range of VR environments starting from a laptop with a touchpad, over desktop environments with special input devices such as space balls, to full-blown immersive VR environments ranging from a single-screen workbench to a multi-screen tiled display wall or CAVE. Applications using the Vrui VR toolkit are written without a particular input environment in mind, and Vrui-enabled VR environments are configured to map the available input devices to application functions such that the application appears to be written natively for the environment it runs on. For example, a Vrui application running on the desktop should be as usable and intuitive as a 3D application written specifically for the desktop.
Results (
Thai) 3:
[Copy]Copied!
vrui VR เครื่องมือแปล
งานเสมือนจริง ( VR ) เครื่องมือพัฒนาเพื่อป้องกันการพัฒนาจากการตั้งค่าเฉพาะของสภาพแวดล้อมนั้น เช่น โปรแกรมสามารถพัฒนาได้อย่างรวดเร็วและในแฟชั่นแบบพกพาและยืดหยุ่น . สามส่วนที่สำคัญของเป้าหมายที่ครอบคลุมมีการแสดงผลสิ่งแวดล้อมการกระจายของสภาพแวดล้อม และการใส่อุปกรณ์ของสภาพแวดล้อม รายละเอียดเพิ่มเติม สามเหล่านี้บางส่วนเป้าหมาย :
แสดงนามธรรมเครื่องมือควรให้ OpenGL แสดงบริบทที่มีการตั้งค่าดังกล่าวในแฟชั่นที่แสดงผลแบบในพิกัดเฉพาะผู้ใช้จะแสดงรูปแบบการแสดงผลที่ทุกพื้นผิว ( จอ , หน้าจอหัวติดแสดง ) ในหัวที่ถูกต้องติดตามโหมดสเตริโอกราฟิกนามธรรม
.
จำหน่ายเป็นสภาพแวดล้อมที่ VR ขนาดใหญ่ต้องมากกว่าหนึ่งเครื่องคอมพิวเตอร์เพื่อใช้งาน , รายละเอียดด้านการกระจายของจำนวนของคอมพิวเตอร์ที่เชื่อมต่อเครือข่ายแบบ ฯลฯ ) ควรถูกซ่อนโดยเครื่องมือ . ในหลักการ มีอย่างน้อยสามวิธีที่จะกระจายการแสดงสภาพแวดล้อม : " แยกแรก" ซึ่งเป็นโปรแกรมจำลองบนคอมพิวเตอร์ทั้งหมด และระบำใต้น้ำ โดยการกระจายอุปกรณ์ป้อนข้อมูลและข้อมูลเสริม ; " แยกกลาง ที่ใช้ร่วมกันข้อมูลเชิงโครงสร้าง เช่น ฉากกราฟที่ใช้ในการส่งข้อมูลจากคอมพิวเตอร์ทั้งหมดแสดงผลคอมพิวเตอร์ ; และ " แยกสุดท้าย " ที่เรียกกระแสออกอากาศ API OpenGL จากการใช้คอมพิวเตอร์เพื่อแสดงผล คอมพิวเตอร์ เช่นใช้โครเมียม เครื่องมือควรซ่อนความแตกต่างระหว่างการกระจายการแสดงสภาพแวดล้อมที่ทำงานบนคลัสเตอร์ของเครื่องคอมพิวเตอร์ส่วนบุคคลและหนึ่งทำงานบนซีพียูคอมพิวเตอร์ที่มีหน่วยความจำที่ใช้ร่วมกันหลายแบบหลายท่อกราฟิกนามธรรม
ใส่มีความหลากหลายของผู้ขายที่แตกต่างกัน , รูปแบบและโปรโตคอลการเชื่อมต่อ VR อุปกรณ์ป้อนข้อมูลเช่นลูกบอล , พื้นที่หนูอวกาศ ,6-dof Trackers , ไม้เท้า , ข้อมูลถุงมือ ฯลฯ ไปยังคอมพิวเตอร์ ประกอบด้วย ระบบ VR . เครื่องมือต้องซ่อนความแตกต่างเหล่านี้ในฮาร์ดแวร์ และให้มุมมองที่ชุดของการตั้งค่าของอุปกรณ์เชื่อมต่อข้อมูล นอกจากนี้ ควรมีกลไกเครื่องมือที่ไม่เพียง แต่จะซ่อนอุปกรณ์ รายละเอียดของอุปกรณ์ป้อนข้อมูล สภาพแวดล้อม แต่ยังหมายเลขและการกำหนดค่าของอุปกรณ์ป้อนข้อมูลโปรแกรมประยุกต์ที่ควรจะเขียนโดยไม่มีสภาพแวดล้อมที่ใส่โดยเฉพาะ ( เช่น " ไม้กายสิทธิ์ถ้ำและติดตาม " หรือ " หัวสไตลัส , สองหนีบถุงมือ และติดตาม " หัว ) แทน , Toolkit ให้เลเยอร์ที่ช่วยให้โปรแกรมประยุกต์เพื่อระบุความต้องการข้อมูลในระดับที่สูงขึ้น และช่วยให้ผู้ใช้แผนที่อุปกรณ์รับข้อมูลความต้องการเหล่านี้ .
ส่วนใหญ่ที่มีอยู่นั้นครอบคลุมลักษณะแรกดี toolkits toolkits VR ปก บางด้านที่สอง โดยใช้หนึ่ง แสดงการกระจายแผนการ แต่ไม่มีเครื่องมือที่เราพบครอบคลุมด้าน 3 ถึงแม้ว่าจะมีบางชนิดของในตัวใส่ชุดเครื่องมือควบคุมอุปกรณ์เพื่อซ่อนรายละเอียดฮาร์ดแวร์ไม่มีความหมายให้สูงอินเตอร์เฟซที่ช่วยให้การเขียนโปรแกรมครั้งเดียวและทำงานได้ในสภาพแวดล้อมที่แตกต่างกันอย่างกว้างขวาง VR กับสภาพแวดล้อมการป้อนข้อมูล แสดงว่าไม่มีชุดเครื่องมือให้วิธีที่เพียงพอที่จะเรียกใช้โปรแกรมเดสก์ทอปที่ใช้เมาส์และแป้นพิมพ์ปกติ แม้ว่าหลายของพวกเขาได้จำลอง เหล่านี้เป็นเพียงเครื่องมือในการแก้จุดบกพร่องและอึดอัดไม่ได้มีประโยชน์สำหรับวิ่งแล้วใช้ VR โปรแกรมบนเดสก์ทอป .
Being translated, please wait..
