mirror of
				https://github.com/halpz/re3.git
				synced 2025-11-04 15:35:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			132 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
 | 
						|
/******************************************
 | 
						|
 *                                        *
 | 
						|
 *    RenderWare(TM) Graphics Library     *
 | 
						|
 *                                        *
 | 
						|
 ******************************************/
 | 
						|
 | 
						|
/*
 | 
						|
 * This file is a product of Criterion Software Ltd.
 | 
						|
 *
 | 
						|
 * This file is provided as is with no warranties of any kind and is
 | 
						|
 * provided without any obligation on Criterion Software Ltd.
 | 
						|
 * or Canon Inc. to assist in its use or modification.
 | 
						|
 *
 | 
						|
 * Criterion Software Ltd. and Canon Inc. will not, under any
 | 
						|
 * circumstances, be liable for any lost revenue or other damages
 | 
						|
 * arising from the use of this file.
 | 
						|
 *
 | 
						|
 * Copyright (c) 1998. Criterion Software Ltd.
 | 
						|
 * All Rights Reserved.
 | 
						|
 */
 | 
						|
 | 
						|
/***************************************************************************
 | 
						|
 *                                                                         *
 | 
						|
 * Module  : rplodatm.h                                                    *
 | 
						|
 *                                                                         *
 | 
						|
 * Purpose : LODATM Geometry                                               *
 | 
						|
 *                                                                         *
 | 
						|
 **************************************************************************/
 | 
						|
 | 
						|
#ifndef RPLODATM_H
 | 
						|
#define RPLODATM_H
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * \defgroup rplodatm RpLODAtomic
 | 
						|
 * \ingroup rpplugin
 | 
						|
 *
 | 
						|
 * Level of Detail Management Plugin for RenderWare Graphics.
 | 
						|
 */
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
 Includes
 | 
						|
 */
 | 
						|
 | 
						|
#include "rwcore.h"
 | 
						|
#include "rpworld.h"
 | 
						|
 | 
						|
#include "rpcriter.h"          /* Note: each vendor can choose their own method for
 | 
						|
                                * allocation of unique ID's. This file defines 
 | 
						|
                                * the ID's used by Criterion.
 | 
						|
                                */
 | 
						|
#include "rplodatm.rpe"        /* automatically generated header file */
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
 Defines
 | 
						|
 */
 | 
						|
#define RPLODATOMICMAXLOD 10
 | 
						|
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
 Type defs 
 | 
						|
 */
 | 
						|
typedef RwInt32 (*RpLODAtomicLODCallBack)( RpAtomic *atomic );
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
 Function prototypes
 | 
						|
 */
 | 
						|
 | 
						|
#ifdef    __cplusplus
 | 
						|
extern              "C"
 | 
						|
{
 | 
						|
#endif                          /* __cplusplus */
 | 
						|
 | 
						|
    extern RwBool
 | 
						|
        RpLODAtomicPluginAttach( void );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicSetGeometry(
 | 
						|
            RpAtomic *atomic, RwInt32 lodIdx, RpGeometry *geometry );
 | 
						|
 | 
						|
    extern RpGeometry *
 | 
						|
        RpLODAtomicGetGeometry(
 | 
						|
            RpAtomic *atomic, RwInt32 lodIdx );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicSetCurrentLOD(
 | 
						|
            RpAtomic *atomic, RwInt32 lodIdx );
 | 
						|
 | 
						|
    extern RwInt32
 | 
						|
        RpLODAtomicGetCurrentLOD(
 | 
						|
            RpAtomic *atomic );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicSetRange(
 | 
						|
            RpAtomic *atomic, RwReal farRange );
 | 
						|
 | 
						|
    extern RwReal
 | 
						|
        RpLODAtomicGetRange(
 | 
						|
            RpAtomic *atomic );
 | 
						|
 | 
						|
    extern void 
 | 
						|
        RpLODAtomicSetCamera(
 | 
						|
            RwCamera *camera );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicSetLODCallBack(
 | 
						|
            RpAtomic *atomic, RpLODAtomicLODCallBack callback );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicSelectLOD(
 | 
						|
            RpAtomic *atomic );
 | 
						|
 | 
						|
    extern RpAtomic *
 | 
						|
        RpLODAtomicForAllLODGeometries(
 | 
						|
            RpAtomic *atomic, RpGeometryCallBack callback, void *pData );
 | 
						|
 | 
						|
    extern RpAtomic * 
 | 
						|
        RpLODAtomicHookRender(
 | 
						|
            RpAtomic *atomic );
 | 
						|
 | 
						|
    extern RpAtomic * 
 | 
						|
        RpLODAtomicUnHookRender(
 | 
						|
            RpAtomic *atomic );
 | 
						|
 | 
						|
#ifdef    __cplusplus
 | 
						|
}
 | 
						|
#endif                          /* __cplusplus */
 | 
						|
 | 
						|
#endif                          /* RPLODATM_H */
 | 
						|
 |