00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_GL_TEXTURE_IMAGE3_ELEMENT
00025 #define _SO_GL_TEXTURE_IMAGE3_ELEMENT
00026
00027 #include <Inventor/elements/SoTextureImage3Element.h>
00028 #include <SoDeprecationRules.h>
00029
00030 class SoGLDisplayList;
00031 class SoBufferObject;
00032 class SoGLTexture;
00033
00034 SO_PIMPL_PUBLIC_DECLARATION(SoGLTextureImage3Element)
00035
00036
00055 SoEXTENDER_Documented class SoDEPRECATED SoGLTextureImage3Element : public SoTextureImage3Element
00056 {
00057 SO_PIMPL_PUBLIC_HEADER(SoGLTextureImage3Element);
00058
00059 SO_ELEMENT_HEADER(SoGLTextureImage3Element);
00060
00061 public:
00071 static SoGLDisplayList *
00072 set(SoState *state, SoNode *node,
00073 const SbVec3s &s, int nc,
00074 const unsigned char *bytes,
00075 SoBufferObject* bufferObject,
00076 GLint GLInternalFormat,
00077 float texQuality,
00078 int wrapS, int wrapT, int wrapR, int model,
00079 const SbColor &blendColor, float _maxAnisotropy,
00080 SbBool _enableBorder, const SbVec4f &_borderColor, SoGLDisplayList *list,
00081 SbBool enableCompressedTexture );
00082
00087 static void set(SoState *state, SoNode *node,
00088 const SbVec3s &subSize, int xoffset, int yoffset, int zoffset,
00089 const unsigned char *bytes, int texname) ;
00090
00091 static void setFilter(SoState *state, SoNode *node, int _minFilter, int _magFilter);
00092
00096 virtual void push(SoState *state) ;
00097
00101 virtual void pop(SoState *state, const SoElement *prevTopElement);
00102
00103 private:
00104
00105 static void initClass();
00106 static void exitClass();
00107
00108 static int getMaxTextureSize(SoState* state);
00109
00111 static SoGLTexture* getGLTexture(SoState* state, int unit);
00112
00114 static void set(SoState *state, SoNode *node, const SoTexImageData& config);
00115
00117 static void subImage(SoState *state, const SbVec3i32& size,
00118 int xoffset, int yoffset, int zoffset,
00119 const void* data);
00120 private:
00122 virtual void commonInit();
00123
00125 virtual void init(SoState *state);
00126
00131 virtual void setElt(const SbVec3s &s, int nc,
00132 const unsigned char *bytes,
00133 GLint GLInternalFormat,
00134 int wrapS, int wrapT, int wrapR, int model,
00135 const SbColor &blendColor, float _maxAnisotropy,
00136 SbBool _enableBorder, const SbVec4f &_borderColor,
00137 int unit=0);
00138
00139
00140 virtual ~SoGLTextureImage3Element();
00141
00142 private:
00143 friend class SoGLTextureImageElementImpl;
00144 };
00145
00146 #endif
00147
00148
00149