Misplaced Pages

Open Game Engine Exchange

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

The Open Game Engine Exchange ( OpenGEX ) is a format that aids the application-agnostic transferring of complex scene data between 3D graphics apps including game engines and 3D modelling apps. It uses Open Data Description Language for data storage, a method for arbitrary data storage that maintains human readability. The OpenGEX file format is registered with the Internet Assigned Numbers Authority (IANA) as the model/vnd.opengex media type.

#564435

32-690: The OpenGEX format is defined by the Open Game Engine Exchange Specification , which is available on the official website opengex.org . Export plugins that write the OpenGEX format are available for Autodesk Maya and 3D Studio Max , with an unofficial plugin available for Blender . At the most basic level, an OpenGEX file consists of a node hierarchy, a set of objects, a set of materials, and some additional information about global units and axis orientation. The various node, object, and material structures contain all of

64-453: A built-in dynamic object system, TclOO, in 2012. It includes features such as: Tcl did not have object oriented (OO) syntax until 2012, so various extension packages emerged to enable object-oriented programming. They are widespread in existing Tcl source code. Popular extensions include: TclOO was not only added to build a strong object oriented system, but also to enable extension packages to build object oriented abstractions using it as

96-476: A dual interpreter model with the untrusted interpreter running code in an untrusted script. It was designed by Nathaniel Borenstein and Marshall Rose to include active messages in e-mail. Safe-Tcl can be included in e-mail when the application/safe-tcl and multipart/enabled-mail are supported. The functionality of Safe-Tcl has since been incorporated as part of the standard Tcl/Tk releases. The syntax and semantics of Tcl are covered by twelve rules known as

128-412: A foundation. After the release of TclOO, incr Tcl was updated to use TclOO as its foundation. Tcl Web Server is a pure-Tcl implementation of an HTTP protocol server. It runs as a script on top of a vanilla Tcl interpreter. Apache Rivet is an open source programming system for Apache HTTP Server that allows developers to use Tcl as a scripting language for creating dynamic web applications. Rivet

160-422: A new value instead. The most important commands that refer to program execution and data operations are: The usual execution control commands are: Those above looping commands can be additionally controlled by the following commands: uplevel allows a command script to be executed in a scope other than the current innermost scope on the stack. Because the command script may itself call procedures that use

192-519: A single GeometryNode structure that provides the name and transform for the cube. The geometric data for the cube is stored in the GeometryObject structure that is referenced by the geometry node. The geometry object structure contains a single mesh of triangle primitives that includes per-vertex positions, normals, and texture coordinates . Finally, the Material structure at the end of

224-622: A single word. From Tcl 8.5 onwards, any word may be prefixed by {*} , which causes the word to be split apart into its constituent sub-words for the purposes of building the command invocation (similar to the ,@ sequence of Lisp 's quasiquote feature). As a consequence of these rules, the result of any command may be used as an argument to any other command. Note that, unlike in Unix command shells , Tcl does not reparse any string unless explicitly directed to do so, which makes interactive use more cumbersome, but scripted use more predictable (e.g.,

256-472: A word that begins with a double-quote character ( " ) extends to the next double-quote character. Such a word can thus contain whitespace and semicolons without those characters being interpreted as having any special meaning (i.e., they are treated as normal text characters). A word that begins with an opening curly-brace character ( { ) extends to the next closing curly-brace character ( } ). Inside curly braces all forms of substitution are suppressed except

288-584: Is a 3D computer graphics application that runs on Windows , macOS , and Linux , originally developed by Alias and currently owned and developed by Autodesk . It is used to create assets for interactive 3D applications (including video games), animated films, TV series, and visual effects . Maya was originally an animation product based on codebase from The Advanced Visualizer by Wavefront Technologies , Thomson Digital Image (TDI) Explore, PowerAnimator by Alias, and Alias Sketch! . The IRIX -based projects were combined and animation features were added;

320-415: Is a high-level , general-purpose , interpreted , dynamic programming language . It was designed with the goal of being very simple but powerful. Tcl casts everything into the mold of a command , even programming constructs like variable assignment and procedure definition. Tcl supports multiple programming paradigms , including object-oriented , imperative , functional , and procedural styles. It

352-425: Is commonly used embedded into C applications, for rapid prototyping , scripted applications, GUIs, and testing. Tcl interpreters are available for many operating systems , allowing Tcl code to run on a wide variety of systems. Because Tcl is a very compact language, it is used on embedded systems platforms, both in its full form and in several other small-footprint versions. The popular combination of Tcl with

SECTION 10

#1732797963565

384-529: Is conventionally written Tcl rather than TCL . Tcl conferences and workshops are held in both the United States and Europe. Several corporations, including FlightAware use Tcl as part of their products. Tcl's features include Safe-Tcl is a subset of Tcl that has restricted features so that Tcl scripts cannot harm their hosting machine or application. File system access is limited and arbitrary system commands are prevented from execution. It uses

416-502: Is similar to PHP , ASP , and JSP . Rivet was primarily developed by Damon Courtney, David Welton, Massimo Manghi, Harald Oehlmann and Karl Lehenbauer . Rivet can use any of the thousands of publicly available Tcl packages that offer countless features such as database interaction (Oracle, PostgreSQL, MySQL, SQLite, etc.), or interfaces to popular applications such as the GD Graphics Library . Tcl interfaces natively with

448-403: The C language. This is because it was originally written to be a framework for providing a syntactic front-end to commands written in C, and all commands in the language (including things that might otherwise be keywords , such as if or while ) are implemented this way. Each command implementation function is passed an array of values that describe the (already substituted) arguments to

480-610: The Tk extension is referred to as Tcl/Tk (pronounced "tickle teak" or as an initialism ) and enables building a graphical user interface (GUI) natively in Tcl. Tcl/Tk is included in the standard Python installation in the form of Tkinter . The Tcl programming language was created in the spring of 1988 by John Ousterhout while he was working at the University of California, Berkeley . Originally "born out of frustration", according to

512-493: The puts (short for "put string") command to display a string of text on the host console: This sends the string "Hello, World!" to the standard output device along with an appended newline character. Variables and the results of other commands can be substituted into strings, such as in this example which uses the set and expr commands to store the result of a calculation in a variable (note that Tcl does not use = as an assignment operator), and then uses puts to print

544-450: The uplevel command, this has the net effect of transforming the call stack into a call tree. It was originally implemented to permit Tcl procedures to reimplement built-in commands (like for , if or while ) and still have the ability to manipulate local variables . For example, the following Tcl script is a reimplementation of the for command (omitting exception handling ): upvar arranges for one or more local variables in

576-475: The Dodekalogue. A Tcl script consists of a series of command invocations. A command invocation is a list of words separated by whitespace and terminated by a newline or semicolon. The first word is the name of a command, which may be built into the language, found in an available library , or defined in the script itself. The subsequent words serve as arguments to the command: The following example uses

608-537: The author, with programmers devising their own languages for extending electronic design automation (EDA) software and, more specifically, the VLSI design tool Magic , which was a professional focus for John at the time. Later Tcl gained acceptance on its own. Ousterhout was awarded the ACM Software System Award in 1997 for Tcl/Tk. The name originally comes from T ool C ommand L anguage, but

640-421: The command, and is free to interpret those values as it sees fit. Digital logic simulators often include a Tcl scripting interface for simulating Verilog , VHDL and SystemVerilog hardware languages . Tools exist (e.g. SWIG , Ffidl ) to automatically generate the necessary code to connect arbitrary C functions and the Tcl runtime, and Critcl does the reverse, allowing embedding of arbitrary C code inside

672-408: The current procedure to refer to variables in an enclosing procedure call or to global variables . The upvar command simplifies the implementation of call-by-name procedure calling and also makes it easier to build new control constructs as Tcl procedures. A decr command that works like the built-in incr command except it subtracts the value from the variable instead of adding it: Tcl 8.6 added

SECTION 20

#1732797963565

704-429: The details such as geometric data and animation tracks within a hierarchy of additional types of structures defined by OpenGEX. The following types of data can appear in an OpenGEX file: A very simple example of a complete OpenGEX file describing a green cube is shown in the listing below. It begins with a group of Metric structures that define the units of measurement and the global up direction. Those are followed by

736-1041: The dominant name used for the product. Windows Windows Windows Linux Windows Linux Windows Linux OSX Linux OSX First Autodesk Ver. + Python API +Nucleus Solver Extension 2, ver. 9.0.1 (Feb 2008) SP1, ver. 9.0.1 (Mar 2008) Subscription Advantage Pack (Sep 2010) Hotfix 3 (Jul 2010) Hotfix 2 (Jun 2010) Hotfix 1 (May 2010) + Qt Interface Service Pack 1 (Oct 2011) Hotfix1,2,3,4 (Apr-Aug 2011) +Viewport 2.0 +Python API 2.0 Service Path 1 Refix (Jul 2012) Service Pack 1 (Jun 2012) + Bullet Physics Library + Alembic +Node Editor Service Pack 1 (Jun 2013) Service Pack 7 (May 2019) Extension 2 SP2 (Sep 2016) Extension 2 (Apr 2016) Extension 1 (Apr 2016) Service Pack 6 (Apr 2016) Service Pack 5 (Dec 2015) Service Pack 4 (Oct 2015) Service Pack 3 (Sep 2015) Service Pack 2 (Aug 2015) Service Pack 1 (Jun 2015) +Bifrost Update 4 (Jun 2017) Update 3 (Feb 2017) Update 2 (Nov 2016) Tcl Tcl (pronounced " tickle " or as an initialism )

768-648: The file contains the green diffuse reflection color. The development of the OpenGEX format was funded by a crowd-sourcing campaign that ended on May 8, 2013. As the format was being designed, the Open Data Description Language was also created as a generic base language upon which OpenGEX was built. Support for the OpenGEX format was originally implemented in C4 Engine version 3.5. Autodesk Maya Autodesk Maya , commonly shortened to just Maya ( / ˈ m aɪ ə / ; MY -ə ),

800-580: The merger with Wavefront it was replaced with Maya Embedded Language (MEL). Sophia, the scripting language in Wavefront's Dynamation , was chosen as the basis of MEL. Maya 1.0 was released in February 1998. Following a series of acquisitions, Maya was bought by Autodesk in October 2005. Under the name of the new parent company, Maya was renamed Autodesk Maya. However, the name "Maya" continues to be

832-452: The parsing of any commands or arguments. If the final character on a line (i.e., immediately before a newline) is a backslash, then the backslash-newline combination (and any spaces or tabs immediately following the newline) are replaced by a single space. This provides a line continuation mechanism, whereby long lines in the source code can be wrapped to the next line for the convenience of readers. Continuing with normal argument processing,

864-479: The presence of spaces in filenames does not cause difficulties). The single equality sign ( = ) serves no special role in the language at all. The double equality sign ( == ) is the test for equality which is used in expression contexts such as the expr command and in the first argument to if . (Both commands are part of the standard library; they have no special place in the library and can be replaced if desired.) The majority of Tcl commands, especially in

896-401: The previously mentioned backslash-newline elimination. Words not enclosed in either construct are known as bare words. In bare and double-quoted words, three types of substitution may occur: Substitution proceeds left-to-right in a single scan through each word. Any substituted text will not be scanned again for possible further substitutions. However, any number of substitutions can appear in

928-549: The project codename was Maya. Walt Disney Feature Animation collaborated closely with Maya's development during its production of Dinosaur . Disney requested that the user interface of the application be customizable to allow for a personalized workflow. This was a particular influence in the open architecture of Maya, and partly responsible for its popularity in the animation industry. After Silicon Graphics Inc. had acquired both Alias and Wavefront Technologies , Inc. in 1995, Wavefront's technology (then under development)

960-398: The result together with some explanatory text: The # character introduces a comment . Comments can appear anywhere the interpreter is expecting a command name. As seen in these examples, there is one basic construct in the language: the command. Quoting mechanisms and substitution rules determine how the arguments to each command are processed. One special substitution occurs before

992-573: The standard library, are variadic , and the proc (the constructor for scripted command procedures) allows one to define default values for unspecified arguments and a catch-all argument to allow the code to process arbitrary numbers of arguments. Tcl is not statically typed: each variable may contain integers, floats, strings, lists, command names, dictionaries, or any other value; values are reinterpreted (subject to syntactic constraints) as other types on demand. However, values are immutable and operations that appear to change them actually just return

Open Game Engine Exchange - Misplaced Pages Continue

1024-400: Was merged into Maya. SGI's acquisition was a response to Microsoft Corporation acquiring Softimage 3D in 1994. The new wholly-owned subsidiary was named "Alias | {\displaystyle |} Wavefront". In the early days of development Maya started with Tcl as the scripting language , in order to leverage its similarity to a Unix shell script language, but after

#564435