summaryrefslogtreecommitdiffstats
path: root/rwsdk/include/d3d8/rplodatm.h
diff options
context:
space:
mode:
Diffstat (limited to 'rwsdk/include/d3d8/rplodatm.h')
-rw-r--r--rwsdk/include/d3d8/rplodatm.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/rwsdk/include/d3d8/rplodatm.h b/rwsdk/include/d3d8/rplodatm.h
new file mode 100644
index 00000000..d4583338
--- /dev/null
+++ b/rwsdk/include/d3d8/rplodatm.h
@@ -0,0 +1,131 @@
+
+/******************************************
+ * *
+ * 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 */
+