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 set of markup declarations that define a document type for an SGML-family markup language.

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

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

DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.

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">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 most commonly used version is HTML 4.01, which became official standard in December 1999. An HTML document is composed of a tree of simple HTML nodes, such as text nodes, and HTML elements, which add semantics and formatting to parts of document. Each element can have HTML attributes specified. Elements can also have content, including other elements and text.

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.

MusicXML is an XML-based file format for representing Western musical notation. The format is open, fully documented, and can be freely used under the W3C Community Final Specification Agreement.

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.

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.

Content Assembly Mechanism (CAM) is an XML-based standard for creating and managing information exchanges that are interoperable and deterministic descriptions of machine-processable information content flows into and out of XML structures. CAM is a product of the OASIS Content Assembly Technical Committee.

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

The Publishing Requirements for Industry Standard Metadata (PRISM) for the Internet, computing, and computer science, is a specification that defines a set of XML metadata vocabularies for syndicating, aggregating, post-processing and multi-purposing content.

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.