1 #ifndef COIN_SOTEXTURECOMBINEELEMENT_H
2 #define COIN_SOTEXTURECOMBINEELEMENT_H
36 #include <Inventor/elements/SoReplacedElement.h>
37 #include <Inventor/SbVec2s.h>
38 #include <Inventor/SbVec3s.h>
39 #include <Inventor/SbColor4f.h>
42 class SoTextureCombineElementP;
56 PRIMARY_COLOR = 0x8577,
63 ONE_MINUS_SRC_COLOR = 0x0301,
65 ONE_MINUS_SRC_ALPHA = 0x0303
82 const Operation rgboperation,
83 const Operation alphaoperation,
84 const Source * rgbsource,
85 const Source * alphasource,
86 const Operand * rgboperand,
87 const Operand * alphaoperand,
90 const float alphascale);
92 static SbBool isDefault(
SoState *
const state,
95 static void get(
SoState *
const state,
97 Operation & rgboperation,
98 Operation & alphaoperation,
100 Source * alphasource,
101 Operand * rgboperand,
102 Operand * alphaoperand,
111 virtual void setElt(
const int unit,
112 const uint32_t nodeid,
113 const Operation rgboperation,
114 const Operation alphaoperation,
115 const Source * rgbsource,
116 const Source * alphasource,
117 const Operand * rgboperand,
118 const Operand * alphaoperand,
120 const float rgbscale,
121 const float alphascale);
123 static void apply(
SoState * state,
const int unit);
128 UnitData(
const UnitData & org);
132 Source alphasource[3];
133 Operand rgboperand[3];
134 Operand alphaoperand[3];
135 Operation rgboperation;
136 Operation alphaoperation;
143 const UnitData & getUnitData(
const int unit)
const;
146 SoTextureCombineElementP * pimpl;
149 #endif // !COIN_SOTEXTURECOMBINEELEMENT_H