A scene description language is any
description language used to describe a
scene
Scene (from Greek σκηνή ''skēnḗ'') may refer to:
Arts, entertainment, and media Music
* Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers
* The Scene who rec ...
to a
3D renderer
Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as the render. Multiple models can be defined ...
, such as a
ray tracer. The scene is written in a
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be u ...
(which may include
syntax highlighting
Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms. ...
), 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
''While'' is a word in the English language that functions both as a noun and as a subordinating conjunction. Its meaning varies largely based on its intended function, position in the phrase and even the writer or speaker's regional dialec ...
and
for loop
In computer science a for-loop or for loop is a control flow statement for specifying iteration. Specifically, a for loop functions by running a section of code repeatedly until a certain condition has been satisfied.
For-loops have two par ...
s.
For example,
3DMLW
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.
The project has been inactive since 2009; as of 2016, the ...
and
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 Re ...
are
XML
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. ...
-based scene description languages;
YafaRay also employs an XML-based language.
Tao Presentations
''Tao'' or ''Dao'' is the natural order of the universe, whose character one's intuition must discern to realize the potential for individual wisdom, as conceived in the context of East Asian philosophy, East Asian religions, or any other p ...
uses
XL as a dynamic document description language.
POV-Ray
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 Aaro ...
has its own
Turing-complete
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any Tu ...
language.
Examples
POV-Ray
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 Aaro ...
#declare the_angle = 0;
#while (the_angle < 360)
box
#declare the_angle = the_angle + 45;
#end
3DMLW
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.
The project has been inactive since 2009; as of 2016, the ...
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 Re ...
Tao Presentations
''Tao'' or ''Dao'' is the natural order of the universe, whose character one's intuition must discern to realize the potential for individual wisdom, as conceived in the context of East Asian philosophy, East Asian religions, or any other p ...
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
*
List of 3D graphics file formats
*
VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
*
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 Re ...
3D computer graphics
Domain-specific programming languages
Articles with example code
{{graphics-software-stub