Share

RadianceML

File Release Notes and Changelog

Release Name: RadianceML-0.0.7

Notes:
RadianceML 0.0.7 - A XML Application for the Radiance Lighting Simulation
Copyright (c) 2004 Lars O. Grobe

You can contact the author by email: grobe@gmx.net

This software is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
any later version.

This software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

File: Readme.txt
Versions lower than 1.0 will be based on Radiance 3.5

You find information about Radiance on the Radiance website http://radsite.lbl.gov
or on the Radiance community website http://www.radiance-online.org

March 16th 2004 - release 0.0.6

This distribution should have contained the following files:

RadianceML.dtd			- 	The DTD of the RadianceML XML application, certainly
							with lots of bugs, will be replaced by schmema in next step
							and is not updated any more - DO NOT USE!

RadianceML.xsd			- 	The Schema of the RadianceML XML application, just started.
							The Schema defines the elements in RadianceML namespace, so
							a prefix rml is proposed. The root element will be rml:Scene.

RadianceMLImportRad.xsl	- 	XSL-templates to import common Radiance scenes

RadianceXMLTest.xml		- 	some geometry in a modified Radiance scene description
							language (take a look at the file, you will find the changes;-)

Output.xml				-	You need this only if you cannot process the XSL-templates,
							because this is the output generated from RadianceXMLTest.xml
							and RadianceMLImportRad.xsl - an example of Radiance geometry
							in RadianceML

Readme.txt				-	This file

Changes.txt				-	A list of changes between releases (aka changelog)

Todo.txt				-	A list of development topics, process

COPYING					-	The license for RadianceML (GPL)


What does it do?

Currently, RadianceML only knows some geometric primitives, plastic and comments. That is not really
a lot, however, you can write Radiance scene files now containing only polygons, spheres,
plastic material descriptions and comments and spend hours trying to import them into
RadianceML ;-) Seriously, this is a very early stage of the project, and a polygon is a
typical primitive in Radiance (it has a modifier, can contain multiple lines, an undefined
number of points, ...).


Why do you want to keep Radiance scenes in XML?

XML defines how data structures should be organized. RadianceML is one application of XML, it
is a Markup Language representing the elements necessary to store the information of a
Radiance scene. It is as close as possible to the original Radiance scene language, and can
be developed together with new versions of Radiance. While Radiance itself cannot handle XML
files on its own at the time, you should be able to use the well-known pipe technique in unix
to e.g. import from .obj to .rad to .xml, or from .xml to .rad to .oct as soon as this package
is complete. Therefore a lot of work has to be done at the moment (e.g. a tool tagging regular
rad-files, and an export-template are to be written).

When we have our Radiance scenes useable in XML, we can use the common techniques to

- validate scenes: there are tools available that allow you to validate your xml data by applying
  a DTD to them. You can also use a XML editor which shows you which elements are valid e.g. when
  you are defining a sphere in Radiance, so you will never have to count the number of points you
  entered to find the error again ;-) This is a help in debugging as well as in editing files, as
  common xml-tools start to know about Radiance by using the DTD.

- translate scenes: when we have our scene in XML, writing translators to other 3d-formats will be
  much easier, especially when translating to other XML formats (e.g. x3d).

- document scenes: getting a list of objects is not that difficult any more, as well as extracting
  comments. This is somehow a question of translating scenes, too, the idea is that you cannot only
  translate from RadianceML to 3d-formats, but also to e.g. html, with clickable lists of objects...

- archive scenes: those of us working in academic environments have to think about storing their
  work in human-readable formats. In large institutions like universities and libraries, but certainly
  in big companies, too, this brings xml into the discussion as a way to store data.

- combine scenes with other information: my personal interest is not really RadianceML... not only.
  I want to be able to combine my texts (written in docbookXML) whith drawings (in svgXML) and
  my geometry into what I call a model. And as the geometry was the only part which was not in XML
  so far, I have to start here. Combining XML-data is easy, just make your XSL-template ignore
  everything except what you need, and you can put all your information together. BTW, RadianceML
  will switch to schema (instead of DTD) soon, we need the namespace features, because the tags are
  simply consuming too much filespace! In future releases, e.g. RadiancePlastic will be simply
  Plastic, in the rml namespace (<rml:Plastic> if rml is not the default namespace). Still I don't
  know if anyone else uses the abbreviation rml...

- write scenes out of 3rd party applications: there are lots of xml-libraries on the market, and
  writing a scene using these libraries in different XML-formats is easy to develop. We can guess
  that all developers will start to implement xml-output soon, as x3d is a w3c-standard, and xml
  starts to become important to share data between applications.

So, these are the pro's. Almost everything is just fiction at the moment, however, the project
has been started. I think that importing Radiance scenes into RadianceML is the hardest part of
the work. That's why I started with the simple import-XSL as a proof of concept. At the moment,
this XSL-file looks really ugly, in fact, this is the first time I have been working with XSL. But
it does what it is expected to do. Of course, the RadianceML files will have much larger file sizes
than the .rad-files. This is the price we pay when we use tagged elements with descriptive names.
Think of RadianceML as a scene description with obligatory comments (everything is
"explained" by it's element tag).

Please don't expect this to be a useful tool. It is to proof that it is possible to use Radiance
scenes in XML.

Changes: RadianceML 0.0.7 - A XML Application for the Radiance Lighting Simulation Copyright (c) 2004 Lars O. Grobe You can contact the author by email: grobe@gmx.net This software is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA File: Changes.txt Versions lower than 1.0 will be based on Radiance 3.5 You find information about Radiance on the Radiance website http://radsite.lbl.gov or on the Radiance community website http://www.radiance-online.org Changelog: 0.0.3 : feb 14th 2004 * first release (per email only, non-GPL), changes before not documented 0.0.4 : feb 18th 2004 * LOTS of bugs fixed! e.g. the spoolForward template didn't work, and if you had put anything behind a sphere, it was simply disappearing * New primitive added: plastic * XSLT changes: RadianceIdentifier added (quite important if defining materials...) * DTD changes: RadiancePrimitive element removed 0.0.5 : mar 11th 2004 * GPLed: RadianceML is now covered by the GNU General Public License 2 * Sourceforge project started, so that development and distribution get easy and transparent the Sourceforge page is http://sourceforge.net/projects/radianceml * First steps in implementing a RadianceML schema, rml namespace 0.0.5a: mar 11th 2004 * this really goes to sourceforge.net, silly license typo removed 0.0.6 : mar 16th 2004 * work on schema: elements are defined first, declared inside Scene than so that only Scene can be root now * bug-fixes in Readme.txt, RadianceML.xsd * schema is tested with Morphon XML Editor now * Radiance Prefix removed from elements, use of namespace (thanks to XMLSchema, proposed abbreviation is rml:) in stylesheets * moved Changelog (this info) from Readme.txt into seperate file 0.0.7 : mar 17th 2004 * primitives added, most geometric primitives are implemented now * corrected handling of capital keywords (sphere=SPHERE=SphERe!) * added Todo.txt, COPYING (GPL2, had been refered to before)