3DMLW

Source: Wikipedia, the free encyclopedia.
3DMLW
Developer(s)3D Technologies R&D
Stable release
1.0.5 / June 1, 2009; 14 years ago (2009-06-01)
Preview release
2.0 alpha 1 / August 5, 2009; 14 years ago (2009-08-05)
Repository
Written in
GPLv2[1]
Websitewww.3dmlw.com (archived)

3DMLW (

Markup Language for representing interactive 3D and 2D content on the World Wide Web
.

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

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 (

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>
		<area width='200' height='100' color='#C0C0C0FF' texture='flower.png' />
	</content2d>
	<content3d id='content' camera='{#cam}'>
		<camera id='cam' class='cam_rotation' y='10' z='40' viewy='10'/>
		<box name='ground' width='100' height='2' depth='100' color='green' class='ground' />
		<box name='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:

<script type='text/x-lua'><![CDATA[
receiver = Reference.get("@receiver");
c = receiver:attributeColor("color");
c:setAlpha(c:getAlpha() + 1);
if c:getAlpha() > 255 then
  c:setAlpha(0);
end
receiver: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

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

References

  1. ^ "3DMLW".

External links

This page is based on the copyrighted Wikipedia article: 3DMLW. Articles is available under the CC BY-SA 3.0 license; additional terms may apply.Privacy Policy