X3D FAQ [Turn]

xiaoxiao2021-03-06  124

X3D FAQ

translation

Meng yiqi

Last update march 2004

General overview

What is the difference between X3D? VRML97 and X3D? What is X3D? Can you play VRML97 files in the X3D browser? How do I convert VRML97 files to X3D? Why support X3D? Technical overview

How is the X3D specification organized? What is the change between VRML97 and X3D? What is the profile and component (Component)? The component must be automatically loaded or still need to declare these components? VRML is also Scalable, why X3D extension mechanism provides more scalability than VRML's external prototype? How do I create new components and profiles? Software companies need to support all components, profiles, level (Level)? If each company has created a lot of components, what will be trouble? What is the advantage of componentization? Box, ElevationGrid's nodes removed? X3D is like VRMLLITE? Tools and applications

What tool supports X3D? Do you need to write X3D using the software like Maya / 3DSMAX / AutoCAD /? Is there an open source X3D browser? How to make an application read / write X3D? How to determine if an application really supports X3D? Specifications? Where can I find a tool to convert the VRML97 content to X3D? XML related issues

Why add the XML language (Extensible Markup Language)? There is already an adopted X3D DTD (Document Type Definition - Document Type Definition)? What is the X3D Schema? What is the other XML-related technique? How to mark how to mark Network browser combination? In order to use X3D, what more abbreviations need to be learned? What can you find more XML resources? Development process

Who is developing X3D? Is there an X3D specification? What is the current state of the X3D specification? Is there a code example or execution code? Is the license fee for using X3D? How can I help develop X3D?

General overview

What is X3D?

X3D is an open standard for publishing 3D content. X3D is more than just a program API, or is just a file format used to exchange geometric data. The X3D combines the description of geometric data and runtime behavior into a single file, and this file can use different file formats including XML language (Extensible Markup language). X3D is a new revision of VRML97 ISO specifications, and the revision work combines the latest business graphics hardware features, and is based on the structured improvement of VRML97 development group feedback.

TOP

What is the difference between VRML97 and X3D?

Two standards have different in the whole and detail. The X3D inherited the work of VRML97 and officially added a previous specification for many years informal functional areas. The X3D is more flexible and can be able to expand both the basic requirements. The main changes in X3D include completely rewrite the specifications to three separate specifications to specify abstract concepts, file format coding, programming language access. Other changes include a more accurate illumination and event model that changes to domain names for maintaining consistency. The following is the main change summary:

The capability revision and unified application model of the extension scenario is used to describe the same abstract model modular structure as a plurality of files, including XML, allows different market types to be extended specifications.

X3D Scene Map - The core of the X3D application - almost the same as the VRML97 scene. The VRML97 scenario structure and the original design of the node type are based on the established interactive graphics technology. This design has been used and tested on VRML97 for a long time. By introducing new nodes and data types, the change of X3D scenes is mainly to integrate into business graphics hardware. In addition, smaller changes to certain parts, such as event models and illumination models, and the ability to access the Alpha values ​​of the COLOUR domain will also be provided. The X3D has a unified application interface (Application Programmer Interface - API). This is not the same as the VRML97, and the VRML97 uses an internal script API plus an external API. The unified API of the X3D explains and solves the problems in the VRML97, so a stronger and more reliable implementation will be created. To this end, ECMAScript and Java bindings are defined, where ECMAScript is necessary to establish an application.

The X3D supports multiple file codes, namely VRML97, and new XML language (Extensible Markup language) and compressed binary formats. XML encoding allows smoothing to be used for network service integration, cross-platform application files, and data delivery. Compressed binary coding is now developing, which will support greater data throughput. Each coding has the advantage of different users. All data codes support complete X3D feature sets.

X3D uses modular structures to provide scalability and elasticity. Most application areas do not need all X3D features, nor all platforms support all of the features defined in the specification. The characteristics of the X3D are grouped into components (Component), and component execution can be supported by mixing and matching to make it conform to the needs of specific markets and specific platforms. The X3D also introduces the concept of profile. The Overview is a collection of a component for a common application domain, platform, and usage, such as the geometry exchange targeted settings of the creation tool. Unlike VRML97, the full support of all features in order to ensure the consistency of the implementation, X3D allows different levels of support according to different needs. The X3D component mechanism also allows vendors to implement their own definitions based on a strict rule set, which will help avoid the "confusion" of VRML97 manufacturers in recent years.

The X3D specification has also been re-built, which allows more elastic life cycles to adapt to standard updates. The X3D standard is split into three separate specifications, namely, abstract concepts and structures, file format codes, programming languages. This approach allows specifications to be changed in different timelines and push ISO to adopt specific parts of specifications as needed.

TOP

What is X3D?

The new specifications have been completed, the public can

Draft procedure

. Due to the provisions of the ISO program, the final draft of the specification for review is now not available. however

Member of the Web3D Alliance

You can get the specifications of all phases during the development process. The draft of the publicization can be

www.web3d.org

Site is found, but it should be noted that the X3D specification has been made after this release has been done.

TOP

Can you play VRML97 files in the X3D browser?

It may not be possible. The VRML97 file is not an X3D file. Pure X3D browser will not read the VRML97 file because some grammar changes will result in incompatibility between two files. However, most browsers will support the X3D and VRML97 standards at the same time. Details Please refer to the documentation of the browser used.

TOP

How to convert VRML97 files to X3D?

Some tools can make such a conversion. If the scene is relatively simple, it is not included with a script or external prototype, you can directly edit the text, change the file header (header) and add a new Profile statement. More complex scenarios need to use tools to add application knowledge of X3D specifications (the functions in some ranges have changed, or the formats have been different). Details of the optional way See Tools Section

.

TOP

Why do you want X3D?

Support X3D will get a lot of advantages:

Even if your product uses its own format, if you support X3D, you only need a small pay, you can use more tools to share more content, keep and other programs better compatibility. You can be our own beauty - your own format is compatible with industry standards! "X3D compatibility!" Will benefit in market competition, and will also drive X3D industrialization. The operation mode of commercial and open source is important to X3D development. In this case, when there is a new development in each industry, your app does not need to be developed repeatedly. X3D compatibility is easy to implement, and implementing X3D compatibility does not necessarily require compatibility with all specifications. The Interchange Profile profile is the most simplified profile, which corresponds to basic 3D graphics programming (simple transform, geometry, texture, illumination), is easy to perform. By supporting X3D, your company has helped the entire 3D industry! The goal of X3D is to unify platforms and unified markets to promote growth of the entire industry. The X3D content is modular and reused, saving development time and fees. The X3D is a lever between VRML content, output / input, and software tools. Software that includes VRML output plug-in is close to the requirements of X3D compatibility as soon as 3DS Max. A large number of output plugins are now updated to support X3D. The X3D supports optional XML encoding, and can be closely combined with other network technology, especially in the field of network services. Because X3D uses scalable and modular structures, the browser can only support the desired profile, so companies can establish a concise and effective browser according to their needs. This also allows the browser to support a higher level of market specifications, without having to break existing standards or change other players.

TOP

Technical overview

How is the X3D specification organized?

Because you need to support multiple file formats and multiple programming languages, X3D will actually consist of 3 separate ISO specifications:

19775: Abstract description of all functional parts in the 200X system, which will not involve any particular representation. The structural model and runtime model are described here in an abstract form. The function of the external application language is also described as a series of services that can be requested or available in the ideal scenario. 19776: 200X A series of file format descriptions, used to describe how to encode abstract structural specifications into a specific file, where encodes include text and binary form. There are two plain text file formats: Classic VRML (the form of braces in VRML97) and XML. The definition of binary format is in progress, but it has not yet been completed. 19777: 200X a series of programming languages ​​corresponding to the functional mapping of abstract services. Since not all programming languages ​​are the same, this specification is different from the abstract services defined in this specification according to different programming language structures. Here, define the corresponding Java and ECMAScript.

TOP

What is the change in VRML97 and X3D?

There are many details changes and non-detailed changes. It is impossible to list all changes, but there are some bigger key changes that need attention.

Now build a file to define the necessary features in the file header. This requires at least one profile definition and any necessary additional component definitions. Now the external prototype will only be used to define the external X3D file content. External prototypes will not be used to provide extended mechanisms to your browser. Providing browser-specific extensions will be implemented by custom components. Domain's access Name from Eventin, Eventout, Field, Exposedfield Corresponding to InputOnly, Outputonly, InitializeOnly, InputOutput. InputOutput domain (Exposedfield) can be defined in the script (Script). The DEF name will no longer allow multiple definitions. The load of all content will be sluggish. VRML97 requires scripts to be loaded before running, X3D removes this requirement, first start running in X3D, then load external resources (script, texture, sound, external prototype). The runtime model used by the script content and the scene map is strictly defined and controlled. The VRML97 allows multi-threaded scripts to change any point of the scene map at any time, while the X3D definition specifies some points that can make these changes. The runtime and program model used by the script is consistent on the program language, and it is not different from the browser - that is, the API definition rule applied to all situations. Strictly define the abstract type definitions used in nodes. TOP

What is a profile and component?

Overview and components are the service sets necessary to define user contents in X3D and simultaneously define scalability methods.

Component is a definition of a particular node set. Generally, the node set includes a certain common function - such as a NURBS structure or texture characteristics. The composition of the component will include a series of nodes definitions and a range of levels (levels) definitions that require the set defined according to the gradually increased execution. The lower level requires only less nodes and may only support some domains, while higher levels need to include all lower level nodes plus more complex nodes and corresponding support. For example, Level 1 NURBS only requires basic 2D paths and surfaces, while Level 4 requires cutting, mix, rotation of the surface.

The Profile is a collection of components of a range of specific levels (components). A profile is not likely to include other profiles, but a profile may require all the same components and level combinations as another profile, and add more needs. All X3D files need to define a profile used and may need to supplement additional components required to define users - these components may be not defined in the profile, or the level of components is higher than the level in this profile.

TOP

The required components are automatically loaded, or still need to be declared to these components first?

Asked good. But the Web3D Alliance has no answer. These details are slightly over the write X3D specification, so there is no answer in the final ISO document. Once this is finally solved, it will be announced on Web3D.org's website.

TOP

VRML is also scalable, why X3D extension mechanism provides more scalability than VRML's external prototype (ExternProto)?

VRML is only an extension mechanism of External Prototo, but is not a mechanism that is really used to establish a functional extension group. The X3D components, layers, and profile mechanisms are allowed to do. The Specifications Development Group found that the characteristics of the external prototype will hinder the correct establishment behavior. For example, execution of the local node, performing a large limit that may be jumped out of the normal VRML event model, or written as a VRML file relative to the local node. Because the components have been extended in the browser in a local node definition, only one way to provide extensions is defined, and the minimum conflict will be guaranteed. A component can contain many nodes (such as NURBS profiles contain all related surface nodes). Other functional areas can also be added in components, such as new scripting language support, user interface support, and so on. Components can only provide extensions in the form of nodes, or they can be extended throughout the ribbon. For example, we may need to set the ECMAScript script in the same point in the X3D file. The component mechanism allows this to expand.

TOP

How to build new components and profile?

Software companies can establish new components supported by their own products, and then submit to the X3D Board group to obtain formal approval. When the component is submitted, his name includes the prefix of the company name submitting components, as the OpenGL extension includes the prefix to establish an extension company name. The components are then evaluated by the X3D group and the Web3D alliance, and a larger industry.

When a component is accepted and implemented by a number of companies, the prefix will be changed to ext_. When the component is approved by the X3D group, the prefix will be changed to X3D_.

Once the X3D Board group identifies that some components are important or have been widely adopted, they can include the formal ISO specifications.

Once a set of components / or profiles are considered to be important for many applications, they can set this profile to the default value to establish a new version of X3D. The new version means that the relatively small version number contains more features.

Companies can establish X3D browsers, tools, output software, and output software supporting different versions, profiles, components. For example, the 3dsmax output plug-in for generating a gaming environment may only support the interface profile, however, plug-in-based web browsers can support the IMMERSIVE profile or support Full profile.

TOP

Software companies need to support all Components, Component, Level?

Do not. With the mechanisms of the profiles and versions, the company can decide which profiles and components supported according to their needs. Based on the profile, the scene content can be read by the company's program, and as long as other programs support related versions and profiles, they can ensure that the contents of the scene are running in these programs.

Many companies don't want to support VRML97 huge complicated specifications. The X3D module structure means that companies can start from supporting lower level components and profiles, then gradually join the profile they think.

TOP

If each company has created a lot of components, would you have trouble?

Do not. Components accepted by X3D specifications provide a mechanism that allows X3D compatible applications to work together. For these components, new levels are created, so many new features are added to the prior part of the components.

Components developed and submitted by various companies, driving the X3D industry quickly and effectively. It also guarantees the development and prosperity of X3D, not in technology, as previously standard.

TOP

What is the advantage of componentization?

The advantages of some componentization are listed below:

Reduced, lightweight core - VRML 97 is relatively large, completely realizing complicated standards. Split the functionality of VRML to a series of smaller kernels, you can easily implement X3D, reduce the complexity of execution mode, thus improving the maintenanceability of the execution process. Scalability - Through the concept of profiles and extensions, you can add more functions on the kernel (Core). This makes it easy to add more new features or replace existing features with new extensions. Vertical Market Positioning - Scalable Structure allows new specifications or new profiles to be executed on the kernel browser. For example, the work group now established is committed to extending X3D to a specific market, such as expanding to CAD-DCC links, medical virtual reality, visual simulation. Reduce space - this is useful, such as, for example, in set-top boxes, need to save as much space as possible, each function increases cost. At this time, you only need to use the you must use (add the corresponding smaller function set) to reduce the space occupancy of your browser. TOP

Box, ELEVATIONGRID and other nodes to remove?

Do not. X3D does not reduce the function, but the segmentation function. Since the nodes such as Box, Sphere, CONE, ELEVATIONGRID can be easily implemented with primitives such as lower-layer IndexedFaceSet, so these nodes will not be included in the kernel (CORE), which will be implemented in the extension. For example, VRML97 expansion. This simplifies the kernel and makes the kernel implementation and maintenance easier.

TOP

Is X3D like VRMLLITE?

Do not. VRMLLITE is a simplified VRML concept on the VRML mailing list. Conception is to peel off unimportant features from the current browser. The X3D does not strip any function - the concept of the core (Core) may be similar to the Vrmllite, but can further expand and improve the functionality of the entire X3D core.

The X3D provides a level of different functions through different profile definitions. An Interchange Overview for the DCC (Data Exchange and Test) tool will be set, which will be used to exchange raw geometric data between AutoCAD, 3DSMAX, and Maya programs without any form of runtime model. The InterChange profile is just one of many profiles, and all other needs correspond to different profiles.

TOP

Tools and applications

What tool supports X3D?

There are many X3D related utilities, including a style sheet that converts between VRML97 and XML X3D file editing kits.

this

PDF chart

Due to many available XML tools and their relationship with X3D.

Web3D Alliance

Application DataBase

The content creation tool, browser, and development tool are listed in the application database page.

TOP

Do you have to write X3D using the software like a Maya / 3dsmax / AutoCAD /?

Do not. These tools are required only when the visual effects need to increase the content. Based on two text formats, you can use the most familiar plain text editor to create a scene content. If you work at this level, you must master the concept of 3D graphics, for multi-texture, environment reflection map, programmed shadow such a high-level visual effect, master a certain 3D graphic programming (such as OpenGL or Direct3D) will have help.

General, tend to generate a scene content with a tool or automatically, not manually editing scene content. Specifications teams and X3D companies have enabled scene generation using certain automation programs - such as network services, or other XML-based style table conversions.

TOP

Is there an open source X3D browser?

Have. Source Working Group (Source Working Group) is developing an X3D execution code based on Java-based open source, named xj3d

. This working prototype is tested under Linux, Solaris, Win32 platform, and now you can get him. The current browser supports most X3D specifications, but still not completed.

Other VRML97 open source work, for example

OpenVRML project

It can also be used as the basis for developing an X3D browser.

TOP

How to make an application read / write X3D?

If applications such as 3DSMAX, Maya or CAD tools are used, it is likely to include available VRML97 or X3D output or input options. But some of them are based on early X3D or VRML97 versions, so writing is invalid. In order to solve this problem, Source Working Group is writing / rewriting output plugins for most common modeling software packages.

TOP

How do I determine if an application really supports X3D specifications?

Web3D Alliance is building a

Conformance Tests

(Consistency test) set. The product that is tested by this consistent test will be able to match the X3D specification. The cost, procedures and details will be announced shortly after the final test.

TOP

Where can I find a tool to convert the VRML97 content to X3D?

Web3D Alliance

Application DataBase

(Application Database page) lists the content creation tools, conversion tools, and development tools.

TOP

XML related questions

Why join XML language (Extensible Markup Language)?

The syntax as XML as X3D is to solve the problem:

Portability - In addition to VRML, VRML97 syntax is hardly suitable for all other syntax. VRML97 syntax and its based Open Inventor scene syntax and object symbols are similar. However, the syntax in the dominant status is XML. Markup provides a longer lifecycle for data archiving and transplant. Page Integration - When developing a page, a system based on XML pages is integrated, and the scene content and execution become simple. Easy and next-generation network technology integration - Members of W3C Alliance have paid a lot of efforts to develop XML. Extensive XML has received a wide range of support for browsers such as Mozilla and Internet Explorer. A wide range of tools support - X3D as a format that defines visual information, can be used as a presentation of general product information. By using a wide range of available tools such as style sheets, you can use any commonly used local XML format, and then view it in a 3D manner by a certain conversion step. For example, you can view Chemical Markup Language (CML), MathML, and other custom XML languages.

TOP

Already passed the X3D DTD (Document Type Definition - Document Type Definition)?

Yes it is. This is part of this standard definition. This DTD's hyperlink is:

http://www.web3d.org/specification/x3d-3.0.dtd

.

TOP

Already passed the X3D Schema?

Yes it is. This is part of this standard definition. This SCHEMA's hyperlink is:

http://www.web3d.org/specifications/x3d-3.0.xsd

.

TOP

What is the other XML-related technologies?

Web3D Alliance

W3C

The XML-related standards were studied. The following technique is specially concerned about X3D development:

SMIL (Synchronized Multimedia) XHTML (The W3C's XML-IZATION Of HTML) Web3D Alliance is also a member of W3C, so X3D Working Group can keep up with each field, find the best in every field. Development path.

TOP

How to combine online browser?

Once a set of XML tags are established, the XML can be used in the following ways according to how the browser uses XML:

Stylesheet: Use the XML file directly. Generally reference to the style sheet language files such as XSL internally. The XSL file will indicate how the XML tag is displayed. Data island: The value of XML is incorporated into another file (eg, HTML) in the naming tab like HTML Tables, DIVS. This means that XML will include values ​​to the document or by a document reference, in the label value is the value used by the HTML tag. This is the scheme specified by Microsoft. Plug-in support: This form will use the inserted object tag (Object Tag) to indicate the location of the downloadable support code, the parameters passed. Direct Object Support: The web browser provides local support to the tag by adding an object model. The browser must be scalable so that the label and its execution process can be combined directly into the browser.

TOP

In order to use X3D, how much abbreviation is needed?

Or ask: All X3D creators need to know how to write themselves.

DTD

(Document Type Definitions - Document Type Definition),

CSS

(Cascading Stylesheets - laminated style sheet),

XSL

(EXTENSIBLE STYLESHEETS - extension style sheet) What is the like? No. All of these work is responsible for X3D Working Group. The X3D specification defines a DTD to make the VRML97 node and the domain correspond to one of the X3D. Creators use these definition tags, so they no longer need to develop their own DTD. The conversion software converts the VRML97 file to an X3D file so that the existing VRML97 model and tool resources can continue to use. Open source X3D file resolution / input / output software examples will be able to encourage 3D software vendors to add X3D input / output functions on their VRML input / output.

TOP

What can you find more XML resources?

Here are some resources you can find:

Http://www.w3.org/xml/ http://www.xml.com/ http://www.oasis-open.org/cover/xml.html http://xml.about.com/

TOP

Development process

Who is developing X3D?

The core X3D specification is developed by X3D Specification Working Group. Additional extensions in different vertical markets will be developed by the working group in a particular field. E.g

CAD

with

Medical

The Working Group is writing extensions for the corresponding industry.

Shader Work Group

Research on how to join the functionalized shadow.

TOP

Is there an X3D specification?

Have. Different specifications have been published to different places for ISO considerations. allowable

This page

View the version released to the public.

TOP

What is the current state of the X3D specification?

Abstract specifications (19775: 200x) are currently voting inside ISO. The text of the International Standard Final Draft (fdis) is waiting for the final consent / veto vote. Once the vote is completed and passed, ISO will formally release this specification. The expected date will be in 2004. Other two specifications (19776 and 19777) are still in the next step. These two specifications are now in the International Standard Draft (DIS) phase, which works in the ISO process to lag the abstract specification for about 6 months. Even if writing and annotations have been completed, you will need to wait for the ISO contact to combine the final text before you can post and finally submit ISO processing. This text may be completed by the Alliance members at the 2004 Web3D Union Year, and the final ISO passed the time may be in 2004 or in early 2005.

TOP

Is there an execution code example or execution code reference?

Xj3d

Open source code browser and test platform provide a good implementation example.

TOP

Do you need a license fee using X3D?

X3D is an open standard and does not need to pay related terms - can be used in any way you want. The Web3D Alliance has a strict policy that cannot have technology that hinders intellectual property, and the long-term agreed ISO will release our specifications free of charge.

Certification is currently developing Certification and

Consistency test program (Conformance Testing Program)

. Consistency testing will cost. A consistent test program for X3D specifications will facilitate the consistency and reliability of multiple vendors across multiple platforms and to create a consistent X3D. Only those that meet consistency can use the X3D logo.

TOP

How can I help develop X3D?

There are many ways to help - from just the use of X3D only in your daily work, to join one or more specifications. In order to join the specifications of development and get the current draft, you need to be a web3d alliance

member

.

The best way to join the help in tools is to write output software or input software for X3D.

Source Working Group (Source Code Working Group)

Project members are in progress in this area and welcome your help. If you are involved, please fill in

This form

.