diff options
Diffstat (limited to 'src/VBox/GuestHost/OpenGL/include/state/cr_feedback.h')
-rw-r--r-- | src/VBox/GuestHost/OpenGL/include/state/cr_feedback.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/VBox/GuestHost/OpenGL/include/state/cr_feedback.h b/src/VBox/GuestHost/OpenGL/include/state/cr_feedback.h new file mode 100644 index 00000000..168f20eb --- /dev/null +++ b/src/VBox/GuestHost/OpenGL/include/state/cr_feedback.h @@ -0,0 +1,56 @@ +/* Copyright (c) 2001, Stanford University + * All rights reserved. + * + * See the file LICENSE.txt for information on redistributing this software. + */ + +#ifndef CR_STATE_FEEDBACK_H +#define CR_STATE_FEEDBACK_H + +#include "state/cr_statetypes.h" + +#include <iprt/cdefs.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define MAX_NAME_STACK_DEPTH 64 + +typedef struct { + CRbitvalue dirty[CR_MAX_BITARRAY]; +} CRFeedbackBits; + +typedef struct { + CRbitvalue dirty[CR_MAX_BITARRAY]; +} CRSelectionBits; + +typedef struct { + GLenum type; + GLuint mask; + GLfloat *buffer; + GLuint bufferSize; + GLuint count; +} CRFeedbackState; + +typedef struct { + GLuint *buffer; + GLuint bufferSize; + GLuint bufferCount; + GLuint hits; + GLuint nameStackDepth; + GLuint nameStack[MAX_NAME_STACK_DEPTH]; + GLboolean hitFlag; + GLfloat hitMinZ, hitMaxZ; +} CRSelectionState; + +extern DECLEXPORT(void) crStateFeedbackDiff(CRFeedbackState *from, CRFeedbackState *to, + CRFeedbackBits *bb, CRbitvalue *bitID); +extern DECLEXPORT(void) crStateFeedbackSwitch(CRFeedbackBits *bb, CRbitvalue *bitID, + CRFeedbackState *from, CRFeedbackState *to); + +#ifdef __cplusplus +} +#endif + +#endif /* CR_STATE_FEEDBACK_H */ |