Lighting Software Support

Rayfront-Announce Newsletter Archive

 
 
 

Issue Nr. 2
May. 15th 2000.

Contents:

Radiance for Windows Prerelease Finished

LBNL has released the first prerelease version of Desktop Radiance 1.0 to it's registered beta testers. Included in this new release is a fully native port of Radiance for Windows 9x and NT. This is a very important step towards making Radiance available for a broader audience, and at the same time a precondition for the efficient use of Rayfront on NT systems.

As LBNL representatives have informed me, all modifications to Radiance that were needed to make this possible will be available to the general public under similar free license terms as for the unix version. The optimal solution would of course be to merge the changes back into the main distribution, but I'm not sure who easily this can be done. We'll see what the developers in Berkeley will come up with.

I have yet to fully test this new release, and will do so with the required thoroughness, in collaboration with my own beta testers. I will do my best to forward all the feedback needed to the developement team, so that the NT port Radiance can become as robust and stable as the original version for unix systems. Integration into Rayfront will be significantly improved and simplified by the removal of the overhead required for the earlier Cygwin based solution.

Geometry Translation from Autocad 2000

As a tribute to the Rayfront testing efforts at the Victoria University in Wellington, New Zealand, I rearranged my priorities and attacked the problem of exporting geometry from Autocad 2000 earlier than I had planned. There were various issues and incompatibilities to fight, but as a result I could make a solution available much ahead of my original schedule.

The well known Radout ARX module to export geometry data from Autocad to Radiance is now available for Autocad 2000 and can be downloaded for free in a standalone version.

The final version distributed with Rayfront will offer full suport for exporting ACIS solid models. For the moment, this feature is disabled in the free version, but otherwise it is identical to the real thing. If you're already working with Radiance, and want to export your geometry from Autocad 2000, then this is the solution for you!

Tech-Babble: Functional Expressions in Material Definitions

The Tech-Babble section of the Rayfront-Announce Newsletter is targeted at those readers who are interested in the down and dirty details of working with Radiance. I'll do my best to explain things in a way that everybody can profit, but readers with prior Radiance experience may get more value from the information presented herein. The topics will be a little heavy on theory, especially for those that are not part of the Rayfront beta testing program and can't see the dialogs I'm talking about on their own screen. I'll try to make my explanations as clear as possible to compensate for this. If nothing bad happens, then all future issues of the Rayfront-Announce newsletter will contain a Tech-Babble section.

In this issue, I'll talk about how to use procedural modifiers without having to create an extra function file for them. As a background refresher: Many Radiance modifiers (materials, patterns, textures and mixtures) allow you to specify their effects in procedural terms. You can create an extra function file to define those procedures, or you can use the ones predefined by Radiance or the rayinit.cal initialization file.

With Rayfront, you'll have the choice of both methods. If you need to define your own functions (or if the modifier type requires them), then you can of course create a function file and put them in there. The modifier editing dialog will then offer all functions and variables defined in that file for selection, provided they match the expected signature for a specific entry. Obviously, if the modifier definition requires a function with two arguments, then a function with three or more arguments is not valid, and will not be shown in the selection pop-up. On the other hand, Radiance is flexible enought to allow functions with less arguments or even plain variables. The values normally available for the remaining arguments will be just "thrown away" in those cases.

While the definition of functions is only possible within function files, the application of plain variables is much simpler. The entry fields for variable values in the editing dialogs can operate in two modes. In the standard "Select" mode (with a function file active), they work just like normal pop-ups, presenting all variables defined in the function file for selection. If you switch them to "Edit" mode (which is done automatically if there is no function file), then they will morph into text fields for entering freely formatted expressions.

Each of those entry fields understands the expressions you enter, and will inform you of any errors interactively. As long as the expression is formally correct, the background of the entry field will be the standard white. If there is a problem, then the background becomes red, and the message bar at the bottom of the dialog displays diagnostic information about the nature of the problem. Note that you can't close the dialog with the "Ok" button in this situation.

Let's look at an example: if you compare the two color plates 6 and 7 in the book "Rendering with Radiance", then you can see the effects of a "metal2" type material on the top of the little box in plate 6. I haven't found a detailed description on how the actual image was made, but we still can theoretize about the how we'd approach the problem. The color and reflectance values are not what we care for at the moment, they are boilerplate for a metallic surface. We assume that the example has a larger u roughness, and a smaller one for v. The interesting thing now is how the vector u gets defined.

For this purpose, we'll go to the "Procedural" page of the editing dialog. The image simulates a brushed aluminium surface. If the brushing stroke goes straight, then the u vector is constant for all points. This means that we can just enter the values 1.0, 0.0 and 0.0 into the fields for the X, Y and Z coordinates for the vector and we're done, without specifying a function file. (We'll also need to establish a suitable transformation for bringing the vector in alignment with the actual box, but that's a topic for another Tech-Babble).

Now we consider this easy solution pretty boring, don't we? An interesting variation would be to simulate a meandering brush stroke pattern. For this purpose, the u vector needs to change it's direction depending on the position on one axis. The most obvious solution is to replace the 0.0 value for the Y coordinate with an expression. The system knows about the sine function, so let's try this: "sin(Px)". Px is the builtin variable for the X position of the current point. We now have defined a waveform stroke that swings once towards both +Y and -Y for each meter distance along X.

Our box is only a few centimeters long, so that won't give us the desired result. We need to scale our function a little: "sin(Px*150)" will give us 150 up and down swings per meter, or one every 6.66 mm. If we want to vary the intensity (amplitude) of the wave, then we just multiply the result with a correction factor. "0.25*sin(Px*150)" will result in a much flatter wave.

Remember that the formal correctness of this expression is automatically checked! What happens when you make a mistake? The expression "0.25*sin(Px*150" will paint the entry field background in red, and the message bar will read: 'Missing closing paren for function "sin"'. "0.25*sin(Px,150)" results in a: 'Builtin function "sin" requires 1 arguments" (while the grammar may be flaky, the information is precise, since replacing the "*" by a "," results in a function call with two arguments). Other errors will give you similarly obvious feedback, so that you can correct the problem easily. Note that the system has no way of garanteeing that a formally correct expression returns the result that you actually wanted. There's no way I can implement mind reading in Rayfront, but you probably didn't expect that anyway.

Further Plans and Short News

Most of the short topics mentioned in the last issue are still on the list, though generally with different priorities and at different levels of completion:

Autocad integration has seen significant progress, but still needs some refinement. The new Radout for Autocad 2000 simplifies many things, so that one of the next Rayfront beta releases will probably be able to run completely within Autocad.

Luminaire selection and data conversion. My idea of offering an online luminaire data translation service is moving up on the priority list, where it had been replaced temporarily by the expression validation described in the Tech-Babble section above.

The expression validation features have triggered some redesign in the modifier editing mechanisms, which as a consequence have been significantly improved. The online user manual that the beta testers rely on now also conatins detailed explanations about some of the more common materials.

As usual, several bugs get fixed a day, and an unknown new number is created at the same time. A big "Thank You" in this place to all those beta testers who pointed me to problems and supplied suggestions for improving Rayfront.

Other Newsletter Issues

Issue 08 (2002 Sep. 9.)
Issue 07 (2002 Apr. 29.)
Issue 06 (2001 Jul. 10.)
Issue 05 (2001 Feb. 20.)
Issue 04 (2000 Dec. 5.)
Issue 03 (2000 Aug. 31.)
Issue 02 (2000 May 15.)
Issue 01 (2000 Mar. 19.)

 
 

Home

Lighting Software
  Rayfront
  Raydirect
  3Dsolar
  3D Lighting Tools
  Support
  Buy it Now!

Gallery
  Student Works
  Built Projects

Knowledge
  Glossary
  Resources
  Daylighting
  Literature

Download
  Rayfront Demo
  3Dsolar Demo
  Radiance Tools
  Autocad Tools

Information
  Site Map
  Newsletter
  About Us
  Privacy

  Tell a Friend
  Feedback

 
 
http://www.schorsch.com/support/announce/002.html
Copyright © 1998-2003 Georg Mischler. All rights reserved.