3DMLW

Last updated
3DMLW
Developer(s) 3D Technologies R&D
Stable release
1.0.5 / June 1, 2009;13 years ago (2009-06-01)
Preview release
2.0 alpha 1 / August 5, 2009;13 years ago (2009-08-05)
Repository
Written in C++
Operating system Windows, Linux, BSD, Mac OS X
Available inEnglish
License GPLv2 [1]
Website www.3dmlw.com (archived)

3DMLW ( 3D Markup Language for Web ) is a discontinued open-source project, and a XML-based Markup Language for representing interactive 3D and 2D content on the World Wide Web.

Contents

The project has been inactive since 2009; as of 2016, the website, including the documentation, is no longer available.

3DMLW platform

The 3DMLW platform is an open-source software suite aimed at showing dynamic 3D content. It included its own scripting language for software design, and a format support for 3D models.

3DMLW language

3DMLW is an XML standard 1.0 based markup language that allows for data exchange between applications linked with 3DMLW plug-in interface. A schema definition is provided for verifying the notation with 3rd party software such as jEdit or other XML editors capable of checking XSD constraints.

3DMLW renderer

The rendering engine uses industry standard OpenGL. It can be plugged into 3DMLW Plug-in Interface and consists of a scene library and a graphics library, which provides an optimized rendering pipeline for the scene library structures. The scene library can be utilized independently for the manipulation or conversion of meshes without rendering them.

3DMLW plug-in interface

The plug-in interface mediates input events and output from host windows (e.g. web browsers) or an independent output window. It is extendible to allow integration into 3rd party software. Native support has been implemented for common web browsers.

3DMLW server toolset

The toolset provides batch conversion for several filetypes (.obj, .3ds, .xyz, .pts) and texture atlas generation capable of processing multiple models concurrently. It can be employed server-side to provide automatic conversion of 3D models and textures.

3DMLW file format

A 3DMLW file is a simple text file containing instructions confined to 3DMLW language syntax:

<?xml version='1.0' standalone='no'?><document><content2d><areawidth='200'height='100'color='#C0C0C0FF'texture='flower.png'/></content2d><content3did='content'camera='{#cam}'><cameraid='cam'class='cam_rotation'y='10'z='40'viewy='10'/><boxname='ground'width='100'height='2'depth='100'color='green'class='ground'/><boxname='dynamic'y='20'width='10'height='10'depth='10'color='blue'/></content3d></document>

In 3DMLW 2D and 3D content are handled independently from each other, but they are free to overlap. For animating 3D scenes and handling different events a Lua scripting facility is provided. The following script snippet demonstrates colour fading:

<scripttype='text/x-lua'><![CDATA[receiver=Reference.get("@receiver");c=receiver:attributeColor("color");c:setAlpha(c:getAlpha()+1);ifc:getAlpha()>255thenc:setAlpha(0);endreceiver:putAttribute("color",tostring(c));]]></script>

The use of 3D models in .3ds, .obj, .an8, and .blend file formats is supported, but 3DMLW Plug-in interface allows for easy extension to include other formats.

3DMLW files use .3dmlw (e.g. filename.3dmlw) as extension and can be linked together similar to HTML.

Displaying 3DMLW

3DMLW content could be viewed using applications provided by 3D Technologies R&D, including plug-ins for Internet Explorer and NPAPI compatible browsers (Mozilla Firefox, Opera etc.). However, these applications are not available anymore.

Usage of 3DMLW

3DMLW was used for Tallinn's old town 3D application. 3D Technologies R&D also is using some parts of 3DMLW engine in their 3D Wayfinder application.

See also

Related Research Articles

<span class="mw-page-title-main">HTML</span> Hypertext Markup Language

The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.

Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999.

Web design encompasses many different skills and disciplines in the production and maintenance of websites. The different areas of web design include web graphic design; user interface design ; authoring, including standardised code and proprietary software; user experience design ; and search engine optimization. Often many individuals will work in teams covering different aspects of the design process, although some designers will cover them all. The term "web design" is normally used to describe the design process relating to the front-end design of a website including writing markup. Web design partially overlaps web engineering in the broader scope of web development. Web designers are expected to have an awareness of usability and be up to date with web accessibility guidelines.

Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematical notations and capturing both its structure and content, and is one of a number of mathematical markup languages. Its aim is to natively integrate mathematical formulae into World Wide Web pages and other documents. It is part of HTML5 and is a ISO/IEC standard ISO/IEC 40314 since 2015.

<span class="mw-page-title-main">VRML</span> File format for representing 3D interactive vector graphics

VRML is a standard file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly with the World Wide Web in mind. It has been superseded by X3D.

X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Reality Modeling Language (VRML) in 2001. X3D features extensions to VRML, the ability to encode the scene using an XML syntax as well as the Open Inventor-like syntax of VRML97, or binary formatting, and enhanced application programming interfaces (APIs).

XForms is an XML format used for collecting inputs from web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other than XHTML to describe a user interface and a set of common data manipulation tasks.

<span class="mw-page-title-main">Renoise</span> Digital audio workstation

Renoise is a digital audio workstation (DAW) based upon the heritage and development of tracker software. Its primary use is the composition of music using sound samples, soft synths, and effects plug-ins. It is also able to interface with MIDI and OSC equipment. The main difference between Renoise and other music software is the characteristic vertical timeline sequencer used by tracking software.

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

A voice browser is a software application that presents an interactive voice user interface to the user in a manner analogous to the functioning of a web browser interpreting Hypertext Markup Language (HTML). Dialog documents interpreted by voice browser are often encoded in standards-based markup languages, such as Voice Dialog Extensible Markup Language (VoiceXML), a standard by the World Wide Web Consortium.

COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

SCXML stands for State Chart XML: State Machine Notation for Control Abstraction. It is an XML-based markup language that provides a generic state-machine-based execution environment based on Harel statecharts.

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

<span class="mw-page-title-main">Away3D</span>

Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor, a 3D graphics engine, a 3D physics engine and a compressed 3D model file format (AWD).

A scene description language is any description language used to describe a scene to a 3D renderer, such as a ray tracer. The scene is written in a text editor, as opposed to being modeled in a graphical way, but a 3D modelling program may allow for a scene to be exported to a specified scene description language.

Google Chrome Experiments Online showroom of web browser based experiments

Google Chrome Experiments is an online showroom of web browser based experiments, interactive programs, and artistic projects. Launched on March 1, 2009, Google Chrome Experiments is an official Google website that was originally meant to test the limits of JavaScript and the Google Chrome browser's performance and abilities. As the project progressed, it took the role of showcasing and experimenting latest open-source web-based technologies, such as JavaScript, HTML5, WebGL, Canvas, SVG, CSS, and some others. All the projects on Chrome experiments are user submitted and are made using open source technologies. As of February 24, 2015, there were 1,000 different Chrome projects posted on the website.

<span class="mw-page-title-main">Art of Illusion</span>

Art of Illusion is a free software, and open source software package for making 3D graphics.

References

  1. "3DMLW".