35 #ifndef ANATOMIST_OBJECT_VOLRENDERSHADER_H 36 #define ANATOMIST_OBJECT_VOLRENDERSHADER_H 41 #if defined( GL_FRAMEBUFFER ) || defined( GL_FRAMEBUFFER_EXT ) 45 template<
typename T>
class AVolume;
83 const GLTexture &gltex,
unsigned tex )
const;
85 const GLList &gllist )
const;
105 void vertex(
float x,
float y,
float z )
const;
106 void drawQuads(
float x,
float y,
float z )
const;
ViewState holds information about how a view wants to see an object.
VolRenderShader(AObject *vol)
Base Anatomist object (abstract)
virtual Tree * optionTree() const
Menu tree for new options, see object/optionMatcher.h.
virtual ~VolRenderShader()
virtual void glSetTexEnvChanged(bool=true, unsigned tex=0) const
virtual bool glMakeBodyGLL(const ViewState &state, const GLList &gllist) const
If you want to make a non-standard GL display list for the body geometry, overload this function to f...
virtual const AObjectPalette * glPalette(unsigned tex=0) const
static std::string loadShaderFile(const std::string &filename)
std::list< carto::rc_ptr< GLItem > > PrimList
virtual void glSetChanged(glPart, bool=true) const
bool setShaderType(const std::string &)
virtual Material & GetMaterial()
void createRenderTextures(int width, int height)
virtual bool render(PrimList &, const ViewState &)
rendering (generally 2D or 3D using OpenGL).
virtual const GLComponent * glAPI() const
virtual void glSetTexImageChanged(bool=true, unsigned tex=0) const
This class can be subclassed to represent an object that the programmer wants to have observed...
std::string name() const
Name shown in control window.
virtual void update(const Observable *observable, void *arg)
This class is an Observer of each of the AObject it groups.
virtual const GLComponent::TexExtrema & glTexExtrema(unsigned tex=0) const
virtual bool isTransparent() const
void drawQuads(float x, float y, float z) const
void loadTransferFunction()
This class has to be rewritten, it's really really a shame.......
virtual bool CanRemove(AObject *)
virtual bool renderingIsObserverDependent() const
true only if the rendering (openGL) of the object changes with the observer position/orientation of t...
it's a list, in fact...
std::string shaderType() const
virtual AObjectPalette * palette()
Normally, getOrCreatePalette() should be used instead of this function in most cases.
virtual const Material * glMaterial() const
void vertex(float x, float y, float z) const
Base class for all OpenGL objects in Anatomist (with OpenGL display lists)
void createDefaultPalette(const std::string &name="")
function called by getOrCreatePalette() - overloadable, need not be called directly ...
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...
glPart
GL object parts, each driving a GL list.
virtual std::string viewStateID(glPart part, const ViewState &) const
Makes a unique ID from a viewstate.
virtual const Material & material() const
virtual bool Is3DObject()
Can be display in 3D windows.
virtual void SetMaterial(const Material &mat)
virtual void setPalette(const AObjectPalette &pal)
virtual unsigned glDimTex(const ViewState &, unsigned tex=0) const
texture dimension (1, 2 [or 3])
virtual bool Is2DObject()
Can be display in 2D windows.