"Light Makes Right"
February 2, 1994
Volume 7, Number 1
Compiled by
All contents are copyright (c) 1993,1994, all rights reserved by the individual authors
Archive locations: anonymous FTP at
ftp://ftp-graphics.stanford.edu/pub/Graphics/RTNews/,
wuarchive.wustl.edu:/graphics/graphics/RTNews, and many others.
You may also want to check out the Ray Tracing News issue guide and the ray tracing FAQ.
This issue has a lot of access information: 3D Artist is a great resource for users, the Knowledge Media CD-ROM sounds worthwhile and is certainly cheap, there are a lot of new reference books out, etc. I have also been collecting and soliciting users' opinions (you think I have time to actually use any of this software?) of packages out there; I'm particularly appreciative of Ms. Osborne's quick response with her useful summaries. One resource which is in the other issue (v7n2) but is worth mentioning here is Nicholas Wilt's _Object-Oriented Ray Tracing in C++_ book, as he's made the code for the class libraries available. Though it's more a programmer's book than a user's, it's also useful as a tool for learning C++.
back to contents
_Practical Ray Tracing in C_, Craig Lindley, John Wiley & Sons, ISBN 0-471-57301-9, 1992, $49.95, comes with software: This one is quite old as ray tracing books go (two years!). Here's the table of contents:
1. Background Information 2. Introduction to Ray-Tracing Theory 3. A First Ray-Tracer Program 4. Color Quantization and Display of Image Data 5. Graphics File Formats and Functions 6. DKBTrace and the Image Development Process 7. Basic Ray-Tracing Techniques 8. Intermediate Ray-Tracing Techniques 9. Image Model Discussions Further Reading/Glossary/The Companion Disks/RGB Color Tables
As you can see, this book is based on the DKBTrace software, which has been superceded by POV 1.0 and 2.0. The book has what you need to get going, and deals with all the side issues like image file formats, VGA & VESA, quantization, etc. Actually, there's quite a lot about these topics: 40% the book goes towards them. Modeling is not discussed much, which is fine (the book checks in at 506 pages as it is). The code per page ratio (i.e. how much code listing there is in the book, a very common practice in these trade paperbacks) is a relatively low 35 The text about ray tracing deals with the theory of ray tracing and also acts as a user's manual for DKBTrace. All in all it's not a bad book, but I can't get excited about it. If you want to use a ray tracer, get the book by Wells and Young on POV. If you want to understand or write a ray tracer, get Wilt's book.
____
_Ray Tracing Creations_, Drew Wells and Chris Young, The Waite Group, ISBN 1-878739-27-1, 1993, $39.95 (includes disk)
You should get this book if you are a serious user of the POV ray tracer. Yes, it's a little dated now that POV 2.0 is out; yes, you might already know POV 1.0 backwards and forwards - still get it. It's a 573 page user & reference manual for POV which puts a lot of commercial software documentation to shame. Since it's a user's manual, there are no "pages and pages" of code sections throughout most of the text (they did kill a few extra trees in Appendix A, though, listing 65 pages of include files). Input language examples are kept short and sweet throughout, never more than the lines you need.
The first part of the book is a user's manual which, after getting you through the basics, then gets you using POV to try things out. The last part is a reference manual for the input language. What makes this book so wonderful is the use of images, figures, and layout. There are elaborate POV images at the beginning of each chapter, but what most impressed me was the lavish use of images to illustrate techniques, concepts, and effects. POV images are used in many cases, but not slavishly so; artist's renderings are used when appropriate. There are pretty pictures on the back fold-out cover, but the plates are color renderings of the grayscale reference section images. About the only criticism I can make is the darkness of many of the example grayscale images. All in all, this is a great manual. I particularly enjoyed Mitch Waite's publisher's note, showing how he got sucked into playing with the ray tracer.
____
_Adventures in Ray Tracing_, Alfonso Hermida, Que Corp., ISBN 1-56529-555-2, 1993, $27.95 (includes disk). Let's start off with the table of contents:
1. Introduction to Ray Tracing 2. Your First Ray-Traced Image 3. Using Polyray 4. Lights, Colors, and Textures 5. Constructive Solid Geometry 6. Additional Features 7. Using a 3-D Modeler (POVCAD) 8. Animation
If you want to get someone a single book for playing with a ray tracer, consider this one (they'll need an IBM clone with Windows). It covers Polyray, Alexander Enzmann's ray tracer, along with POVCAD. Polyray is almost something of a testbed for POV, with some features in Polyray eventually migrating into POV. POVCAD is one of the better modelers for Polyray and POV. The two together make for a pleasant combination. Right now the code that comes with it is pretty up-to-date: POVCAD has been updated once since the book's release, and Polyray is still the same for now.
The information and layout of this book are good, with illustrations and renderings of equal quality to those in the Wells & Young book. There are a few oddities in wording in Polyray (e.g. a "directional light" to Polyray means a light that does not cast a shadow; this term is used in most other renderers to mean a light at infinity, or maybe a spotlight), but otherwise it seems to be a fine renderer. There are some errors in the text, and Alfonso kindly contributed his errata list to this issue (the last article). The animation section is a bit short for my tastes, but does get you started. But, if you're interested in animation, then...
____
_Making Movies on Your PC_, David K. Mason and Alexander Enzmann, The Waite Group, ISBN 1-878739-41-7, 1993, $34.95 (with disks).
Table of contents: 1. Introduction (concepts, tools on the disk, ...) 2. Getting Your Feet Wet (running the software) 3. Making a Movie in Eight Steps 4. Advanced Techniques 5. Movie-Making Tools (heart of the book: Polyray, DTA, SP, DMorf) 6. The Movie Pages (a series of complete animations)
This book stresses animation, obviously. Its approach is to teach you to use a variety of shareware tools to do it: Polyray, Dave's Targa Animator (which converts a series of Targa images into a flic file), SP (a spline path generator program), and DMorf (a 2D image morpher). It's a pleasantly short book, weighing in at 210 pages. The layout is of good quality, with ample illustrations.
This book is not meant to be a guide for programmers or students, it's meant for some serious playing around. If you already understand the tools listed, you probably won't gain much from this book (which I guess could be said of any of the books above). But if you're starting out and would like to understand a bit more about how and why these tools work, consider getting this one. You don't necessarily have to design a movie from scratch, either: there are nine movie scripts provided which you can modify to your heart's content.
There's also a contest for best animation which is... over! Oh, well; I'll be interested to see the results (judging is at the end of March).
____
_Tricks of the Graphics Gurus_, Dick Oliver, Scott Anderson, James McCord, Spyro Gumas, Bob Zigon, SAMS Publishing, 1993, $49.95.
This is a monster, coming in at 894 pages, two disks, and 3D glasses. Polyray is used on the ray tracing front, and lots of other graphics programs are covered (as I recall: morphing, fractals, image processing, etc etc etc). It was certainly a, ummm, heavy book. I wasn't incredibly impressed paging through it, there seemed to be a lot of techniques thrown around but not used particularly well. However, this is based on looking at it for a few minutes at Electronics Boutique with a sales drone hovering about, so take this gut reaction with a grain of salt or three.
____
_Object-Oriented Ray Tracing in C++_, Nicholas Wilt, John Wiley & Sons, ISBN 0471 304 158, 1993, $36.95: See the next issue (coming out minutes after this issue) for information on this one, and where to get the code on the net. It's a programmer's book, and is pretty good for what it is.
back to contents
(Eric Haines)
____
Coprocessor speed
I have followed everyone's suggestions and purchased a math coprocessor. Here were the results [of running POV on a scene, not sure which - EAH]:
386DX/33MHz w/out 387: 29hours, 54 minutes, 49 seconds 386DX/33MHz w 387: 1hour, 47minutes, 32seconds
Definitely a huge time saver!! It's neat having my 386/387 outperform a 486SX (which took over 12 hours to render). At any rate, if you're having any trouble with rendering times -- an investment in a coprocessor is VERY RECOMMENDED!!!
(John Warren<EMAIL_ADDRESS>____
New Pv3D Available
Ludovic Lecointe has released a new version of Pv3D to coincide with the new release of Persistence of Vision, v.2.00. The new release is *not* complete, coming in under the version number of 1.91. However, preliminary testing has shown that it is certainly PoV v.2.00 compliant, including flat image/texture mapping and height fields.
Availability has been confirmed at the following source:
The Graphics Alternative BBS +1<PHONE_NUMBER>
PV3D modeler Version B1.91 For POVRAY 2.0 and VIVID 2.00 Graphics interface (GUI) with mouse. Many function are modified since the last version!!! Includes: 3D animation function 3D visualisation with camera / look_at Vectoriel object structure. XMS Support POV primitives support, Blob structure Height Field Shape, Mapping Texture Bumping Function, GIF viewer VIVID 2.00 primitives support External Textures Library (POV/VIVID) Dynamic Rotate Move Scale (R-M-S) NEW! Support Groupe and Object Library CSG, Constructive Solide Geometry Direct generation of POV-RAY 2.0 files Direct generation of VIVID 2.0 files And more.and more ..., Splines, ...Smooth and Patch TXT shapes POV / VIVID
I talked with Ludovic on 10-11 and we discussed various future improvements, including the documentation. =] I am hoping he has the opportunity to work on the new lighting improvements that PoV v.2.00 has brought to the fore.
In conclusion I have to admit that I did not expect to see a new release so quickly. I did know that Dave Mason sent him an "early" copy of PoV, so perhaps that helped. Regardless, it is here, so let's just get on with it! =]
David Anjo<EMAIL_ADDRESS>____
POVCAD 2.0c for Windows ready!
Hi! POVCAD 2.0c for Windows now supports POV 1,2 and Polyray 1.6. It's AVAILABLE NOW from my BBS<PHONE_NUMBER> in Maryland USA. [It should be at oldenburg by now - EAH]
(Alfonso Hermida<EMAIL_ADDRESS>____
PV3D vs. Moray vs. ...
Francisco J. Diaz<EMAIL_ADDRESS>wrote:
: And wich one is better: MORAY or PV3D? I'm checking both out to see which : one I'll stay with. Thanks!
Actually both have advantages and disadvantages, I find that I need both of them most of the time. Also check out povcad2c somewhere on the net. More than likely you will keep all three. I like Moray's features and the way it handles CSG, bounding boxes, texture editing, bezier patches, and the surfaces of rotation, extrusion and conic rotation. But it has many shortfalls, a limited number of primitives and the copy feature is a drag. PV3D v100 is more flexible in this area but it too has many good features and drags too. Same can be said for POVCAD.
BUT! don't get me wrong, the guys who are working on this stuff are doing an unbelievable and great job. I say get all three, and if you have the space on your disk, keep all of them, and don't forget to register if you can afford it :-) ehhh he he he. errmm caugh caugh.
(Ford Prefect [gee, I wonder if that name's real]<EMAIL_ADDRESS>____
My personal opinion is that I like Moray better than POVCAD or PV3d (also on oldenburg) -- POVCAD seems a bit clunky to me, and PV3d has the worst documentation in the world (the program's okay, but the docs are in broken English inexpertly translated from French)) which makes the program hard to use. Perhaps the next version of PV3d will be better, but I really like Moray. (Get more memory!)
(Gavin S. Patton<EMAIL_ADDRESS>____
Fonts for POV
A while ago I wrote a program DXF2TRI that converts polygons in a DXF file to raw triangle data. The reason for this was to let me import any TrueType font into POV in the following manner: 1. Using CorelDraw, generate the desired text and export to a DXF file. All lines are converted to POLYLINES in the process. 2. Run DXF2TRI on the DXF file, resulting in a raw triangle file. 3. Run RAW2POV on the RAW file. You will wind up with an INC file with bounding surfaces (which was a bonus when working with POV1.0; it's not that big of a deal with POV2.0) courtesy of RAW2POV.
DXF2TRI has the option of extruding the shapes (while it was originally designed for fonts, it will work on any shapes you can generate in Corel) to a depth of 1.0, which can then be scaled as desired. It will also generate a back surface if needed. It does not support bevelling. It should be usable with any vector drawing package that exports DXF files and converts all lines to POLYLINES. DXF2TRI does not recognize any other entities.
I believe DXF2TRI (as well as RAW2POV) can be found at: wuarchive.wustl.edu: /graphics/graphics/mirrors/ftp.informatik.uni-oldenburg.de/pub/dkbtrace and in the util or uploads|incoming directories. The ZIP file contains the executable, source code, directions on use and a sample JPEG image.
The alternative is to generate a B&W bitmapped image (GIF, TGA or IFF) of the desired text and then use it as a height-map on a surface. The drawbacks are limits on the bitmap's resolution and the resultant non-coherence of the extruded edges.
Tim Riley<EMAIL_ADDRESS>____
POV in IEEE CG&A
There is an article in IEEE Computer Graphics and Applications called "Mike Miller's Many Hats", v. 14, n. 1, Jan. 1994, p. 4-6. It discusses his work, tools he uses and showcases a number of his images.
(Eric Haines)
________
Syndesis for PC
>InterChange Plus from Syndesis currently converts between all those format
>and more, except for pov. It runs on the Amiga. Contact Syndesis at:
>(414) 674-5200
I talked to Syndesis recently, and they will also be coming out with PC version. Maybe late this month or sometime next month.
They say that they will also have a Softimage module in the future as well.
(Techs Avery<EMAIL_ADDRESS>________
Rayshade Animation Language
I developed a simple language for producing animations in conjunction with rayshade three or four years ago. It is very similiar to using script to generate lots of frames but it is (I believe) easier to coordinate events and it takes care of the linear interpolation. It does *not* blur the motion (the tool was developed before rayshade had this capability).
It is available by anonymous ftp in /pub/sass on acs.cps.msu.edu.
Let me know if you are using it because I will begin work a major new release real soon now (and I'll let you know when it is ready).
(Ron Sass<EMAIL_ADDRESS>________
avalon.chinalake.navy.mil [<IP_ADDRESS>] (the 3D model archive) ...its IP is now <IP_ADDRESS>. Everything else is the same.
(Francisco X DeJesus<EMAIL_ADDRESS>________
I've written a raytracer (available from wuarchive.wustl.edu, graphics/graphics/ray/rayce/). [More than this I do not know... -EAH]
(Han-Wen Nienhuys<EMAIL_ADDRESS>________
RTrace and Ray Tracing Races
I have added a BV hierarchy generator similar to Goldsmith/Salmon to RTrace 8.3.2 (new option c0) and did some tuning in the BV intersection code (beta version 8.3.3).
[results deleted]
RTrace 8.3.3 seems faster in all scenes (83-2029972284n balls and 87-2029972284n tetra). The GS-like BV's in some cases are worst (balls and tree), but in the sphere test it is much faster! I still haven't understood why this happens, but there must be an explanation.
(Antonio Costa<EMAIL_ADDRESS>____
RTrace & Radiosity
The "lightR" radiosity program from Bernard Kwok<EMAIL_ADDRESS>is now available to run in a PC with DOS DJGPP GO32 extender.
You can ftp a working version with some scenes and utils at asterix.inescn.pt [<IP_ADDRESS>] in directory pub/LightR/PC-386
The source code is in pub/LightR/PC-386/src
I found the program very interesting and it helped me to learn a lot about Radiosity (a rendering algorithm).
I have also adapted its output to the RTrace ray tracer so that nice images could be produced:
lightr scn2sff rtrace PAT, VW ----------> SCN ----------> SFF ----------> PIC PPM
I included minimal docs and specs, but I intend to improve this area in the future... Please feel free to contact me.
RTrace code (for PC's) is in pub/RTrace/PC-386
(Antonio Costa<EMAIL_ADDRESS>________
VISION 3D, version 1.7, by Eduard Schwan<EMAIL_ADDRESS>Yes, it is here, straight from New Zealand!
Vision3d (CIS:GO GraphDev:LIB 6-RayTrace Sources:Vis3d.sea) is a Macintosh 3-D CAD modeller, which outputs POV-Ray 2.0 syntax! It is a Shareware polygon facet modeller (i.e. no primitives, just lots of triangles), but it has lathe and extrusion capability, and some interesting effects. It can export to Super3D, Radiance, RayShade, Renderman, POV-Ray 2.0, and DXF. The archive contains both an FPU and non-FPU version of the program. I'm only the messenger (and the person who asked the author to support POV-Ray.) If you have comments, kudos, or questions, please drop the author a note. Paul Bourke is not on CIS, but he can be reached through the internet gateway, using this CompuServe e-mail address:
<EMAIL_ADDRESS>For the internet-lopers out there with ftp access, the Vision3D archive can also be retrieved from: hobbes.lbl.gov in the pub/mac directory, along with a fractal terrain & plant & L-System generator as well. If enough people send him mail (and a shareware fee) he might add primitive support for POV-Ray, and other features too.
________
SPD 3.1 Enhanced for RenderMan RIB Output, by Philipp Slusallek<EMAIL_ADDRESS>The last few days I have extended the SPD package (Version 3.1) to support RenderMan RIB output.
Please note that the RIB output has not been verified against the Pixar RenderMan software, but only with our own. So there might still be bugs that our software does not yet check.
I hope you still maintain the SPD package (it's really nice for comparing renderers) and can include that stuff for the next release.
[I hope to integrate this into the enhanced SPD package soon - I thought I would announce it now, write me if you're desperate for the code. -EAH]
________
Polyray Update Soon
[As of 1/27/94] Polyray v1.7 is now in beta test. Expected release is one to two months. I've got a lot of doc cleanup - the last full set of docs was for v1.5.
New features include: TrueType style glyphs (with a converter), NURBS, displacement surfaces in either scan conversion or raytracing, greatly improved antialiasing, and bumpmapping.
There's been a massive internal overhaul of the code, so I've been spending lots of time squashing new bugs in addition to old ones that have been hanging around.
(Alexander Enzmann<EMAIL_ADDRESS>________
VIVID 3.0?
I'm still working on the docs for 3.0. Due to my total love of writing docs this is an extremely slow process. :-) Please note that my email address has changed. That's another reason for my lack of time to finish 3.0.
(Stephen Coy<EMAIL_ADDRESS>________
Imagine 2.0 Sites?
There are many objects, textures, and attributes for Imagine on Aminet (try ftp.luth.se, as that might be your closest site), not sure which machine you're running it on, but there might be some problems with using these files on the IBM version, stuff on Aminet is for the Amiga :) Be aware that Imagine2.9 (alias 3.0) uses a different format for attributes (not sure about objects or textures, I wish they used some kind of compression on the objects) than previous versions, and aren't compatible.
(Steve<EMAIL_ADDRESS>________
On-Line L-system, Fractal, Fuzzy Logic & CA Tutorial
Using xmosaic and world wide web, you can have access to an online tutorial on l-system, fractals, fuzzy logic and cellular automata. The url is http://life.anu.edu.au/complex_systems/complex.html.
The main entry point is http://life.anu.edu.au/ from the Australian National University Bioinformatics.
(Laurent Moccozet<EMAIL_ADDRESS>________
The New Graphics BBS
Call The NEW Graphics BBS at 908/469-0049, All lines 14400 Baud, 24 hours a day, every day!
Featuring:
o A graphics specific system for those of you interested in such things as 3D, objects, image processing, animation, MPEG, JPEG, GIF images, graphics mailing lists, file formats, clip-art and the latest in public domain graphics programs! o Knowledge Media "Graphics 1" CD-ROM containing over 450 megs of graphics applications and information available for transfer to your system. The 645 megabyte "MultiMedia" CD will be online shortly! o Graphics specific mailing lists such as Imagine 3D, Rayshade 3D Studio POV Ray and Lightwave 3D mailing lists aliased to easy to read forums which you can join and read. Many more to come! o Newsfeeds from USENET that include topics such as graphics...
(by Bob Lindabury<EMAIL_ADDRESS>________
The Graphics Emporium BBS
This BBS is dedicated to the graphics professional and hobbyist to exchange information, ideas and techniques for Computer Y Graphics. It is not dedicated to any single system, as the Administrator has resources for Amiga / Macintosh / IBM and other platforms as well. Information exchange is the key, and File sharing is as welcome as eMail. So, share your latest 3-D models and 2-D renderings and also get the latest files and techniques - there are no ratios. Just a sharing of creativity.
Located in Redondo Beach, California:<PHONE_NUMBER>
(Morph's Outpost on the Digital Frontier<EMAIL_ADDRESS>back to contents
____
I promised information on 3D Artist last week, so here it is (note: I am merely a subscriber and have no other connections to the magazine):
3D Artist is a magazine that specializes in desktop 3D graphics. It doesn't appear to come out at a fixed schedule but as numbered issues. It's full of articles on share/freeware, commercial packages, how-to, reviews and ads. In fact, it's so full, it's sometimes not immediately obvious which illustra- tions/photos are associated with which articles. It would give a layout de- signer or graphic artist a stroke and would be a good candidate for a make- over in Publish magazine. But information is of prime importance and it's full of good info and decent illustrations.
The newest issue is #12 which I received last week and it contains 34 pages with articles on:
* Lparser (review) * Siggraph '93 * MacroModel (first look) * Imagine-Detailor (review) * Photoshop 2.5 (first look) * Hi-color flic's packages (review) * 3D-Studio rel. 3 (first look) * Visual Link (review) * Animation Commander (review) * AccuRender Chrome & Glass (how-to) * Lighting (how-to) * Playmation stereo pairs (how-to) * Moving the Topas camera (how-to) * MIDI online * Imagine (how-to) * Miscellaneous tricks & tips * Various press releases, notes, calendar, addresses & phone numbers, classified ads.
Subscription info:
Surface Mail First Class Air Mail --------------- ----------- ------------------------- US CA/ME OTHER US OTHER CA/ME W.HEMI EUR OTHER 12 issues $29 $41 $46 $44 $51 $44 $55 $68 $81 6 issues $16 $23 $26 $25 $28 $25 $30 $37 $43
It's not cheap and it's tightly packed, but I find it useful. I think they will sell single issues to let you get an idea (the cover price is US$3.50). The address is:
3D Artist P.O. Box 4787 Santa Fe, NM 87502-4787 USA Voice:<PHONE_NUMBER> FAX:<PHONE_NUMBER>
back to contents
The price is 19.95 plus Shipping and handling. ( Regular price 24.95)
This CD-ROM contains 426 Megabytes, 16,000 files. An extensive collection popular public domain, shareware, and freeware graphics programs and tools, along with sample data files. A resource for all those interested in graphics and multimedia.
A partial list of applications includes( a full directory listing is more than 500 pages) these programs:
Converters ( 21 Amiga, 10 IBM, 4 MAC) Object Modeling Applications Ray Tracing Programs Fractal software ( 7 Amiga, 5 IBM) Drawing Programs ( 2 Amiga ) Paint Programs ( 2 Amiga, 2 IBM, 3 MAC) Image Editors Image Manipulation Software Geometric Manipulation Applications Plotters Rendering Applications ( 1 IBM, 2 Unix)) Image Viewers ( 28 Amiga, 9 Atari, 26 IBM, 12 MAC, 15 Unix) Raster Toolkits Format descriptions ( 37 ) Compression Packages ( JPEG, GIF, TIFF etc.) Screen Capture ( 2 Amiga, 3 MSDOS, 7 Windows 3.1) Mapping Applications ( 2 Amiga, 1 IBM) Animation Players ( 8 Amiga, 1 Windows 3.1) PHIGS Tool Kit Gem Graphic Functions [??? Graphics Gems code ???-EAH]
Some examples of media for use with these applications
Images (4 BLM, 2 GIF, 20 JPEG, 1 Landsat, 14 NASA) Objects ( 138 OFF and 8 NFF) Movies ( 1 Amiga, 1 MPEG)
Knowledge Media's Resource CD-ROMs are MULTI-PLATFORM compatible. They have been recorded in the generic ISO 9660 standard file format.
Ask Knowledge Media about shipping & handling & whatnot:
Voice: 1-800-78-CDROM Fax: 1-916-872-7487 E-mail<EMAIL_ADDRESS>Compuserve 73167,1312
mail: Knowledge Media 436 Nunneley Rd, Suite B Paradise, CA 95969
A complete catalog of Knowledge Media's cd-roms may be ftp'ed from: ftp.cdrom.com:cdrom/know_med/catalog.txt
or send email request to<EMAIL_ADDRESS>[Note that Bob Lindabury's "New Graphics BBS" has this CD available online; see elsewhere in this issue for his announcement. -EAH]
back to contents
There are just a couple more programs on this list.  An early version of Lissajou helped me create my first real trace and I still discover the occasional new pattern that I have to do *something* with. Because it helped me so much I always recommend this to someone who is new to tracing.
Finally, a fairly new suite of programs that I find myself never growing tired of: LPARSER and LVIEWER. I use Lviewer all the time. It's fast and has never choked on an object file no matter how big or crappy the object might be. It is also the only way I have to view .3DS files (count me amongst the legions of wannabes too poor to take the plunge and buy 3D Studio). I must say, the l-system language read by Lparser isn't the easiest chore I've taken on learning, but it's both sparse and extremely powerful. Gravity (tropism) is supported in version 2. And, though I still wish I understood it better than I do, this program has provided me with hours of useful exploration. I had better throw in a small caveat here: Lparser is a computationally heavy program. There is no way to tell it is still chewing on what you've given it except by the changing recursive level (and sometimes it takes a looong time for that level to change). Once, I took an early mutation l-system file and attempted to output to DXF (3D faces). Many hours later I discovered, to my horror, that I had a 17 meg DXF file and 0 bytes left on that drive. I named it kudzo and tried to get any other program to acknowledge it but no dice. It was the last time I ever set the recursive level to 14, let me tell you.
Anyway, Eric asked me to give separating the wheat from the chaff a try and this is it. I'd like to add that many other programs are extremely valuable in their own right and still others are excellent for beginners (ie, folks who aren't hooked yet...). I'd like to give a blanket "thank you" to all the talented and generous programmers who place their programs on line so that everyone can benefit from them.
________
Raytrace Utilities List for DOS (and Windows), by Amanda Osborne<EMAIL_ADDRESS>[An up-to-date alphabetical list of modeling and rendering software the author has run across. Many should be available on oldenburg and mirror sites. -EAH]
--3-- 3DSPOV16.ZIP -- Reads 3d studio ascii files. Writes out to Raw, Povray 1 and Vivid. (1992, Anger & Bowermaster) 3DSPOV18.ZIP -- Reads 3d studio mesh files. Writes out to Raw, Povray (1 & 2), Vivid and Polyray. (1993, Anger & Bowermaster) 3D2POV18.ZIP -- Converts .3D2 files to Povray (1 & 2), Vivid or Raw output. (1993, Anger)--A-- ACCEL.ZIP -- Animation utility for DKB 2.12. (1991, Trindle) ANIMK05G.ARJ -- Animation utility for Povray 1 and Vivid. (1992, Taylor) AWKANI.ZIP -- AWK script to output Povray animation data. (1992, Farmer)
--B-- BACKMAP.ZIP -- Qbasic program to create a graduated color map from two user defined colors. The map file created is compatible with Fractint and Vivid. (1993, Smith) BOXER1.ZIP -- Object generator for Povray 1 (makes things like bathroom tiles and such based upon user input). (1993, Miller) BRANCH1.ZIP -- Tree creator for Povray 1. (1992, Weller)
--C-- CHAIN11.ZIP -- Generates interlocking chain links for Povray 1.0. (1992, Koehler) CHEM2DKB.ZIP -- Reads molecular models and writes DKB format. (1991, Farmer) CHEM2V.ZIP -- A modified version of Chem2DKB, this program reads molecular model files from the PD program Chemical and writes out a Vivid 1.0 datafile. (1992, Cox) CLAY02.ZIP -- Free form modeller; several file formats are supported. (1993, Hermida) CM100.ZIP -- CircleMaster utility for working with quadric spheres and ellipsoids; writes output to Povray 1.0. (1992, Brown) CMAP11.ZIP -- Interactive color map creator for Povray. (1993, Lutz & Kretzschmar) COIL2.ZIP -- Creates coiled objects for Povray 1.0. (1992, Kirby) COIL2V.ZIP -- Creates coiled objects for Vivid 2. (1992, Kirby & Cox) CREND15.ZIP -- Interactive texture modifier for Povray (0.5 & 1.0). (1992, Lutz & Kretzschmar) CTDS230.ZIP -- Connects a series of xyz dot coordinates. Though this may not sound like much, this is an extremely helpful utility. Supports Povray, Vivid and Polyray. (1993, Brown)
--D-- DIAMOND2.ZIP -- Generates diamond shapes for Povray 1. (1993, Koehler & van den Bos) DNA09.ZIP -- Interesting modern sculpture "dna strands" are created from user input. Outputs cleanly (no tweaking necessary) to Povray 2.x. (1993, Bryerton) DUST01.ZIP -- Simple particle generator, with output to Vivid, Polyray and Povray. (1993, Mussetter) DXF2POV.ZIP -- DXF to Povray 1 conversion program. (1992, Collins, Wells, Farmer & Gibeson) DXF2RAW2.ZIP -- DXF to Raw conversion program. (1992, Coy, Barber, Daigle & Shiffman) DXF2V22.ZIP -- DXF to Vivid conversion program. (1992, Coy, Barber, Daigle & Shiffman) DXF3DS.ZIP -- DXF to 3DS conversion program. (1991, Yost/Autodesk)
--F-- FONT2DAT.ZIP -- Version 1.2 is a Qbasic program that takes a font file and writes an include file for Povray 1.0. (1992, Koehler & Clark) FORM.ZIP -- All sorts of shapes can be generated with this program. Form files consist of both shapes and commands (like twistx and bend) and output may be Povray 1, 2 or .plg. Interesting program, complementary to LPARSER. (1993, Rowbottom) FOUNT04.ZIP -- Fountain particle generator, with bounce. The program creates a user-defined number of files in Vivid, Povray (1 & 2) or Polyray and has a good variety of fields to set. Some tweaking involved. (1993, Mussetter) FRC2POV.ZIP -- This program reads a mandelbrot parameter file from Fractint and creates a corresponding Povray 2.x mandel texture file. (1994, Grossman) FRGEN14.ZIP -- Fractal Landscape (and other shapes too) Generator. Though the program supports Vivid and Povray 1 & 2 directly, by selecting raw output you can smooth triangles out with RAW2POV to create nice hills and dales. (1993, Anger) FS11.ZIP -- Fonts to Shapes: Windows program that creates Povray 1.0 files from True Type fonts. Unregistered users don't have access to the entire alphabet. (1993, Peterson, $15.00 shareware) FWHEEL1.ZIP -- Straightforward and unique animation utility for Vivid and Povray 2.x. (1993, Brown, $5 shareware)
--G-- GEAR13.ZIP -- Generates gears for Povray 1.0. (1992, Koehler) GLOB10.ZIP -- Rounded object generator for Vivid. (1993, Sherman) GTR.ZIP -- General Triangle Reader. Strips away raytrace specific syntax, writing raw triangular data. (1992, Bowermaster)
--H-- HYPE100.ZIP -- Utility for working with hyperboloids of one sheet; writes output to Povray 1.0. (1992, Brown)
--L-- LAND.ZIP -- Fractal landscape generator, with output to RAW and Povray 1.0. (1992, Stanely) LISS151.ARJ -- Lissajou pattern generator with many (CTDS, Raw, Povray 1 & Vivid) output formats supported. (1992, Caba & Farmer) LPARSER2.ZIP -- L-system creator and mutator. This program is particularly strong in the creation of organic looking forms. Many data files are included with the program, which can be edited or mutated to interesting effect. The language of l-systems is not intuitive but the results can be truly stunning. The l-system file that is read into the program can be outputted to DXF (both R12 and 3D faces), Povray 2.x, RAW and Renderstar VOL. A couple of accessory files are included with the main program and are strong programs in their own right. LVIEWER, a favorite of mine, is a wire-frame viewer that reads .3DS, .RAW, Fractint .RAY, ARE-24 .POL and Lparser/ Renderstar .VOL files. Rotation, zoom and pan the "camera" position, which can be saved to a file. This file can then be read into LV2POV. (1993, Lapre) LV2POVID -- Newer and more powerful than LV2POV, this program reads an lviewer info file and generates data files in Povray (1 & 2.x) and Vivid formats. The program's main strength lies in landscape generation. (1993, van der Mark)
--M-- MESH01.ZIP -- This program modifies a flat triangular mesh in any of a variety of ways (arc, curl, dome and so on) and can output the resulting mesh to DXF, RAW, Povray 1.0 or Vivid. (1992, Flores) MORAY13.ZIP -- Povray 1 & 2.x object modeller and scene creator. Extremely powerful program, in part because of its wide support of Povray's primitive shapes. (1993, Lutz & Kretzschmar, $59 shareware)
--O-- OBJ2ASC2.ZIP -- Wavefront object to 3d studio ascii converter. (1993, Knight)
--P-- PDOTS03.ZIP -- Visual modeller of wormy shapes. It can read its own DOT files as well as CTDS and Worm files. It can also read spline path data from SP03, in which case it will write out a path file. Other output formats are Vivid, Polyray, RAW and CTDS. Very interesting. (1992, Mason) PLANT05.ZIP -- Fractal plant generator. Outputs supported are Povray (1 & 2), Polyray and CTDS (Connect the dots smoother). (1993, Bryerton) POLAR1.ZIP -- Pattern generator (circles, ovals and several others). Output can be fed into CTDS, among other uses. (1991, Hammerton) POVCAD3.ZIP -- Windows 3.1 program supporting input of DXF (3d faces) and Raw files. CAD modeller and scene generator for Povray (1 & 2) and Polyray. Quite a few primitives are supported. (1993, Hermida, $15.00 shareware) POVGEN11.ZIP -- A mouse-driven surface of revolution generator, with output to RAW and POV 1.0. (1993, Hermida, shareware) PREPOV05.ZIP -- An equation and formula solver for Povray 1.0. (1993, ?) PUDDLES.ZIP -- Creates batch files of raindrops using height fields. The files created can be rendered in Povray 1.0. (1992, Haveland) PV3D100.ZIP -- Object modeller and scene creator for Povray and Vivid. The last time I tried this out the documentation was still a bit strange but the program itself looked powerful, if not overly easy to use. (1993, Lecointe) PVMDL1.ZIP -- Object generator for DKB and Povray 1. (1992, Mikelson)
--R-- RAW2PV18.ZIP -- Excellent utility that allows the user to adjust the level of smoothing to apply to raw data as it is translated to Povray (1 & 2.x), Polyray or Vivid 2. It can also add a camera and light to the scene, making things fairly easy for the novice user. (1993, Anger) RAWMRPH2.ZIP -- Morphs raw triangular data from one dataset into another. Though it's not real smooth, it's a cool idea, and a lot of fun to play with. (1993, Cox) RAYPACK.ZIP -- Hodgepodge of helpful Qbasic programs for use with Vivid. Some neat stuff here like hexagonal paving and stellated dodecahedron creation. (1993, Smith) RAYSCENE.ZIP -- Set of animation utilities, not raytracer specific. (1991, Jarik & Hassi) RAYL210.ZIP -- Helpful utility to convert uLathe (an object creator program for windows) files to RAW, Povray 1 & 2.x or Vivid 2 format. (1993, Koehler) RTAG21.ZIP -- Ray Tracing Animation Generator (not raytracer specific). A powerful program with its own language which supports, amongst other things, spline path generation. (1993, Sherrod, $20 shareware)
--S-- SCULPT2D.ZIP -- Reads in Sculpt Animate 3D files and writes out to DKB. (1990, Buck and Collins) SHADE12.ZIP -- Generates lampshades for Povray 1.0. (1992, Koehler) SHELLGEN.ZIP -- Shell generator for Povray 1.0. (1991, Farmer) SMOOTH31.ZIP -- Building upon the original Sandpaper code, Smooth provides a means to calculate surface normals of raw triangular data. In addition, several small utilities (Center and Scale) are also provided. Though nicely supported and up-to-date, in version 3.0 at least, there seems to be some syntax errors in files outputted to Povray 2.x. The first version of this program also supported many other output formats (something I miss). (1993, Burton, $10 shareware) SNDPPR2.ZIP -- Smooths out raw triangular data when outputting to NFF, Vivid, DKB, Povray 1.0 and Rayshade. (1992, Schoenborn, Coy & Cox) SP03.ZIP -- Spline paths for animations. Many output formats (Povray, Vivid, Polyray, 3DV, Wire 3D) and acceleration and deceleration are supported as well. (1992, Mason) SPHRCL11.ZIP -- Spherecal makes interesting shapes out of spheres based upon several options. Output to Vivid 2 or CTDS. (1992, Pettyjohn) SPINGEAR.ZIP -- Animation batch file generator for DKB. (1991, Farmer) SPIRAL22.ZIP -- 3D coordinate generator with output to CTDS and Vivid. (1992, Brown) SPRING12.ZIP -- Generates a series of data files to create a spring animation using Povray 1.0. (1992, Koehler) STAR.ZIP -- Starfield generator for Povray 1. (1992, Weller) STAR12.ZIP -- Generates 3D stars for Povray 1. (1992, Koehler) SUDS2.ZIP -- Random positioning of lots of spheres (or other objects) based on a variety of selections. (1994, Farmer, Wegner & Schwan) SWOOP01.ZIP -- Shape generator (twisted sweeps and extrusions) to RAW output which can be converted to your tracer of choice. (1992, Otwell)
--T-- TCE20.ZIP -- The color editor for Povray 1. (1991, Farmer) TCEV20.ZIP -- The color editor for Vivid. (1991, Farmer) TDDD2ASC.ZIP -- TDDD (Imagine) to 3D studio ascii file converter. (1993, Knight) TEXMAKE2.ZIP -- Early version of a utility to assist in texture creation in Povray 2.x. (1993, Sigler) TGA2POV2.ZIP -- Converts targa files to Povray 1.0 objects. (1992, Steeves) TREEBAS.ZIP -- Qbasic program to make trees from l-systems. (1993, Storm & Audas) TTG12.ZIP -- Truman's Torus Generator for Povray 1.0. (1993, Brown) TWISTER.ZIP -- DKB utility to produce ribbon like figures. (1990, Wells)
--V-- VIVTOOLS.ZIP -- A nice set of object generators for Vivid. (1992, Martina) VTEXT09.ZIP -- Letter generation tool for Vivid. (1991, Coy) VVFONT18.ZIP -- Borland .CHR fonts to Vivid, Povray or Polyray. Bevelling and domed letters are supported. (1992, Traylor, $5.00 shareware)
--W-- WORM05.ZIP -- Object creator for wormy shapes. Reads Worm files and writes Worm, CTDS and Vivid output. (1992, Flores) WRM2RAY.ZIP -- Converts Worm files to Rayshade compatible output. (1992, Kirby)
--Z-- ZOOM11.ZIP -- Interpolates steps between two positions for Povray 1.0. (1993, Brown)
========
One program that doesn't really fit the list but that should be considered is SCULPTURA by Michael Gibson. At $99.00, it is really a commercial program but there is a demo available (with save and rendering disabled). Windows- based, this program seems very robust and supports several flavors of files for both input and output (it can read in more sorts of DXF files than any other program I've used, for instance). Output to Vivid and Povray 1 are directly supported as well, but it's great strength lies in object creation and manipulation. And it serves as an excellent way to get True Type fonts into your favorite tracing program.
I'm sure I've left some things off and made some factual blunders amongst what I did include. Please let me know what the goofs are and I shall try to correct stuff and keep it up to date.
back to contents
I've just been putting together a bunch of raytracing stuff, and I've discovered:
povray - povray 2.0, doesn't seem much faster than version 1.0, but has _everything_ I want, including Constructive Solid Geometry & Fractal HeightFields mray13 - moray 1.3, a decent modelling tool that makes v2.0 files ... best of all, it's shareware. pv3d - another modeller, this is crippleware, and I don't have the money to invest in a complete version, so I can't tell you how good this is. povcad - requires VBRUN100.DLL, which I haven't installed yet, so I don't know its quality. But, consider, Basic? Really? Do you write Basic? I know people who say great things about Visual Basic, but ..., who believes it? dmorf - Dave's Morphing package. Seems good, uses splines for the image segments, produces .TGA files. dta18e - Dave's Targa animator, version 1.8e. Makes movies in .FLI format, interpolates frames, etc. Requires some of the DMORF stuff, so unpack it into your DMORF directory. I also dumped a copy of AAPLAY.EXE into the DMORF directory to play my .FLIs. piclab - PICture LABoratory version 1.8. A command line program that handles TGAs and GIFs. Very fast, lots of features. neopnt2a - NEOPAINT version 2a. Best paint program I could find that didn't cost $money. Good for touch-ups of GIFs, change palette, etc., etc. pspro2 - PAINT SHOP PRO II. The only Windows package in this list so far. Has good resizing, capture facilities, can batch change files, by type & path. So what else is out there? Well ... display - image & FLI editor.  Maybe when I get some $money, sigh. pvquant - a set of utilities in source code form only, seems nice, I'll report on this when I get round to it, unless some nice person does first. rmorf - another morphing package, produces .FLIs on request. However, doesn't use splines, so some transforms not easy to define. I prefer DMORF to RMORF, but both are usable.
I'm also chasing movie makers like MPEGXING and so on. Plenty of players around, just not very many makers. This area of R&D seems very volatile & will probably alter significantly in the near future. Experts, please keep it coming!
N.B: If you're looking for the stuff above, use the ARCHIE substring search to find a site near you.
E.G.; to find DMORF, type
archie -sdmorf | more
back to contents
The reason I am writing is that I have produced some trees and a plant and was wondering if anyone would be interested in viewing them and giving their opinions. I have not seen the output from many other programs, so I have not really got anything to compare them to.
 If anyone is interested in seeing them, they are available for anon FTP at princeton.edu in the directory pub/trees/drinkwater. They are in JPEG format. If you have problems reading/getting them, write to me and I'll mail them to you. If you receive them, send them to anyone you want to, to get their comments too.
Before you ask, the code is not available for release just yet. I think it will probably be made public in the summer sometime.
____
Jason Weber replies:
I made a few small gif's of our trees and put them on our ftp so that anybody can take a look at 'em.
They're available via anonymous ftp at belvoir-arl-irisgt.army.mil in pub/viewtree/images .
I picked out a few interesting trees:
aspen.gif Quaking Aspen austrian.gif Austrian Pine cactus.gif Cactus cotton.gif Eastern Cottonwood elm.gif Rock Elm palm.gif Queen Palm poplar.gif Defoliated Lombardy Poplar sassa.gif Sassafras tamarack.gif Tamarack tupelo.gif Black Tupelo (my favorite)
They're only 256x340 so they should be pretty easy to display. They lost a little in the gif conversion.
I haven't been able able to FTP out for the last couple days, so expect problems. When you get a chance, download 'em and tell me what you think.
For those of you with SGI's, the runnable demo is at version 1.09 which fixes a memory bug. If you couldn't run it before, you may want to try again.
back to contents
The distribution files for POV-Ray 2.0 are now available by anonymous FTP from alfred.ccs.carleton.ca (<IP_ADDRESS>) in the directory pub/pov-ray/POV-Ray2.0. These files should be appearing very shortly on wuarchive.wtl.edu in the directory graphics/graphics/ray/pov-ray/POV-Ray2.0 and on ftp.informatik.uni-oldenburg.de [<IP_ADDRESS>].
Please forward questions and comments to Chris Young at<EMAIL_ADDRESS>The remainder of this message contains a description of the changes in POV-Ray 2.0 from the older 1.0 release. Enjoy. We did.
What's New in POV-Ray 2.0 ------------------------- The following is not intended to be an all-inclusive list of every new feature, but should give experienced users a pretty good guide of what has been changed and what has been added. Please refer to POVRAY.DOC for details. General: ------- - Automatic bounding slabs for greatly enhanced rendering speed of most scenes. - Adding, subtracting, multiplying & dividing of floats & vectors. - Clock global variable for external animation support. - X, Y, and Z global vector constants. - Improved antialiasing routine with new commandline options. Commandline options: ------------------- - Version switch for backwards compatibility. - Starting/ending column/row switches for trace window. - Relative/absolute values for trace window switches. - Antialiasing jitter scale value and toggle. - Number of antialiasing rays to shoot. - Internal "clock" setting for animations. Objects: ------- - Soft penumbral shadows from extended area lights. - Smoother Bezier patches. - New simplified torus syntax. - Heightfield water_level now uses range 0-1 instead of 0-255. - Heightfields can now be clipped and used in CSG operations. - Heightfields can be phong-shaded with the "smooth" option. - New, improved finite cylinders, cones, and discs, with optional "capping" of cones and cylinders. - More versatile CSG unions have replaced the need for composites. - CSG texturing has been made much more flexible. - New "merge" removes internal boundaries between transparent unioned objects. Textures: -------- - Hexagon pigment texture. - Radial pigment texture. - Mandelbrot pigment texture. - Texture attributes grouped into 3 independently scalable groups: pigment, normal, and finish. - TIR (Total Internal Reflection) for more realistic refraction. - Fractional Brownian Motion (fbm) turbulence controls. - Turbulence can now be used independently with any pigment or normal texture. - Optional vector-style turbulence values. - Background coloring. - Color maps can now be declared. - Frequency, phase keywords now available for use with color_maps. - Filter keyword replaces "alpha", letting us reserve alpha for other uses in the future. - Less restrictive distribution policy. See POVLEGAL.DOC for details. IBM PC Video: ------------ - VESA 1.2 spec implemented for preview graphics in the IBM DOS version. Gives VESA support in most 8/15/24 bit modes. Should support: 1024 x 768 x 256 color palette 800 x 600 x 15 bit high color 640x4 480 x 24 bit true color - Diamond 24X 15 and 24 bit mode support added. - Preview reduced to fit selected video screen size if necessary.
________
The POV-Ray 2.0 bug which has been plaguing many UNIX systems (especially Risc processors) and causing them to crash or to gobble up memory has been fixed. The problem was a compiler-specific "feature" involving structure copying. A corrected version of the offending module has been placed on alfred.ccs.carleton.ca (<IP_ADDRESS>) as pub/pov-ray/POV-Ray2.0/objects.c.fix.
The tests I've performed on this system look promising. If this patch fails to fix your problems, please let Chris Young know by EMail to<EMAIL_ADDRESS>________
POV-Ray 2.1 now available!
POV-Ray 2.1 has now been posted on CIS, probably on the carleton internet site too. It is mostly a bugfix release, no new features, but much stabler than 2.0.
back to contents
ptindex.lha gfx/3dobj 191K Texture maps / index ptmisc.lha gfx/3dobj 545K Texture maps / miscellaneous ptorgani.lha gfx/3dobj 213K Texture maps / organic ptston1a.lha gfx/3dobj 446K Texture maps / stones 1a ptston1b.lha gfx/3dobj 412K Texture maps / stones 1b ptston2a.lha gfx/3dobj 360K Texture maps / stones 2a ptston2b.lha gfx/3dobj 331K Texture maps / stones 2b ptwood.lha gfx/3dobj 218K Texture maps / woods StonesWoods.lha pix/misc 466K 24-bit JPEG stone and wood textures
These textures were created on Amiga, so they have been archived with the LhA archiver. Unix sources for LhA should be available at grind.isca.uiowa.du /unix/arc-progs/lha-1.00.tar.Z.
All textures are in JPEG format. Stones and woods have been scanned from various sources and they contain some VERY good wood textures. The others have been created with POV-Ray 1.0 on Amiga.
These files should be in any Aminet site, the directory is usually /pub/aminet, /pub/amiga or /pub/amiga/aminet. In Wuarchive these files are in /pub/aminet/gfx/3dobj and /pub/aminet/pix/misc directories.
Here are some Aminet sites:
Scandinavia ftp.luth.se <IP_ADDRESS> Germany ftp.uni-kl.de <IP_ADDRESS> Germany ftp.uni-erlangen.de <IP_ADDRESS> Germany ftp.cs.tu-berlin.de <IP_ADDRESS> Germany ftp.uni-paderborn.de <IP_ADDRESS> USA wuarchive.wustl.edu <IP_ADDRESS> USA oes.orst.edu <IP_ADDRESS> UK src.doc.ic.acuk <IP_ADDRESS>
back to contents
- There wes a mention of BitSurface for 3D text...not really appropriate I feel. BitSurface is a rather crude utility we played with here in an attempt to create geometry of maori carvings (native population of NZ) It takes a grey (gray in the US I think?) scale bitmap and generates a surface where the height is proportional to the grey level.
- There was a query on 3D trees and their generation, I have done some work on this although I have had to put it aside for a while at the moment. There are however some Radiance trees on my FTP site generated with 3D L systems by myself and with a preliminary particle type approach being worked on by someone else here, and still others contributed from a commercial tree generating package. The models come with rendered examples.
back to contents
If you do not have access to ftp, you may request the software on 60 Mbyte 1/4 inch tape cartridge. For a limited time, I will be providing free media (I have a lot of tapes I want to unload), so act fast with your request.
I have christened this version 2.3 because there were several 2.2 beta releases that got out (sometimes without my knowledge or permission), and I wanted to avoid confusion with these earlier, unofficial versions. This release has been a long time coming because, as some of you know, the Department of Energy has been deciding how to "market" Radiance. I think they finally gave up with this idea, which is why they are giving us back control over distribution.
Be aware that Radiance is copyrighted software, and we ask that you do not redistribute it without our permission. If someone wants it, let them write to us or access one of the official ftp sites themselves. We do encourage products based on Radiance, and ask that anyone who is interested in a developer's distribution license contact us. We will be setting up a license fee structure that should be quite reasonable, probably a one-time flat charge for each new LBL release.
Radiance 2.3 has a couple of major enhancements over 2.1, and many minor changes. One major addition is a new executive program called "rad" that automatically runs oconv, mkillum, rview, rpict and pfilt with sensible options to produce nice renderings. Use of this program is documented in a new version of the Radiance tutorial (ray/doc/tutorial.1). The other significant enhancement is the ability to render large and/or complex images in parallel over the network and/or on a multiprocessing platform. The main program to look at for this is "rpiece".
Be sure to poke around in the /pub directory as well -- there are some interesting new documents in the /pub/doc subdirectory.
back to contents
I have used this previewer myself, and it works quite well. For ftp'ing convenience, I have placed a copy of the software in /pub/programs on hobbes.lbl.gov (<IP_ADDRESS>).
README extract:
rshow is an interactive previewer for the RADIANCE synthetic image system. Conditions of use and copyrights notes are appended in this text.
rshow is available from ise.fhg.de <IP_ADDRESS>
rshow reads the scene input files (octrees in RADIANCE dialect) and displays them on a Silicon Graphics Workstation or a UNIX workstation running X11. rshow's main use is to check the scene geometry and to select a viewpoint, however interactive moving of instances and spline interpolation of a camera path are also supported. Since rshow uses the original RADIANCE input subroutines, it is believed to be compatible with RADIANCE's rpict and rview. See FEATURES for details.
back to contents
* SGI4D (IRIX 4.0.1). * SUN 4 (SunOS Release 4.1.2) * HP 730 (HPUX 8.07) * IBM PC (Window NT 3.1, OS2 2.x)
Many thanks should go to all the beta testers of this version. In particular, I would like to thank Kriton Kyrimis who invested his time to not only test this program and improve the documentation, but also to port it to the Amiga environment.
The distribution locations below have C sources as irit40s.*, images as irit40i.* and executables as irit40e.* when appropriate.
You can (or will be able to as soon as they will be installed from the uploading directories) anonymous ftp IRIT 4.0 from the following locations:
* ftp.technion.ac.il [<IP_ADDRESS>], directory pub/supported/cs/graphics as irit40s.tar.Z. The is the new homeland for Irit. (contact person<EMAIL_ADDRESS>(Gershon Elber)).
* ftp.uu.net [<IP_ADDRESS>], directory /graphics/irit, files irit40s.tar.Z and irit40i.tar.
* gondwana.ecr.mu.oz.au [<IP_ADDRESS>], directory /pub, files irit40s.tar.Z and irit40i.tar. (contact person<EMAIL_ADDRESS>(Bernie Kirby)).
* ftp-os2.nmsu.edu [<IP_ADDRESS>] os2/2_x/graphics/irit40??.zip. This has only the executables. Sources should be ftp'ed from one of the unix places above.
* It is expected that Kriton Kyrimis<EMAIL_ADDRESS>will upload the Amiga 68020/68881 executables to aminet. Please contact him with Amiga specific questions.
* MSDOS is no longer supported in IRIT 4.0.
Join IRIT mailing list<EMAIL_ADDRESS>Mailing list<EMAIL_ADDRESS>Bug reports<EMAIL_ADDRESS>[some of the new features: new filters from and to various formats, many new commands, support for UV texturing, fixes, etc.]
back to contents
GOOD is free available with all sources. Everybody is invited to use, modify and extend GOOD. Its our aim to provide a public domain framework that should be helpful to other people.
GOOD consists of three essential parts
* The Tcl/C++ Raytracer/Shader YART [YART was briefly described in RTNv6n3] * The Interactive Object Manipulator IOM This is Tk based Application Builder for YART with support to Spaceball, Mouse allowing real interactions and dialog boxes, tree widget, class browser for non-direct interactions. * The Module Application Framework MAF This is a C++ classlib for dataflow-driven applications including ipc, data transfer. Currently MAF is not available, 'cos we are reimplementing the prototype.
Additional there is a YART extension available, that implements a lot of stuff for scientific visualization, especially field simulations, streamlines, color mapping, etc.
back to contents
Get your copy today and you'll never want to read dull boring ASCII text mags again. Unix X/PC/Macs/Amigas/other platform users are all welcome to read this magazine.
back to contents
Our hope is that WAVEFR-L will become an electronic "users group" for technical discussion and networking among users of software products from Wavefront; including The Advanced Visualizer, The Video Composer, Dynamation, Kinemation, Visualizer Paint and whatever else emerges on the horizon of new product offerings from Wavefront.
WAVEFR-L is not run by Wavefront Technologies. We are an independent group of users, who hope to pool collective experience for the benefit of all. WAVEFR-L will be as successful as it's subscribers are active. We hope you will use this forum to pose real-world questions and offer practical solutions for applying Wavefront software in any discipline.
To Subscribe to the WaveFront Listserv:
>From VM: tell listserv at psuvm subscribe wavefr-l <your name>
>From VMS: send listserv at psuvm subscribe wavefr-l <your name>
For Unix: When using mail, your request(s) must be placed in the BODY of the note, NOT the headers. To play it safe, enclose your commands in // JOB and // EOJ delimiters. This will avoid problems of mail systems that add some extra text before of after your message. Send the note to the Listserv machine and not to the list. From the Internet, send to<EMAIL_ADDRESS>example: // JOB subscribe wavefr-l <yournamehere> // EOJ
back to contents
<EMAIL_ADDRESS>(Francisco J. Diaz) writes:
>Does anyone has an optimized POV v2.0? I just got the file
>POVFAST.ZIP and it was POV 1.0 fully optimized with WatCom C.
>The problem is that I don't have such compiler (By far the best
>one out there, but also the most expensive!) and would like to
>know if anyone has taken the time to do so work. Thanks...
Well, the IBM version of POV 2 that the Ray group have released built with the Intel Code Builder is pretty well optimised already.
The best speed I've been able to get for any tracer is when I recompile things with djgpp, the port of GCC C/C++ to the IBM by DJ Delores (thanks, DJ). I recompiled POV 1 with djgpp, and I sped it up by a factor of _four_ - eg one of the demo traces was taking 14 seconds on my 486 DX 2 66 MHz 20 Mb RAM machine (highly recommended for tracing ;-) with the djgpp version, and 48 seconds with the ICB normal version. (Others pretty much same improvement, I won't go into details.)
Now, when POV 2 came out the ICB normal version managed the same trace in only 12 seconds, a significant improvement. I recompiled it with djgpp, and it drops to 9.5 seconds - 20better, nothing to sneeze at, but nowhere near as much an improvement as before.
Now, this version of POV works fine with DOS, but djgpp has this liking for VCPI memory, whereas you get DPMI under Windows and OS/2. However, Rainer Schnitker has developed a package called RSX that allows you to convert djgpp compiled programs so that they'll run under a DPMI server - most programs only require you to change the stub on the executables by using exe2aout to get the executable without the stub, and then bind Rainer's stub on the front of it.
With this package, and Rainer's help (thanks, Rainer), I have now got a running version of POV 2 that's 20 0.000000aster than the standard release, and runs under DOS, Windows, and OS/2.
There is, however, a catch. We can't currently get the graphics to work in OS/2 (maybe Windows as well, have to check that) - Rainer thinks that although DOS & Windows handle requests for graphics under DPMI ok, OS/2 has a problem in that regard. So, if you run the program in an OS/2 DOS session with display requested, then either OS/2 closes your session, or you get heaps of memory errors & dropped back on the command line. (Not brilliant, but at least it doesn't crash your entire machine like messy-dos & windoze ;-). However, if you just do a trace with eg verbose output, then everything works fine.
Mind you, I've found that the VESA display modes don't work too well in OS/2 with the standard program (although VGA is perfectly ok) - they have a bad habit of screwing up all your other screens while the trace is going on; probably something to do with bank switching on the graphics card, the Ray guys are having a look at this.
Now, if people think they'd like the 20peed increase and don't mind the lack of display capability in OS/2, then I can upload the djgpp compiled version to somewhere like carleton or informatik - I use the normal one myself when I want to see how the pictures turning out, and the djgpp version for traces of other people's data files, and my final ones.
However, I was hoping to wait until we could get a djgpp version which could do all the things the ICB version could, only quicker ;-).
Also, Rainer is having a word with a few people about graphics and DPMI, to see if he can get his package to handle it properly, or at least tell me what to do to get the graphics working - another reason I want it is for the djgpp compiled DISPLAY program, which is the best graphics displayer/converter for DOS I know of - both stills and animation handled, including 24 bit MPEG-1 files (eg the ray-traced "Red's Nightmare" mpeg). Seeing as it's djgpp it's very fast, but just won't work in OS/2.
In case you're wondering, I've also compiled POV 2 with EMX (will try gcc/2 on the weekend). This has the advantage that you get one executable which will run in both a DOS and an OS/2 session. However, it's about 80lower than the standard ICB version, and none of the standard graphics routines work. There is a VGA library for EMX which I might have a play with to see if I can get the VGA display mode working for OS/2 & DOS, but I don't think it's of all that much use; only if you want to run an actual OS/2 ray-tracer. The speed might be able to be improved by taking advantage of threads or something, but I haven't done any coding in that area, so I won't be doing anything about that for a while.
If you have any thoughts on the DPMI graphics routines under OS/2, or know a bit about using hi-colour/true-colour graphics modes in DOS & WIN-OS/2 when your OS/2 desktop is only 256 colour and not having one of them with a screwed palette, I'd like to hear from you.
back to contents
This errata file is also in wuarchive.wustl.edu: graphics/graphics/books/erratas/Adventures-In-*
If you find additional errata or have any comments, please contact me at: CIS: 72114,2060 (also at the GraphDev forum) or<EMAIL_ADDRESS>Pi Squared BBS<PHONE_NUMBER>, Maryland USA 14.4K bps, 24hrs
p. 3: Last line of item 1. should read "A must-have for those of you who like to modify the sample files!p. 11: Figure 1.5. Delete the <1 0 0> that appears to the right of the x axis letter "x".
p. 18: Figure 1.12 is the TOP view
p. 21: The Extrusion direction arrow is missing...it should be pointing in the positive Z direction.
p. 25: Figure 1.19 should read "Examples of Boolean Operations" Also the operations are (top to bottom) - Difference + Union * Intersection
p. 30: The statement C:\POLY>POLYRAY [PRESS ENTER] assumes that you have already executed the DOS command: PROMPT $P $G
p. 31: The -a parameter causes degradation or a "blurring" effect on the image.
p. 34: The repeated header "Miscellaneous" should be deleted, it separates the -t n parameter from its description.
p. 75: Figure 3.8, the Minor radius is really half of what's being shown. (remember...it's a radius!)
p. 76: Figure 3.9 shows a smooth triangle as a curved triangle. The truth is that it's still flat - only the normals are not parallel anymore and they point as if the surface was curved....but on the other hand I liked the idea of showing the triangle curved. :)
p. 103: Figure 3.18 is messed up! It should look like the background in Figure 4.4.
p. 123: Figure 4.6, replace "Light Source" with "Incident Light". Also "Scattered Light" should point to the transparent hemisphere.
p. 124: Figure 4.7, delete both "Light Source". "Mirror Surface" and "Rough Surface" are pointing to the opposite surface. It should be the top surface.
p. 126: The label "Mirror" should be pointing to the top surface. "Slightly Rough Surface" and "Extremely Rough Surface" are pointing to the opposite surface. It should be the top surface.
p. 141: There is an excellent utility called CMAPPER...... Change the word "Introduction" to "Where Can I Find Raytracing Software? Section".
p. 175: Figure 5.5 has a white smear. oops!
p. 186: fmod should read "fmod(fexper,fexper)". (the second fexper was misplaced in the next line.
p. 220: Figure 7.8 is correct but mirrored.
p. 236: Figure 7.12 is correct but mirrored.
p. 254: Figure 7.19 is correct but mirrored.
p. 260: Figure 7.23 is correct but mirrored.
p. 263: Figure 7.24 is correct but mirrored.
p. 268: Figure 8.3 (b) and (c) were drawn messy. Use your imagination :(
p. 269: Figure 8.4, the spheres should be eyes representing the observer.
p. 270: Figure 8.6, the Viewpoint "at" locations' arrow should be pointing to the P1,P2,P3....P9 curve.
p. 271: Figure 8.7(a), the puck only moves in the XZ plane. The drawing is incorrect or not clear.
p. 281: "Creating the Animation File", second sentence, replace the word "Introduction" with "Where Can I Find Raytracing Software? Section".
p. 283: Figure 8.10 has some errors. Difficult to explain with words.
QUICK REFERENCE: Functions That Return Vectors: The functions dnoise(P, fexper), reflect(vexper1, vexper2) and brownian(vexper) are too close to other words, they should be separate.
Inside the backcover: The author of the ship in space image is Jerry THOMASTON not THOMPSON.
back to contents


Singularity Configuration Files¶
As a Singularity Administrator, you will have access to various configuration
files, that will let you manage container resources, set security restrictions
and configure network options etc, when installing Singularity across the system.
All these files can be found in /usr/local/etc/singularity
by default (though
its location will obviously differ based on options passed during the
installation). This page will describe the following configuration files and
the various parameters contained by them. They are usually self documenting
but here are several things to pay special attention to:
singularity.conf¶
Most of the configuration options are set using the file singularity.conf
that defines the global configuration for Singularity across the entire system.
Using this file, system administrators can have direct say as to what functions
the users can utilize. As a security measure, it must be owned by root and must
not be writable by users or Singularity will refuse to run.
The following are some of the configurable options:
ALLOW SETUID
:
To use containers, your users will have to have access to some privileged system
calls. One way singularity achieves this is by using binaries with the setuid
bit enabled. This variable lets you enable/disable users ability to utilize
these binaries within Singularity. By default, it is set to “Yes”, but when
disabled, various Singularity features will not function (e.g. mounting of the
Singularity image file format).
USER BIND CONTROL
:
This allows admins to enable/disable users to define bind points at runtime.
By Default, its “YES”, which means users can specify bind points, scratch and
tmp locations.
BIND PATH
:
Used for setting of automatic bind points entries. You can define a list
of files/directories that should be made available from within the container.
If the file exists within the container on which to attach to use the path
like:
bind path = /etc/localtime
You can specify different source and destination locations using:
bind path = /etc/singularity/default-nsswitch.conf:/etc/nsswitch.conf
MOUNT DEV
:
Should be set to “YES”, if you want to automatically bind mount /dev
within the container. If set to ‘minimal’, then only ‘null’, ‘zero’,
‘random’, ‘urandom’, and ‘shm’ will be included.
MOUNT HOME
:
To automatically determine the calling of user’s home directory and
attempt to mount it’s base path into the container.
Limiting containers¶
There are several ways in which you can limit the running of containers in your system:
LIMIT CONTAINER OWNERS
: Only allow containers to be used that are owned by a given user.
LIMIT CONTAINER GROUPS
: Only allow containers to be used that are owned by a given group.
LIMIT CONTAINER PATHS
: Only allow containers to be used that are located within an allowed path prefix.
Note
These features will only apply when Singularity is running in SUID mode and the user is non-root. By default they all are set to NULL.
The singularity.conf
file is well documented and most information can be
gleaned by consulting it directly.
cgroups.toml¶
Cgroups or Control groups let you implement metering and limiting on the resources used by processes. You can limit memory, CPU. You can block IO, network IO, set SEL permissions for device nodes etc.
Note
The --apply-cgroups
option can only be used with root privileges.
Examples¶
When you are limiting resources, apply the settings in the TOML file by using
the path as an argument to the --apply-cgroups
option like so:
$ sudo singularity shell --apply-cgroups /path/to/cgroups.toml my_container.sif
Limiting memory¶
To limit the amount of memory that your container uses to 500MB (524288000 bytes):
[memory]
limit = 524288000
Start your container like so:
$ sudo singularity instance start --apply-cgroups path/to/cgroups.toml my_container.sif instance1
After that, you can verify that the container is only using 500MB of memory.
(This example assumes that instance1
is the only running instance.)
$ cat /sys/fs/cgroup/memory/singularity/*/memory.limit_in_bytes
524288000
Do not forget to stop your instances after configuring the options.
Similarly, the remaining examples can be tested by starting instances and
examining the contents of the appropriate subdirectories of /sys/fs/cgroup/
.
Limiting CPU¶
Limit CPU resources using one of the following strategies. The cpu
section
of the configuration file can limit memory with the following:
shares
This corresponds to a ratio versus other cgroups with cpu shares. Usually the
default value is 1024
. That means if you want to allow to use 50% of a
single CPU, you will set 512
as value.
[cpu]
shares = 512
A cgroup can get more than its share of CPU if there are enough idle CPU cycles available in the system, due to the work conserving nature of the scheduler, so a contained process can consume all CPU cycles even with a ratio of 50%. The ratio is only applied when two or more processes conflicts with their needs of CPU cycles.
quota/period
You can enforce hard limits on the CPU cycles a cgroup can consume, so
contained processes can’t use more than the amount of CPU time set for the
cgroup. quota
allows you to configure the amount of CPU time that a cgroup
can use per period. The default is 100ms (100000us). So if you want to limit
amount of CPU time to 20ms during period of 100ms:
[cpu]
period = 100000
quota = 20000
cpus/mems
You can also restrict access to specific CPUs and associated memory nodes by
using cpus/mems
fields:
[cpu]
cpus = "0-1"
mems = "0-1"
Where container has limited access to CPU 0 and CPU 1.
Note
It’s important to set identical values for both cpus
and mems
.
Limiting IO¶
You can limit and monitor access to I/O for block devices. Use the
[blockIO]
section of the configuration file to do this like so:
[blockIO]
weight = 1000
leafWeight = 1000
weight
and leafWeight
accept values between 10
and 1000
.
weight
is the default weight of the group on all the devices until and
unless overridden by a per device rule.
leafWeight
relates to weight for the purpose of deciding how heavily to
weigh tasks in the given cgroup while competing with the cgroup’s child cgroups.
To override weight/leafWeight
for /dev/loop0
and /dev/loop1
block
devices you would do something like this:
[blockIO]
[[blockIO.weightDevice]]
major = 7
minor = 0
weight = 100
leafWeight = 50
[[blockIO.weightDevice]]
major = 7
minor = 1
weight = 100
leafWeight = 50
You could limit the IO read/write rate to 16MB per second for the /dev/loop0
block device with the following configuration. The rate is specified in bytes
per second.
[blockIO]
[[blockIO.throttleReadBpsDevice]]
major = 7
minor = 0
rate = 16777216
[[blockIO.throttleWriteBpsDevice]]
major = 7
minor = 0
rate = 16777216
ecl.toml¶
The execution control list is defined here. You can authorize the containers by validating both the location of the SIF file in the file system and by checking against a list of signing entities.
[[execgroup]]
tagname = "group2"
mode = "whitelist"
dirpath = "/tmp/containers"
keyfp = ["7064B1D6EFF01B1262FED3F03581D99FE87EAFD1"]
Only the containers running from and signed with above-mentioned path and keys will be authorized to run.
Three possible list modes you can choose from:
Whitestrict: The SIF must be signed by ALL of the keys mentioned.
Whitelist: As long as the SIF is signed by one or more of the keys, the container is allowed to run.
Blacklist: Only the containers whose keys are not mentioned in the group are allowed to run.
nvliblist.conf¶
When a container includes a GPU enabled application and libraries, Singularity
(with the --nv
option) can properly inject the required Nvidia GPU driver
libraries into the container, to match the host’s kernel. This config file is
the place where it searches for NVIDIA libraries in your host system.
However, nvliblist.conf
will be ignored in case of having nvidia-container-cli
installed, which will be used to locate any nvidia libraries and binaries on
the host system.
For GPU and CUDA support –nv option works like:
$ singularity exec --nv ubuntu.sif gpu_program.exec
$ singularity run --nv docker://tensorflow/tensorflow:gpu_latest
You can also mention libraries/binaries and they will be mounted into the
container when the --nv
option is passed.
capability.json¶
Singularity provides full support for granting and revoking Linux capabilities
on a user or group basis. By default, all Linux capabilities are dropped when a
user enters the container system. When you decide to add/revoke some capabilities,
you can do so using the Singularity capability
options: Add
, Drop
and List
.
For example, if you do:
$ sudo singularity capability add --user david CAP_SYS_RAWIO
You’ve let the user David to perform I/O port operations, perform a range of device-specific operations on other devices etc. To perform the same for a group of users do:
$ sudo singularity capability add --group mygroup audit_write
Use drop
in the same format for revoking their capabilities.
To see a list of all users and their capabilities, simply do:
$ sudo singularity capability list --all
capability.json is the file maintained by Singularity where the capability
commands create/delete entries accordingly.
To know more about the capabilities you can add do:
$ singularity capability add --help
Note
The above commands can only be issued by root user(admin).
The –add-caps and related options will let the user request the capability when executing a container.
seccomp-profiles¶
Secure Computing (seccomp) Mode is a feature of the Linux kernel that allows an administrator to filter system calls being made from a container. Profiles made up of allowed and restricted calls can be passed to different containers. Seccomp provides more control than capabilities alone, giving a smaller attack surface for an attacker to work from within a container.
You can set the default action with defaultAction
for a non-listed system
call. Example: SCMP_ACT_ALLOW
filter will allow all the system calls if it
matches the filter rule and you can set it to SCMP_ACT_ERRNO
which will have
the thread receive a return value of errno if it calls a system call that matches
the filter rule.
The file is formatted in a way that it can take a list of additional system calls
for different architecture and Singularity will automatically take syscalls
related to the current architecture where it’s been executed.
The include
/exclude
-> caps
section will include/exclude the listed
system calls if the user has the associated capability.
Use the --security
option to invoke the container like:
$ sudo singularity shell --security seccomp:/home/david/my.json my_container.sif
For more insight into security options, network options, cgroups, capabilities, etc, please check the Userdocs and it’s Appendix.


High-performing & driven client services expert with an infectious energy for brand management and marketing. I have a forward-thinking mindset, robust relationship building, with the natural ability to develop creative marketing solutions. I have all the competencies required to perform, in particular I want to highlight my in-depth exposure to managing social media & customer service teams
8804210298054
<EMAIL_ADDRESS>Degree- Coporate Communications
Luyanda Tshizane-MultiChoice Team Leader
+27739701827


pydent.planner.Planner¶
-
class
pydent.planner.
Planner
(session_or_plan=None, plan_id=None)[source]¶ Bases:
pydent.planner.planner.AFTMatcher
A user-interface for making experimental plans and layouts.
-
__init__
(session_or_plan=None, plan_id=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
([session_or_plan, plan_id])Initialize self.
add_wire
(fv1, fv2)Add wire from one FieldValue to another FieldValue.
annotate
(markdown, x, y, width, height)Annotates the plan with Markdown text.
annotate_above_layout
(markdown, width, height)Annotates text directly above a layout.
annotate_operations
(ops, markdown, width, height)Annotates above the operations.
cache
()cache_plans
(browser, plans)- rtype
Iterable
[Plan
]
chain
(*op_or_otnames[, category, return_as_dict])Creates a chain of operations by guessing wires between operations based on the AllowableFieldTypes between the inputs and outputs of each operation type.
clean_wires
()combine
(plans)Merges a list of plans into a single plan by combining operations and wires.
copy
()Return a copy of this planner, with a new anonymous copy of the plan.
create
()Create the plan on Aquarium.
create_operation_by_name
(operation_type_name)Adds a new operation to the plan.
create_operation_by_type
(ot[, status])- rtype
Operation
create_operation_by_type_id
(ot_id)- rtype
Operation
distribute_items_of_object_type
(object_type)Distribute items of a particular object_type across non-planning operations across existing plans and these operations in this Planner instance.
draw
()get_available_items
(field_value, item_preference)- rtype
List
[Item
]
get_fv_predecessors
(fv)- rtype
List
[FieldValue
]
get_fv_successors
(fv)- rtype
List
[FieldValue
]
get_incoming_wires
(fv)- rtype
List
[Wire
]
get_op
(id)- rtype
Optional
[Operation
]
get_op_by_name
(operation_type_name)Find operations by their operation_type_name.
get_op_predecessors
(op)- rtype
List
[Operation
]
get_op_successors
(op)- rtype
List
[Operation
]
get_outgoing_wires
(fv)- rtype
List
[Wire
]
get_sample_routing_of_operation
(op)- rtype
Dict
[str
,List
[FieldValue
]]
get_wire
(fv1, fv2)- rtype
Optional
[Wire
]
ipython_link
()move_op
(op, plan_id)new_op
(name_id_or_ot)- rtype
Operation
open
()Planner.optimize_plan
prettify
()- rtype
None
quick_create_and_wire
(otname1, otname2[, …])quick_create_operation_by_name
(otname)- rtype
Operation
quick_wire
(source, destination[, strict])- type source
Union
[Operation
,FieldValue
,Tuple
[Operation
,str
]]
quick_wire_by_name
(otname1, otname2)Wires together the last added operations.
remove_operations
(ops)remove_wire
(fv1, fv2)Removes a wire between two field values from a plan.
replan
()Replan the plan, by ‘copying’ the plan using the Aquarium server.
reserved_items
(items[, search_server])Returns a dictionary of item_ids and the array of field_values that use them.
roots
()Get field values that have no predecessors (i.e.
save
()Saves the Plan to the Aquarium server.
set_field_value
(field_value[, sample, item, …])Changed in version 0.1.5a15: Argument container changed to object_type to keep consistency with other code.
set_field_value_and_propogate
(field_value[, …])set_input_field_value_array
(op, field_value_name)Finds the first ‘empty’ (no incoming wires and no sample set) field value and set the field value.
Map the sample field values to the operation inputs.
set_output_sample
(fv[, sample, routing, setter])Sets the output of the field value to the sample.
set_to_available_item
(fv[, …])Sets the item of the field value to the next available item.
split
()Split the plan into several distinct plans, if possible.
update
()Update the plan on Aquarium.
validate
()Validates sample routes in the plan.
Attributes
browser
graph
layout
- rtype
PlannerLayout
name
plan
url
-
class
ITEM_ORDER_PREFERENCE
[source]¶ Bases:
object
Item order options.
-
FIRST
= 'FIRST'¶ select first item
-
LAST
= 'LAST'¶ select last item
-
RANDOM
= 'RANDOM'¶ select random item
-
_CHOICES
= ['FIRST', 'LAST', 'RANDOM']¶ all choices
-
_DEFAULT
= 'LAST'¶ the default choice
-
-
class
ITEM_SELECTION_PREFERENCE
[source]¶ Bases:
object
Item selection options.
-
ANY
= 'ANY'¶ pick the first item that matches the set field_value
-
PREFERRED
= 'PREFERRED'¶ (default) pick the item that matches the currently set aft, else
-
RESTRICT
= 'RESTRICT'¶ restrict to the currently set allowable_field_type
-
RESTRICT_TO_ONE
= 'RESTRICT TO ONE'¶ will not select item if its being used in another active operation
-
RESTRICT_TO_ONE_ON_SERVER
= 'RESTRICT TO ONE ON SERVER'¶ will restrict to a single item across the plans on the server.
-
_CHOICES
= ['ANY', 'RESTRICT', 'PREFERRED', 'RESTRICT TO ONE']¶ all choices
-
_DEFAULT
= 'PREFERRED'¶ default item selection preference
-
-
classmethod
_collect_matching_afts
(source, destination)¶ - Parameters
source (FieldValue|Operation) – a field value or operation source
destination (FieldValue|Operation) – a field value or operation destination
- Returns
tuple of matching allowable_field_type (aft) pairs, matching field_value inputs and matching field_value outputs
- Return type
tuple
-
static
_find_matching_afts
(src_ft, dest_ft)¶ Finds matching afts between two FieldTypes.
- Return type
List
[Tuple
[AllowableFieldType
,AllowableFieldType
]]
-
_routing_graph
()[source]¶ Get sample routing graph.
A property of a valid plan is that any two routing nodes that are connected by an edge must have the same sample. Edges are treated as ‘sample wires’
-
_select_empty_input_array
(op, fvname)[source]¶ Selects the first ‘empty’ (i.e. field_values with no Sample set) field value in the
FieldValue
array. Returns None if the FieldType is not an array. If there are no current ‘empty’ field values, a new one is instantiated and returned.- Parameters
op (
Operation
) – Operationfvname (
str
) – FieldType/FieldValue name of the array
- Return type
Optional
[FieldValue
]- Returns
-
add_from_template
(plan)[source]¶ Add Operation and Wires from the provided template plan to this planner.
- Parameters
plan (
Union
[int
,Plan
,Planner
]) – Plan id (int), Plan instance, or Planner instance- Return type
List
[Operation
]- Returns
list of operations that were added from template.
-
add_wire
(fv1, fv2)[source]¶ Add wire from one FieldValue to another FieldValue.
- Parameters
fv1 (
FieldValue
) – source FieldValuefv2 (
FieldValue
) – destination FieldValue
- Return type
Wire
- Returns
the new Wire
-
annotate
(markdown, x, y, width, height)[source]¶ Annotates the plan with Markdown text.
- Parameters
markdown (basestring) – text to annotate (in markdown format)
x (int) – x-position
y (int) – y-position
width (int) – width of the text box
height (int) – height of the text box
- Returns
None
- Return type
None
-
annotate_above_layout
(markdown, width, height, layout=None)[source]¶ Annotates text directly above a layout.
-
annotate_operations
(ops, markdown, width, height)[source]¶ Annotates above the operations.
Estimates the x-midpoint and y and makes a text annotation at that location.
- Return type
dict
-
chain
(*op_or_otnames, category=None, return_as_dict=False)[source]¶ Creates a chain of operations by guessing wires between operations based on the AllowableFieldTypes between the inputs and outputs of each operation type. Sample inputs and outputs will be set along the wire if possible.
e.g.
# create four new operations based on their OperationType names planner.chain("Make PCR Fragment", "Run Gel", "Extract Gel Slice", "Purify Gel Slice") # create four new operations based on their OperationType names by # finding OperationTypes only in the "Cloning" category planner.chain("Make PCR Fragment", "Run Gel", "Extract Gel Slice", "Purify Gel Slice", category="Cloning") # create four new operations based on their OperationType names by # finding OperationTypes only in the "Cloning" category, # except find "Make PCR Fragment" in the "Cloning Sandbox" category planner.chain(("Make PCR Fragment", "Cloning Sandbox"), "Run Gel", "Extract Gel Slice", "Purify Gel Slice", category="Cloning") # create and wire new operations to an existing operations while # routing samples pcr_op = planner.create_operation_by_name("Make PCR Fragment") planner.set_field_value(pcr_op.outputs[0], sample=my_sample) new_ops = planner.chain(pcr_op, "Run Gel") run_gel = new_ops[1] planner.chain("Pour Gel", run_gel)
- Return type
List
[Operation
]
-
static
combine
(plans)[source]¶ Merges a list of plans into a single plan by combining operations and wires.
- Parameters
plans (
List
[Plan
]) – list of Aquarium Plans instances- Return type
Planner
- Returns
new Plan
-
copy
()[source]¶ Return a copy of this planner, with a new anonymous copy of the plan.
Browser cache is copied as well, but model_cache in browser are not anonymous
- Return type
Planner
-
create_operation_by_name
(operation_type_name, category=None)[source]¶ Adds a new operation to the plan.
- Return type
Operation
-
delete
()[source]¶ Delete the plan on the Aquarium server. Make an annonymized copy of the plan stored in Trident.
New in version 0.1.5a10: Added delete method
-
distribute_items_of_object_type
(object_type)[source]¶ Distribute items of a particular object_type across non-planning operations across existing plans and these operations in this Planner instance.
E.g. distributing one-shot yeast competent cell aliquots
-
get_op_by_name
(operation_type_name)[source]¶ Find operations by their operation_type_name.
- Parameters
operation_type_name (basestring) – The operation type name
- Returns
list of operations
- Return type
list
-
move_operations
(ops, to_plan_id, confirm=True)[source]¶ Move a list of operations from this planner to a different plan.
- Parameters
ops – list of operations
to_plan_id – destination plan_id
confirm (
bool
) – whether this required confirmation from the user.
- Returns
None
-
property
operations
¶ Return list of
operations
in the plan.- Return type
List
[Operation
]- Returns
list of
operations
-
optimize
(merge_missing_samples=False)[source]¶ Optimize the plan, merging wires and operations that have identical inputs and outputs.
Changed in version 0.1.5a11: Numerous bug fixes.
- Parameters
merge_missing_samples – if True, the method will consider FieldValues with missing inputs as identical. By default, this is False, and so the method will not merge any operation with a missing input or output.
- Return type
Planner
- Returns
the planner (self)
-
quick_wire
(source, destination, strict=False)[source]¶ - Parameters
source (FieldValue|Operation) – field_value or operation source
destination (FieldValue|Operation) – field_value or operation destination
strict (bool) – will raise error if there is is ambiguous wiring between the source and destination
- Returns
created wire
- Return type
-
quick_wire_by_name
(otname1, otname2)[source]¶ Wires together the last added operations.
- Return type
Wire
-
remove_wire
(fv1, fv2)[source]¶ Removes a wire between two field values from a plan.
- Parameters
fv1 (
FieldValue
) –fv2 (
FieldValue
) –
- Return type
Wire
- Returns
-
replan
()[source]¶ Replan the plan, by ‘copying’ the plan using the Aquarium server.
- Return type
Planner
-
reserved_items
(items, search_server=False)[source]¶ Returns a dictionary of item_ids and the array of field_values that use them.
- Return type
Dict
[int
,List
[FieldValue
]]
-
roots
()[source]¶ Get field values that have no predecessors (i.e. are ‘roots’)
- Return type
List
[FieldValue
]
-
set_field_value
(field_value, sample=None, item=None, object_type=None, value=None, row=None, column=None)[source]¶ Changed in version 0.1.5a15: Argument container changed to object_type to keep consistency with other code.
- Parameters
field_value (
FieldValue
) –sample (
Optional
[Sample
]) –item (
Optional
[Item
]) –object_type (
Optional
[ObjectType
]) –value (
Optional
[Any
]) –row (
Optional
[int
]) –column (
Optional
[int
]) –
- Returns
-
set_input_field_value_array
(op, field_value_name, sample=None, item=None, container=None, value=None, row=None, column=None)[source]¶ Finds the first ‘empty’ (no incoming wires and no sample set) field value and set the field value. If there are no empty field values in the array, create a new field value and set that one.
- Parameters
op (Operation) – operation
field_value_name (basestring) – field value name
sample (Sample) – the sample to set
item (Item) – the item to set
container (ObjectType) – the container type to set
- Returns
the set field value
- Return type
-
set_inputs_using_sample_properties
(operation, sample, routing=None, setter=None)[source]¶ Map the sample field values to the operation inputs. Optionally, a routing dictionary may be passed to indicate the mapping between the sample field values and operation inputs.
For example, the following would map the “Integrant” sample field value to the “Template” operation input, and so on…:
routing={ "Integrant": "Template", "QC_Primer1": "Forward Primer", "QC_Primer2": "Reverse Primer" }
-
set_output_sample
(fv, sample=None, routing=None, setter=None)[source]¶ Sets the output of the field value to the sample. If the field_value names between the Sample and the field_value’s operation inputs, these will be set as well. Optionally, a routing dictionary may be passed to indicate the mapping between the sample field values and the operation field values.
- Parameters
fv (
FieldValue
) – the output field valuesample (
Optional
[Sample
]) –routing (
Optional
[dict
]) –
- Returns
- Return type
-
set_to_available_item
(fv, order_preference='LAST', filter_func=None, item_preference='PREFERRED')[source]¶ Sets the item of the field value to the next available item. Setting recent=False will select the oldest item.
- Parameters
fv (FieldValue) – The field value to set.
recent (bool) – whether to select the most recent item (recent=True is default)
filter_func (list) – array of lambda to filter items by. E.g. ‘lambda_arr=[lambda x: x.get(“concentration”) > 10]’
order_preference (basestring) – The item order preference. Select from “LAST” (default), “FIRST”, or “RANDOM”. Selections also available in
Planner.ITEM_ORDER_PREFERENCE
. Random will choose a random item from the available items found after all preferences and filtersitem_preference (basestring) – The item selection preference. Select from items in
Planner.ITEM_SELECTION_PREFERENCE
If “PREFERRED” (default), will select item that matches the allowable_field_value that is already set for the field_value, else select any item that matches theSample
setFieldValue
. If “RESTRICT”, will restrict selected item only to those that matches the current allowable_field_value that is set for theFieldValue
. If “ANY”, will select any items that matches theSample
.set for the field_value
- Returns
The selected item (or None if no item set)
- Return type
Item or None
-
split
()[source]¶ Split the plan into several distinct plans, if possible.
This first convert the plan to an operation graph, find subgraphs that are not connected to each other, and create new plans based on these subgraphs. This will return anonymous copies of all the plans, meaning operations and field_values will be anonymized. Sample and items attached to field values will remain to avoid re-creating samples and items.
- Return type
List
[Planner
]
-


Made by Supremo
A quick experiment with variable fonts. Variables fonts look to have an interesting future, providing the ability to use all variations of a typeface in a single compressed file and being able to animate between these variations.
Made by Supremo
A quick experiment with variable fonts. Variables fonts look to have an interesting future, providing the ability to use all variations of a typeface in a single compressed file and being able to animate between these variations.


The chosen player to end Man United's goalscoring drought
by BeSoccerManchester United are in dire need of goals. Out of the nine teams above them in the Premier League, only Sheffield United have scored less goals than the "Red Devils". According to the British press, Man United's board are keen to fix this, with Richarlison at the top of their target list.
The Daily Mirror claims that the Everton striker has slipped into Manchester United's agenda, with Solskjaer's team reportedly following him very closely.
So far this season, the Brazilian has scored five goals and has given two assists in the 16 games he has played with the Toffees. At United, they believe his numbers could be even better if he moves to Old Trafford.
Featured links
- The latest football transfers news and rumours
- Luis Enrique returns to Spain national team
- Mourinho replaces Pochettino at Tottenham
- Wales, golf, Madrid... in that order
Everton first paid 40 million euros for the former Watford player, with his current contract running until June 2023.
Manchester United are currently 10th in the Premier League, with only 16 goals in their favour. Very few when compared to top of the league teams, with Liverpool currently at 30, Leicester at 31 and even City with 37. Could Richarlison be the solution to Manchester United's goal drought?


Schools in New Delhi shut until Nov 5 amid severe air pollution
by ReutersSchools in the Indian capital will be shut until Nov 5, the city government said on Friday, as residents breathed the season's worst air for a third straight day.
As farm fires from New Delhi's neighbouring states sent swathes of smoke into the capital, the city's chief minister Arvind Kejriwal ordered schools to be closed, the minister said in a tweet he posted in Hindi.
Earlier on Friday, a government-appointed environment panel declared Delhi's air pollution a public health emergency, according to report by Reuters partner ANI that quoted a letter from the Environment Pollution Control Authority.
"This is a public health emergency as air pollution is now hazardous and will have adverse health impacts on all particularly the children," ANI quoted the letter.
Government-monitored indices that track air pollution hit 500 in several parts of the capital, the maximum recorded by the government's Central Pollution Control Board.
The index measures the levels of PM 2.5, tiny particulate matter that goes deep into the lungs.
Levels above 400 indicate severe conditions that put people with healthy lungs as well as those with respiratory illnesses at risk.
The government will also restrict the number of private vehicles in the city from next week under an "odd-even" scheme based on the number plates.


Expiry Date
New customer added Successfully
Or
Thank you for signing up with us. Your account has been created successfully. You can access your account by clicking the below link with user name and password provied with this mail.
UserName: example.gmail.com
Password: Sgruykhj
Thanks, Qubercomm Team
if you're having trouble clicking the password reset button, copy and paste the URL below into your web browser. http://cloud.qubercomm.com/clientname
© 2016, Qubercomm Techonologies, All rights reserved.
Email Sent Successfully
Customer record edited Successfully


Crumop399.github.io
Sehen und/oder downloaden Sie unten für die Anleitung Ihres Nuova Simonelli Aurelia II V Espressomaschine. Ihres Anleitung nicht gefunden? Senden Sie uns eine Nachricht auf Facebook.
The Aurelia II is the espresso machine for those who are looking for unprecedented performance and reliability. With four different models and a number of group head configurations, you can be sure the Aurelia II has a solution to your espresso needs.
Nuova Simonelli Espresso Machines Nuova Distribution.
Aurelia II is the 2012-2014 World Barista Championship official espresso machine. Aurelia II is dedicated to demanding professional baristas because it guarantees even more advanced performance in terms of accuracy, extraction quality, flexibility and consistency of results.
Nuova Simonelli, espresso coffee machines and cappuccino machines. Experience, technology, innovation, design, variety and comprehensiveness of the product range are key words that describe a company continuing to be an ambassador of espresso coffee culture outside of Italy. Aurelia II 2 group - NUOVA SIMONELLI.
Anleitung - Nuova Simonelli Aurelia II V Espressomaschine. Aurelia II Backflush / Manual Guide - YouTube.
Nuova Simonelli Espresso Machines are commercial grade. Made in Italy they incorporate beauty with technology to make some of the best espresso equipment in the industry. Nuova Simonelli Aurelia Ii Gebrauchsanweisung.
Nuova Simonelli Aurelia II V; Nuova Simonelli Aurelia Competizione; Nuova Simonelli Aurelia II Competizione; Nuova Simonelli Aurelia Digit; Nuova Simonelli Appia V; Nuova Simonelli Appia 1 Group V; Nuova Simonelli Appia Compact V; Nuova Simonelli Appia S; Nuova Simonelli Appia 1 Group S; Bedienungsanleitu.ng Die Bedienungsanleitungen aller unserer Produkte sind frei für Sie auf einer. Aurelia II - NUOVA SIMONELLI - ESPRESSO MACHINES. Nuova Simonelli Bedienungsanleitung.
How to Backwash an any Nuova Simonelli or Victoria Arduino machine manually. What you will need Portafilter Blank Basket Cleaning tablets or powder Vist our site at simonelliusa.com. If this is the first time you have bought a Nuova Simonelli coffee machine, welcome to high quality coffee-making; if you are already a customer of ours, we feel flattered by the trust you have shown.