Magnatune: We Are Not Evil
  POV-Ray : beta : Source Code
  Beta version Source Code  

This page provides links to the source code for beta versions of POV-Ray. It also provides instruction on how to build the source, and links to places where discussion of the use of the source may be conducted.

The current beta source code release is 3.7.beta.25b (February 2008) and is at this point available for Windows and Linux.


  Requirements for the Unix/Linux version  

Building POV-Ray on a UNIX platform requires a relatively modern C++ compiler, the 'make' utility, a Bourne-compatible shell (e.g. bash), and several support libraries. Please refer to the INSTALL file for full details.


  Getting the POV-Ray Unix/Linux source  

The Linux source code is in povray-src-3.7.0.beta.25b.tar.bz2. The INSTALL file mentioned above is included with the archive.


  Requirements for the Windows version  

Compiler

    The only officially-sanctioned platform for building the current POVWIN source code is a full version of Visual Studio 2005, using the Microsoft compilers. The express edition of VS2005 is reported to work, but some workarounds are required if you wish to build the editor provided with the source. (It is not necessary to build the editor to be able to use the EXE). We also believe that Visual Studio 2008 will work, but a small modification is required to one of the project files.

Platform

    We recommend the use of a 32-bit installation of Windows XP as your host platform for developing with the POVWIN source. Windows 2000 and x64 editions of Windows should also work but have not been tested by us.

Additional Libraries

    A copy of the boost libraries for your target platform is required. Details are provided in the readme as to how to obtain a pre-compiled version for targeting win32.

    You may also want to obtain a copy of openexr if you wish to enable EXR support. The official POV-Ray 3.7 betas support EXR reading and writing. See the readme for more information.

Beta Binaries

    You should have a working version of the latest official beta release installed and running OK before attempting to run your own compile. Installation of the beta release may also require you to install POV-Ray version 3.61 if you do not already have it.

    Note: if you receive the message 'Edit DLL initialization failed: could not resolve GetWindowList' when running your executable, it is because it has loaded the editor DLL that came with the 3.61 distribution of POV-Ray for Windows, rather than the one that came with the official betas or one that you built yourself. The beta DLL is backwards-compatible with the 3.61 version, meaning that version 3.61 of POVWIN will work with the new DLL's, but not the other way around. If you wish, you may want to back up your 3.61 editor DLL's and then replace them with the official beta 25 DLL's. Alternatively, follow the instructions in the README.


  Getting the POVWIN source  

You may download the Windows source from here. The archive contains license information and instructions in a readme.txt file. It is essential that you read that file (or the copy stored here) before proceeding. The source will not build unless you follow the steps outlined in that document.

Note: the 'quick start' instructions referred to in the readme haven't been written yet.

We suggest you check this page from time to time for updates to the instructions and bug fixes. We will also post a link to a portion on our wiki which is centered around the source code once we have it set up.


  Discussions and Issues  

Currently the officially-sanctioned discussion forum for source-code related issues is the povray.beta-test newsgroup (nntp link). If you intend to refer to an issue within a particular source file, and that file has a revision number available (look for a '$Revision:' field in the comment block at the head of the file), please ensure that you include that number in your post. This makes it easier for developers to refer to the exact version that you have. You should also report the version of the source archive that the file in question came from.


  Contributing to the Source  

At this point we would like to emphasize bug fixing/feature completion ahead of adding new and unrelated functionality. If you have found a solution to a bug, we don't even insist that you provide a patch to fix it (though if the fix is significant doing so would help somewhat). Just post in the povray.beta-test forum and provide a description of the bug, a sample scene (if this hasn't already been posted in the group), and your suggested fix. It's important that you tell us why you feel your solution is the correct one for the bug (unless of course it is self-evident, such as a clear coding error on our part). Please be specific as to whether or not you have actually tested your fix.

Please also ensure you are specific about the version of the source or of the particular source file you are working with. If you have not mixed files from multiple source archives, then it is sufficient to quote the source release number. Otherwise, please quote the revision number (the "$Revision:" field found in the header of almost all source files) for each source file you refer to in your post.

If you do wish to contribute actual code, it will need to be either licensed under a license that does not conflict with the POV-Ray license (e.g. the BSD license), or (more preferably), licensed under our own licenses. In addition, for changes made to certain source files (primarily files that contain code that is either new to version 3.7 or which were re-written for 3.7), we request that you contribute the code under both our license and the GPL3, and allow us to choose which of the two to use. This is to ease our transition to the GPL3 in the future. There are some files already in the source tree which can be re-licensed under this license, and we will not put code into them that is not also re-licensable when the time comes to do it.

Those wishing to make significant changes that they would like to contribute to the project may like to post regarding their intentions in the forum (or email us if necessary). Generally, it would be a good idea to let folks know what your are working on, to help avoid possible duplication.

If you need to talk directly with a team member regarding the source and can reasonably justify direct-emailing us rather than posting in the newsgroup, you may try sending a mail to source-37-011 àt povray org. Please don't write this address down and try it sometime in the future as it probably won't work - by our posting it on a webpage it will eventually get into the hands of spammers, at which point we will delete it and post a new address here.




Copyright 2003-2004 Persistence of Vision Raytracer Pty. Ltd.