41 #ifndef INCLUDED_GLS_MIMIC_GROUP_H
42 #define INCLUDED_GLS_MIMIC_GROUP_H
51 #if( defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLSGEN_IMPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
52 && defined( _MSC_VER )
53 # if defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED )
54 # define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllexport )
56 # define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllimport )
59 # define GLSGEN_GLSMIMICGROUP_EXPORT
63 #define LIB_BASE_NAME "gls_mimic_group"
76 GLS_MIMIC_GROUP_STATE = GLS_LAST_INITIALIZER + 1,
77 GLS_MIMIC_GROUP_MIMIC_ACTIVE,
78 GLS_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
79 GLS_MIMIC_GROUP_TOP_RIGHT_CORNER,
80 GLS_MIMIC_GROUP_SHOW_OUTLINE,
81 GLS_MIMIC_GROUP_TEXTURE_HEIGHT,
82 GLS_MIMIC_GROUP_TEXTURE_WIDTH,
83 GLS_MIMIC_GROUP_HAS_DEPTH_BUFFER,
84 GLS_MIMIC_GROUP_DEPTH_TEST,
85 GLS_MIMIC_GROUP_GENERATE_MIPMAPS,
86 GLS_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
87 GLS_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
88 GLS_MIMIC_GROUP_CLEAR_COLOR,
89 GLS_MIMIC_GROUP_USE_OPAQUE_TEXTURE
125 friend class GlsMimicGroupEditor;
134 GLSGEN_GLSMIMICGROUP_EXPORT
GlsMimicGroup(
bool generateInstance =
false );
136 GLSGEN_GLSMIMICGROUP_EXPORT GlsMimicGroup(
const GlsMimicGroup& that,
const bool generateNames );
180 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void Draw(
void );
185 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void SetValue(
int spec, va_list& args );
196 virtual GLSGEN_GLSMIMICGROUP_EXPORT
unsigned int TextureWidth()
const {
return _textureWidth; }
203 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void TextureWidth(
unsigned int textureWidth );
210 virtual GLSGEN_GLSMIMICGROUP_EXPORT
unsigned int TextureHeight()
const {
return _textureHeight; }
217 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void TextureHeight(
unsigned int textureHeight );
224 virtual GLSGEN_GLSMIMICGROUP_EXPORT
bool HasDepthBuffer()
const {
return _hasDepthBuffer; }
231 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void HasDepthBuffer(
bool hasDepthBuffer );
238 virtual GLSGEN_GLSMIMICGROUP_EXPORT
bool GenerateMipMaps()
const {
return _generateMipMaps; }
245 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void GenerateMipMaps(
bool generate );
266 virtual GLSGEN_GLSMIMICGROUP_EXPORT
unsigned char MimicGroupDepthTest()
const {
return _mimicGroupDepthTest; }
273 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void MimicGroupDepthTest(
unsigned char depthSettings );
352 GLSGEN_GLSMIMICGROUP_EXPORT
bool ShowOutline(
void )
const {
return _showOutline; }
359 GLSGEN_GLSMIMICGROUP_EXPORT
void ShowOutline(
bool showOutline );
366 GLSGEN_GLSMIMICGROUP_EXPORT
bool Redraw(
void )
const {
return _redraw; }
373 GLSGEN_GLSMIMICGROUP_EXPORT
void Redraw(
bool redraw );
380 GLSGEN_GLSMIMICGROUP_EXPORT
bool UseOpaqueTexture(
void )
const {
return _useOpaqueTexture; }
394 virtual GLSGEN_GLSMIMICGROUP_EXPORT
void SetMatrices();
444 GLSGEN_GLSMIMICGROUP_EXPORT
void Invalidate();
508 bool _mimicGroupActive;
510 bool _hasDepthBuffer;
511 bool _generateMipMaps;
513 bool _drawMimicGroupPolygon;
514 unsigned char _mimicGroupDepthTest;
515 bool _textureIndexChanged;
519 int _attachedTextureIndex;
520 unsigned int _textureWidth;
521 unsigned int _textureHeight;
522 unsigned int _frameBufferHandle;
523 unsigned int _depthBufferHandle;
524 Image* _mimicGroupTexture;
525 unsigned int _vertexBufferHandle;
528 bool _useOpaqueTexture;
virtual GlsColor ClearColor() const
Definition: gls_mimic_group.h:280
static DisplayObject * CreateInstance()
bool ShowOutline(void) const
Definition: gls_mimic_group.h:352
Definition: dynamic_array.h:62
virtual unsigned char MimicGroupDepthTest() const
Definition: gls_mimic_group.h:266
The disti::Group class. Implements groups of objects.
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:278
void ApplyMimicGroupTextureSettings()
DisplayObject * handle(DisplayEvent *displayEvent)
void LogUnsupportedFeatures()
virtual void PreDrawMimicGroupChildren(const OpenGLMatrices &parentMatrices, Culler &culler)
virtual bool GenerateMipMaps() const
Definition: gls_mimic_group.h:238
void CreateDiffuseTexture()
Definition: gls_glo_file.h:835
Definition: gls_mimic_group.h:118
virtual void SetAvailableAttributes(unsigned int value)
The Image class. All textures are converted internally into Images.
bool _overrideMimicGroupActive
Definition: gls_mimic_group.h:527
virtual bool DrawMimicGroupPolygon() const
Definition: gls_mimic_group.h:252
void SetupMimicGroupDepthTest()
virtual bool HasDepthBuffer() const
Definition: gls_mimic_group.h:224
virtual void SetMatrices()
virtual void CopyProperties(DisplayObject *src)
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
virtual unsigned int TextureWidth() const
Definition: gls_mimic_group.h:196
Utility for common frame buffer support.
bool Redraw(void) const
Definition: gls_mimic_group.h:366
Definition: gls_color.h:53
bool MimicGroupActive(void)
Definition: gls_mimic_group.h:309
Vector TopRightCorner(void) const
Definition: gls_mimic_group.h:345
bool _frameBuffersEnabledAndAttached
Definition: gls_mimic_group.h:526
virtual unsigned int TextureHeight() const
Definition: gls_mimic_group.h:210
virtual void SetValue(int spec, va_list &args)
void CreateDepthTexture()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
bool RequiredGlFeaturesSupported()
Vector BottomLeftCorner(void)
Definition: gls_mimic_group.h:331
void CreateMimicGroupQuad()
virtual DisplayObject * CloneObject(bool generateNames=false)
Macros and helper code to determine what subset of C++11/14/17 is available.
bool VertexBuffersAreSupported()
Definition: bmpimage.h:46
bool UseOpaqueTexture(void) const
Definition: gls_mimic_group.h:380
virtual int AttachedTextureIndex() const
Definition: gls_mimic_group.h:294
void GetRegionCorners(Vector &topLeftCorner, Vector &topRightCorner, Vector &bottomRightCorner, Vector &bottomLeftCorner)
static bool _unsupportedLogged
Definition: gls_mimic_group.h:530