Scene description language

Last updated

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 (which may include syntax highlighting), 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.

Some scene description languages may include variables, constants, conditional statements, and while and for loops.

For example, 3DMLW and X3D are XML-based scene description languages; YafaRay also employs an XML-based language. Tao Presentations uses XL as a dynamic document description language. POV-Ray has its own Turing-complete language.

Examples

POV-Ray

POV-Ray image output based on the script I example povray scene rendering2.png
POV-Ray image output based on the script
#declarethe_angle=0;#while(the_angle<360)box{<-0.5,-0.5,-0.5><0.5,0.5,0.5>texture{pigment{colorRed}finish{specular0.6}normal{agate0.25scale1/2}}rotatethe_angle}#declarethe_angle=the_angle+45;#end

3DMLW

<?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>

X3D

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd"><X3Dprofile="Interchange"version="3.2"xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"xsd:noNamespaceSchemaLocation=" http://www.web3d.org/specifications/x3d-3.2.xsd "><Scene><Shape><IndexedFaceSetcoordIndex="0 1 2"><Coordinatepoint="0 0 0 1 0 0 0.5 1 0"/></IndexedFaceSet></Shape></Scene></X3D>
Real-time 3D rendering of a scene described using Tao Presentations document description language Tao Presentations real-time 3D rendering of a scene described using its document description language.jpg
Real-time 3D rendering of a scene described using Tao Presentations document description language

Tao Presentations

clear_color 0, 0, 0, 1 light 0 light_position 1000, 1000, 1000 draw_sphere with 1..50  rotatey 0.05 * mouse_x text_box 0, 0, 800, 600,     extrude_depth 25     extrude_radius 5     align_center     vertical_align_center     font "Arial", 300     color "white"     text "3D"     line_break     font_size 80     text zero hours & ":" & zero minutes & ":" & zero seconds  draw_sphere N ->     locally         color_hsv 20 * N, 0.3, 1         translate 300*cos(N*0.1+time), 300*sin(N*0.17+time), 500*sin(N*0.23+time)         sphere 50  zero N -> if N < 10 then "0" & text N else text N 

See also

Related Research Articles

A document type definition (DTD) is a specification file that contains set of markup declarations that define a document type for an SGML-family markup language. The DTD specification file can be used to validate documents.

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

<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.

<span class="mw-page-title-main">POV-Ray</span> Text-based ray-tracing program

The Persistence of Vision Ray Tracer, most commonly acronymed as POV-Ray, is a cross-platform ray-tracing program that generates images from a text-based scene description. It was originally based on DKBTrace, written by David Kirk Buck and Aaron A. Collins for Amiga computers. There are also influences from the earlier Polyray raytracer because of contributions from its author, Alexander Enzmann. POV-Ray is free and open-source software, with the source code available under the AGPL-3.0-or-later license.

XSD, a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item content in a document, to assure it adheres to the description of the element it is placed in.

X3D is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).

An HTML element is a type of HTML document component, one of several types of HTML nodes. The first used version of HTML was written by Tim Berners-Lee in 1993 and there have since been many versions of HTML. The current de facto standard is governed by the industry group WHATWG and is known as the HTML Living Standard.

In computing, RELAX NG is a schema language for XML—a RELAX NG schema specifies a pattern for the structure and content of an XML document. A RELAX NG schema is itself an XML document but RELAX NG also offers a popular compact, non-XML syntax. Compared to other XML schema languages RELAX NG is considered relatively simple.

An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constraints are generally expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.

Web3D Consortium is an international not-for-profit, member-funded industry consortium, originally founded in 1997. Web3D Consortium members from governmental, nonprofit and research organizations worldwide, including working alongside individual professional members to collaborate in a consensus process and encouraging development and implementation of open standards for 3D content and services.

<span class="mw-page-title-main">Kerkythea</span> Standalone rendering system

Kerkythea is a standalone rendering system that supports raytracing and Metropolis light transport, uses physically accurate materials and lighting, and is distributed as freeware. Currently, the program can be integrated with any software that can export files in obj and 3ds formats, including 3ds Max, Blender, LightWave 3D, SketchUp, Silo and Wings3D.

3DML was a format for creating three-dimensional websites by combining similar-sized building blocks. It was invented in 1997 by Michael Powers, who co-developed it with Philip Stephens and developed it further over the next four years. 3DML files are written in XML and can be delivered from standard web servers and shown within a browser via a plugin, or in an independent 3DML browser called Flatland Rover. A new update was posted in 2017 with updated code and binaries for Windows 10. 3DML had no avatar or multi-user support, unlike other platforms of the time like Active Worlds, and thus never attracted a large following. There were plugins for Internet Explorer, Netscape Navigator and AOL, but not for Mozilla Firefox. The most recent version is a standalone Windows application.

<span class="mw-page-title-main">Seamless3d</span> Open source 3D modeling software

Seamless3d is an open-source 3D modeling software available under the MIT license.

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

A Formal Public Identifier (FPI) is a short piece of text with a particular structure that may be used to uniquely identify a product, specification or document. FPIs were introduced as part of Standard Generalized Markup Language (SGML), and serve particular purposes in formats historically derived from SGML. Some of their most common uses are as part of document type declarations (DOCTYPEs) and document type definitions (DTDs) in SGML, XML and historically HTML, but they are also used in the vCard and iCalendar file formats to identify the software product which generated the file.

3D computer graphics software refers to programs used to create 3D computer-generated imagery.

Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format is possible through various means:

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

XMetaL, or XMetaL Author, is a software application people use to create and edit documents in XML and SGML. It has some features common to word processors, but is a native XML editor that can be configured to work with various standard and custom DTDs and XML Schemas. XMetaL was first released by SoftQuad Software in 1999 and is currently developed by JustSystems.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

References