/*
 * Copyright (C) 2002-2005, R3vis Corporation.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA,
 * or visit http://www.gnu.org/copyleft/gpl.html.
 *
 * Contributor(s):
 *   Wes Bethel, R3vis Corporation, Marin County, California
 *
 * The OpenRM project is located at http://openrm.sourceforge.net/.
 */
/*
 * $Id: procmode.h,v 1.9 2005/06/08 18:34:16 wes Exp $
 * $Revision: 1.9 $
 * $Name: OpenRM-1-6-0-2-c $
 * $Log: procmode.h,v $
 * Revision 1.9  2005/06/08 18:34:16  wes
 * Code cleanup to eliminate compiler warnings.
 *
 * Revision 1.8  2004/03/28 01:53:35  wes
 * *** empty log message ***
 *
 * Revision 1.7  2003/04/13 18:13:23  wes
 * Updated copyright dates.
 *
 * Revision 1.6  2003/01/27 05:07:07  wes
 * Changes to RMpipe initialization sequence APIs. Tested for GLX, but not WGL.
 *
 * Revision 1.5  2003/01/16 22:22:45  wes
 * Updated all source files to reflect new organization of header files: all
 * headers that were formerly located in include/rmaux, include/rmv and
 * include/rmi are now located in include/rm.
 *
 * Revision 1.4  2002/06/17 00:49:25  wes
 * Updated copyright lines.
 *
 * Revision 1.3  2001/07/15 22:33:19  wes
 * Added rmPipeDelete to the end of all demo progs. For those that use
 * an initfunc, added a new RMnode * parm (which is unused, except for rm2screen).
 *
 * Revision 1.2  2001/06/04 00:58:25  wes
 * v140-beta1 - default mode is RM_PIPE_MULTISTAGE_VIEW_PARALLEL
 *
 * Revision 1.1  2001/03/31 16:55:18  wes
 * Added procmode.h, which defines an RMpipe processing mode used in
 * most demonstration programs. The default processing mode is
 * RM_PIPE_MULTISTAGE_VIEW_PARALLEL.
 *
 *
 */

/*
 * This file contains a symbol used to define the RMpipe processing
 * mode used by all the demonstration programs. You may change the
 * processing mode here and recompile, or you can change the 
 * processing mode inside an individual program if you like.
 */

#ifndef __procmode_h
#define __procmode_h

/*
 * Choose one of the following processing modes:
 * RM_PIPE_SERIAL - the pre-1.4.0-alpha-X serial rendering code.
 * RM_PIPE_MULTISTAGE - multistage rendering, but each stage performed
 *   serially within the same thread as the caller (this is the default).
 * RM_PIPE_MULTISTAGE_VIEW_PARALLEL - the view traversal is placed
 *   into a separate execution thread, while the render traversal
 *   remains in the same thread as the caller.
 * RM_PIPE_MULTISTAGE_PARALLEL - the view and render traversals are
 *   placed into separate processing threads; neither of view or
 *   render is in the same thread as the caller. 
 */

/*#define DEFAULT_PROCESSING_MODE RM_PIPE_SERIAL */
#define DEFAULT_PROCESSING_MODE RM_PIPE_MULTISTAGE 
/*#define DEFAULT_PROCESSING_MODE RM_PIPE_MULTISTAGE_VIEW_PARALLEL  */
/*#define DEFAULT_PROCESSING_MODE RM_PIPE_MULTISTAGE_PARALLEL   */

#endif
