documentation updates, allow to specify the configuration file
parent
7036116997
commit
ba5a9654d9
|
@ -5,12 +5,17 @@ import os
|
|||
import fnmatch
|
||||
import multiprocessing
|
||||
|
||||
if not os.path.exists('config.py'):
|
||||
AddOption("--configfile", dest="configfile", type="string", nargs=1, action='store', help='Manually specify a configuration file')
|
||||
configFile = GetOption('configfile')
|
||||
if configFile == None:
|
||||
configFile = "config.py"
|
||||
|
||||
if not os.path.exists(configFile):
|
||||
print 'A configuration file must be selected! Have a look at \"README\"'
|
||||
Exit(1)
|
||||
|
||||
# Parse configuration options
|
||||
vars = Variables('config.py');
|
||||
vars = Variables(configFile);
|
||||
vars.Add('CXX', 'C++ compiler')
|
||||
vars.Add('CC', 'C compiler')
|
||||
vars.Add('CXXFLAGS', 'C++ flags')
|
||||
|
|
|
@ -159,7 +159,50 @@ In the case that you have multiple processors, you might want to parallelize the
|
|||
If all goes well, the build process will finish successfully after a few
|
||||
minutes. In comparison to the other platforms, you don't have to run the \code{setpath.sh} script at this point.
|
||||
All binaries are now located in the \code{dist} directory, and they should be executed directly from there.
|
||||
\subsubsection{Integration with the Visual Studio interface}
|
||||
If you plan to modify Mitsuba and you enjoy working within the Visual
|
||||
Studio interface, the following steps should help you integrate the two
|
||||
(thanks to Marios Papas for this description!). The instructions are for Visual Studio 2008,
|
||||
hence some changes may be necessary on other versions. Also, they assume
|
||||
that you followed all of the previous steps.
|
||||
|
||||
\begin{enumerate}
|
||||
\item Create a copy of \code{config.py} in the Mitsuba root directory and
|
||||
name it \code{config\_debug.py}. This will later be used to support debug
|
||||
builds. Open the file and make the following changes:
|
||||
\begin{enumerate}
|
||||
\item In \code{CXXFLAGS}, replace \code{/Ox} by \code{/Od} (this disables
|
||||
optimizations, which is necessary to see variable contents in the debugger)
|
||||
\item In \code{CXXFLAGS}, add an entry \code{'/Z7'}.
|
||||
\item In \code{LINKFLAGS}, add an entry \code{'/DEBUG'}.
|
||||
\end{enumerate}
|
||||
\item Now, start a fresh instance of Visual Studio and click on
|
||||
the \emph{File$\to$New$\to$Project From Existing Code} menu entry.
|
||||
\item Choose \emph{Visual C++} from the drop-down menu and press \emph{Next}
|
||||
\item Specify the Mitsuba root directory at the top and enter \emph{mitsuba}
|
||||
as the project name. Uncheck \emph{Show all files in Solution explorer} and
|
||||
press \emph{Next}.
|
||||
\item Choose \emph{Use external build systen} and press \emph{Next}.
|
||||
\item In the following, feel free to replace any occurrence of
|
||||
\code{scons} by \code{scons -jX}, where \code{X} is the number of
|
||||
cores in your machine (this will provide faster build times).
|
||||
Fill in the following values:
|
||||
|
||||
\begin{tabular}{ll}i
|
||||
\emph{Build command line}:&\code{scons}\\
|
||||
\emph{Rebuild command line}:&\code{scons -c \&\& scons}\\
|
||||
\emph{Clean command line}:&\code{scons -c}\\
|
||||
\emph{Output}:&\code{dist\textbackslash mtsgui.exe}\\
|
||||
\emph{Include search paths}:&\code{C:\textbackslash Qt\textbackslash
|
||||
include} (your Qt path may be different)
|
||||
\end{tabular}
|
||||
\item On the next page, uncheck \emph{Same as Debug configuration}.
|
||||
Afterwards, enter exactly the same values as before except replacing
|
||||
every occurrence of \code{scons} by \code{scons {-}-cfg=config\_debug.py}.
|
||||
\item Click \emph{Finish} and wait for IntelliSense to finish (this might take
|
||||
a while).
|
||||
\item Switch to the Release configuration.
|
||||
\end{enumerate}
|
||||
\subsection{Building on Mac OS X}
|
||||
On Mac OS X, you will need to install both scons (\code{www.scons.org}) and
|
||||
a recent release of XCode. You will also need to get Qt 4.7.0 or a newer version
|
||||
|
|
|
@ -38,12 +38,13 @@ MTS_NAMESPACE_BEGIN
|
|||
*
|
||||
* The general interaction between a sampler and a rendering algorithm is as
|
||||
* follows: Before beginning to render a pixel, the rendering algorithm calls
|
||||
* \ref generate(). The first pixel sample is generated, after which \ref
|
||||
* advance() needs to be invoked, and so on. Note that any implementations need
|
||||
* to be configured for a certain number of pixel samples, and exceeding these
|
||||
* will lead to an exception being thrown. While computing a pixel sample, the
|
||||
* rendering algorithm usually requests batches of (pseudo-) random numbers
|
||||
* using the \ref next1D(), \ref next2D(), \ref next1DArray() and
|
||||
* \ref generate(). The first pixel sample can now be computed, after which
|
||||
* \ref advance() needs to be invoked. This repeats until all pixel samples have
|
||||
* been generated. Note that some implementations need to be configured for a
|
||||
* certain number of pixel samples, and exceeding these will lead to an
|
||||
* exception being thrown. While computing a pixel sample, the rendering
|
||||
* algorithm usually requests batches of (pseudo-) random numbers using
|
||||
* the \ref next1D(), \ref next2D(), \ref next1DArray() and
|
||||
* \ref next2DArray() functions.
|
||||
*
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue