15#define OSG_BLENDFUNC 1
20#define GL_CONSTANT_COLOR 0x8001
21#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
22#define GL_CONSTANT_ALPHA 0x8003
23#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
24#define GL_BLEND_COLOR 0x8005
28#define GL_BLEND_DST_RGB 0x80C8
29#define GL_BLEND_SRC_RGB 0x80C9
30#define GL_BLEND_DST_ALPHA 0x80CA
31#define GL_BLEND_SRC_ALPHA 0x80CB
72 BlendFunc(GLenum source, GLenum destination, GLenum source_alpha, GLenum destination_alpha);
77 _source_factor(trans._source_factor),
78 _destination_factor(trans._destination_factor),
79 _source_factor_alpha(trans._source_factor_alpha),
80 _destination_factor_alpha(trans._destination_factor_alpha) {}
107 DST_ALPHA = GL_DST_ALPHA,
108 DST_COLOR = GL_DST_COLOR,
110 ONE_MINUS_DST_ALPHA = GL_ONE_MINUS_DST_ALPHA,
111 ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR,
112 ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA,
113 ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR,
114 SRC_ALPHA = GL_SRC_ALPHA,
115 SRC_ALPHA_SATURATE = GL_SRC_ALPHA_SATURATE,
116 SRC_COLOR = GL_SRC_COLOR,
126 _source_factor = source;
127 _destination_factor = destination;
128 _source_factor_alpha = source;
129 _destination_factor_alpha = destination;
132 inline void setFunction( GLenum source_rgb, GLenum destination_rgb, GLenum source_alpha, GLenum destination_alpha )
134 _source_factor = source_rgb;
135 _destination_factor = destination_rgb;
136 _source_factor_alpha = source_alpha;
137 _destination_factor_alpha = destination_alpha;
140 void setSource(GLenum source) { _source_factor = _source_factor_alpha = source; }
141 inline GLenum
getSource()
const {
return _source_factor; }
149 void setDestination(GLenum destination) { _destination_factor = _destination_factor_alpha = destination; }
#define GL_ONE_MINUS_CONSTANT_ALPHA
Definition BlendFunc:23
#define GL_CONSTANT_COLOR
Definition BlendFunc:20
#define GL_CONSTANT_ALPHA
Definition BlendFunc:22
#define GL_ONE_MINUS_CONSTANT_COLOR
Definition BlendFunc:21
#define COMPARE_StateAttribute_Parameter(parameter)
Definition StateAttribute:69
#define COMPARE_StateAttribute_Types(TYPE, rhs_attribute)
Definition StateAttribute:57
void setDestinationAlpha(GLenum destination)
Definition BlendFunc:155
void setFunction(GLenum source_rgb, GLenum destination_rgb, GLenum source_alpha, GLenum destination_alpha)
Definition BlendFunc:132
void setDestinationRGB(GLenum destination)
Definition BlendFunc:152
GLenum _destination_factor
Definition BlendFunc:165
void setSource(GLenum source)
Definition BlendFunc:140
void setSourceRGB(GLenum source)
Definition BlendFunc:143
GLenum getDestination() const
Definition BlendFunc:150
BlendFuncMode
Definition BlendFunc:106
GLenum getSource() const
Definition BlendFunc:141
virtual void apply(State &state) const
GLenum getSourceRGB() const
Definition BlendFunc:144
META_StateAttribute(osg, BlendFunc, BLENDFUNC)
void setSourceAlpha(GLenum source)
Definition BlendFunc:146
GLenum _destination_factor_alpha
Definition BlendFunc:167
BlendFunc(GLenum source, GLenum destination)
virtual int compare(const StateAttribute &sa) const
Definition BlendFunc:85
BlendFunc(GLenum source, GLenum destination, GLenum source_alpha, GLenum destination_alpha)
void setDestination(GLenum destination)
Definition BlendFunc:149
void setFunction(GLenum source, GLenum destination)
Definition BlendFunc:124
GLenum getDestinationAlpha() const
Definition BlendFunc:156
GLenum getSourceAlpha() const
Definition BlendFunc:147
GLenum _source_factor
Definition BlendFunc:164
virtual bool getModeUsage(StateAttribute::ModeUsage &usage) const
Definition BlendFunc:100
BlendFunc(const BlendFunc &trans, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition BlendFunc:75
GLenum getDestinationRGB() const
Definition BlendFunc:153
GLenum _source_factor_alpha
Definition BlendFunc:166
Definition StateAttribute:77
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39
Definition StateAttribute:308
virtual void usesMode(GLMode mode)=0