## Compile flags:

Several features in RenderPark can/need to be enabled at compile time by specifying an appropriate option to the compiler. For instance: when compiling with -DRGBCOLORS, calculations will be performed in RGB color space rather than XYZ color space. Such compile flags are typically assigned to the EXTRAFLAGS variable in the Config.site configuration file. The main compile flags and their meaning is summarized in the following table.

Flag name | Meaning
RGBCOLORS | do computations in RGB color space instead of CIE XYZ
LONG_FNTITLE | use full file path name as a window title
SOFT_ID_RENDERING | some hardware OpenGL implementations return rubbish when reading back the framebuffer in areas of the canvas window that are obscured by GUI (e.g. menu) widgets. One way to circumvent this problem is to use software ID rendering. This flag enables software ID rendering. Although slower than hardware ID rendering, it is recommended.
SLOW_RENDERER | when navigating using the mouse, waits for redisplaying the image until the mouse is released, instead of redisplaying continuously. Recommended for slow renderers, or when rendering over a slow network.
OSMESA | include off-screen rendering feature. Requires Mesa3d library (www.mesa3d.org).
LOWMEM_INTERSECT | use slower ray-polygon intersection code, at the benefit of saving storage (36 bytes per patch). - The default
FAST_INTERSECT | use old-style ray-tracing code (faster, but requires 36 more bytes per patch and sometimes makes small mistakes)
CHECK_INTERSECT | for debugging, compares fast and default ray-polygon intersection tests to see whether they agree or not
NOINT64 | compile without 64-bit integer code. Define this symbol if your compiler complains that it does not know the data type 'unsigned long long'. The disadvantage is that the Niederreiter quasi-random sequence used in stochastic Jacobi radiosity may overflow when you try to render very large models with sensitive refinement.
ASK_FOR_FILENAME | ask for a file name to save a raytraced image when pressing the ray tracing Run button. Default is not to ask for a file name to store the raytraced image: you can always save the current raytraced image using the 'Save Image' button in the raytracing menu.
GIDEBUG | include Debug menu in GUI. The Debug menu contains tools to debug/test/demonstrate parts of RenderPark. Not useful for the casual user.
RTDEBUG | nclude ray tracing debug code
DO_BACKFACE_CULLING_YOURSELF | in Galerkin radiosity and Monte Carlo radiosity, performs backface culling in software instead of in hardware, in order to avoid some strange interaction between backface culling and the use of display lists
NO_VRML | compile without XRML parser library support. e.g. because you do not want to use this library, or you can't get it compiled or whatever. This does not affect VRML output: saving the "illuminated" model after radiosity computations to a VRML file remains possible even if RenderPark is compiled with this flag.
NO_TIFF | if you don't have the TIFF library on your system
OLD_TIFF | if you have a version of the TIFF library prior to version 3.4beta037 (august 1997). Only this version of the TIFF library and more recent versions contain support for the Greg Wards high dynamic range logluv image encoding. When this symbol is defined, you will not be able to save High Dynamic Range raytraced images using the .logluv image filename extension.
NOPOOLS | use standard alloc() and free() instead of Pools library for memory management. The pools library used to provide much faster and compact memory management than the standerd memory management on older UNIX systems. Nowadays however, the benefit is doubtful and moreover, the pools library appears to have strange bugs. So always define this flag.
NAN_CHECKS | enable not-a-number checks in the code - for debugging
DEBUGASSERTS | enable assert() statements in the code - for debugging
INFO | enables display of certain informational messages. Not very useful.
DRAND_LRAND_HAVE_NO_PROTOTYPE | define this if drand48() and lrand48() have no prototypes in math.h or stdlib.h on your system. Most systems do have such prototypes, but if they don't, you may get strange crashes and scrambled images and such.
ALL_DOUBLE | do all floating point computations with double floating point numbers instead of single floating point numbers
SANITY_CHECKS | enables sanity checks in pools library - for debugging
VERBOSE | enables display of all kinds of informations messages you don't care about unless you are a developper or RenderPark expert

The following symbols receive a value: for instance, compile with -DDEFAULT_GAMMA=1.7 in order to make the default gamma correction factor 1.7 instead of 1.0.

Symbol name | Default value | Meaning
WEBBROWSER | "netscape %s &" | command to invoke web browser with argument (URL).
RPKHOME | "http//www.renderpark.be/" | RenderPark home page
RPKHTMLDOC | "http://www.renderpark.be/documentation.html" | RenderPark online documentation URL
DEFAULT_GAMMA | 1.0 | Default gamma correction factor