34#ifndef ANA_MOBJECT_GLMOBJECT_H
35#define ANA_MOBJECT_GLMOBJECT_H
90 unsigned tex = 0 )
const;
99 unsigned tex = 0 )
const;
106 unsigned tex = 0 )
const;
108 unsigned tex = 0 )
const;
111 const GLTexture & gltex,
unsigned tex )
const;
113 const GLList & gllist,
unsigned tex )
const;
119 unsigned tex = 0 )
const;
121 unsigned tex = 0 )
const;
135 unsigned n = 0 )
const;
glPart
GL object parts, each driving a GL list.
virtual glAutoTexturingMode glAutoTexMode(unsigned tex=0) const
virtual glTextureFiltering glTexFiltering(unsigned tex=0) const
virtual void glSetTexEnvChanged(bool x=true, unsigned tex=0) const
virtual const GLComponent * glAPI() const
OpenGL objects const API.
virtual const float * glAutoTexParams(unsigned coord=0, unsigned tex=0) const
virtual void glSetTexFiltering(glTextureFiltering x, unsigned tex=0)
virtual const GLuint * glPolygonArray(const ViewState &) const
number of vertices per polygon (default = 3: triangles)
virtual GLComponent * glAPI()
OpenGL objects API.
virtual void glSetTexNameGLL(const std::string &state, RefGLItem x, unsigned tex=0)
virtual TexInfo & glTexInfo(unsigned tex=0) const
virtual unsigned glNumPolygon(const ViewState &) const
virtual const GLfloat * glVertexArray(const ViewState &) const
virtual void setShaderParameters(const Shader &shader, const ViewState &state) const
virtual void update(const Observable *, void *)
This class is an Observer of each of the AObject it groups.
virtual void glSetTexRate(float rate, unsigned tex=0)
virtual GLPrimitives glTexEnvGLL(const ViewState &, unsigned tex=0) const
virtual unsigned glNumTextures(const ViewState &) const
virtual unsigned glNumVertex(const ViewState &) const
virtual const TexExtrema & glTexExtrema(unsigned tex=0) const
virtual bool glTexImageChanged(unsigned tex=0) const
virtual bool glToRef(const Referential *objref, GLPrimitives &pl) const
get to geometry object referential before drawing.
virtual float glTexRate(unsigned tex=0) const
virtual void glSetAutoTexParams(const float *params, unsigned coord=0, unsigned tex=0)
virtual glTextureWrapMode glTexWrapMode(unsigned coord=0, unsigned tex=0) const
virtual void glSetAutoTexMode(glAutoTexturingMode mode, unsigned tex=0)
virtual const GLComponent * glTexture(const ViewState &, unsigned n=0) const
virtual const AObjectPalette * palette() const
virtual bool render(PrimList &, const ViewState &vs)
rendering (generally 2D or 3D using OpenGL).
virtual void glSetTexImageChanged(bool x=true, unsigned tex=0) const
virtual void glSetTexWrapMode(glTextureWrapMode x, unsigned coord=0, unsigned tex=0)
virtual GLPrimitives glTexNameGLL(const ViewState &, unsigned tex=0) const
virtual bool glMakeTexImage(const ViewState &state, const GLTexture &gltex, unsigned tex) const
If you make non-standard textures (ie not from a palette), overload this function to fill gltex.
virtual bool glTexRGBInterpolation(unsigned tex=0) const
virtual const Material & material() const
virtual void glClearHasChangedFlags() const
virtual TexExtrema & glTexExtrema(unsigned tex=0)
virtual glTextureMode glTexMode(unsigned tex=0) const
virtual unsigned glNumTextures() const
virtual GLComponent * glTexture(const ViewState &, unsigned n=0)
virtual Material & GetMaterial()
virtual void glSetTexRGBInterpolation(bool x, unsigned tex=0)
virtual const GLfloat * glNormalArray(const ViewState &) const
normals array (optional), default=0 (no normals, flat shaded faces)
virtual void glSetTexMode(glTextureMode mode, unsigned tex=0)
virtual AObjectPalette * palette()
Normally, getOrCreatePalette() should be used instead of this function in most cases.
virtual void glSetMaterialGLL(const std::string &state, RefGLItem x)
virtual void glSetChanged(glPart, bool x=true) const
virtual bool glMakeTexEnvGLL(const ViewState &state, const GLList &gllist, unsigned tex) const
virtual std::string viewStateID(glPart part, const ViewState &) const
Makes a unique ID from a viewstate.
virtual const GLComponent * glGeometry(const ViewState &) const
virtual const Material * glMaterial() const
virtual void glGarbageCollector(int nkept=-1)
Frees unused display lists.
virtual unsigned glTexCoordSize(const ViewState &, unsigned tex=0) const
texture array size (must be >= numVertex to work), defalut=0
virtual GLPrimitives glMaterialGLL(const ViewState &state) const
virtual const AObjectPalette * glPalette(unsigned tex=0) const
virtual bool glTexEnvChanged(unsigned tex=0) const
virtual const GLfloat * glTexCoordArray(const ViewState &, unsigned tex=0) const
virtual unsigned glPolygonSize(const ViewState &) const
number of vertices per polygon (default = 3: triangles)
virtual GLComponent * glGeometry(const ViewState &)
virtual unsigned glDimTex(const ViewState &, unsigned tex=0) const
texture dimension (1, 2 [or 3])
This class has to be rewritten, it's really really a shame.......
This class can be subclassed to represent an object that the programmer wants to have observed.
Referential: marker for transformations, with an associated color.
std::list< carto::rc_ptr< GLItem > > PrimList
carto::rc_ptr< GLItem > RefGLItem
std::list< RefGLItem > GLPrimitives
ViewState holds information about how a view wants to see an object.