#include <stdlib.h>#include <stdio.h>#include "OSGConfig.h"#include <OSGGL.h>#include "OSGLog.h"#include "OSGFieldContainerPtr.h"#include "OSGGeometry.h"#include "OSGDrawAction.h"#include "OSGMaterial.h"#include "OSGGeoPumpFactory.h"Include dependency graph for OSGGeoPumpFactory.cpp:

Namespaces | |
| namespace | osg |
Compounds | |
| class | glextFuncInit |
Defines | |
| #define | GL_SECONDARY_COLOR_ARRAY_EXT 0x845E |
| #define | GL_TEXTURE0_ARB 0x84C0 |
| #define | GL_TEXTURE1_ARB 0x84C1 |
| #define | GL_TEXTURE2_ARB 0x84C2 |
| #define | GL_TEXTURE3_ARB 0x84C3 |
| #define | TexCoords2IDs TexCoords1IDs |
| #define | TexCoords3IDs TexCoords1IDs |
| #define | pumpSetup(name, typename, getmethod) |
| #define | pumpInternalSetup(name, typename, getmethod, mandatory) |
| #define | pumpGLSetup(name, typename, getmethod) |
| #define | pumpGLExtSetup(name, typename, getmethod) |
| #define | pumpMultiGLExtSetup(name, typename, getmethod) |
| #define | iC |
| #define | iS |
| #define | iN |
| #define | iT |
| #define | iT1 |
| #define | iT2 |
| #define | iT3 |
| #define | rC ColorFunc ( ColorData + ColorStride * vind[ColorIndex] ); |
| #define | rS SecColorFunc ( SecColorData + SecColorStride * vind[SecColorIndex] ); |
| #define | rN NormalFunc ( NormalData + NormalStride * vind[NormalIndex] ); |
| #define | rT TexCoordsFunc ( TexCoordsData + TexCoordsStride * vind[TexCoordsIndex] ); |
| #define | rT1 TexCoords1Func( GL_TEXTURE1_ARB , TexCoords1Data + TexCoords1Stride * vind[TexCoords1Index] ); |
| #define | rT2 TexCoords2Func( GL_TEXTURE2_ARB , TexCoords2Data + TexCoords2Stride * vind[TexCoords2Index] ); |
| #define | rT3 TexCoords3Func( GL_TEXTURE3_ARB , TexCoords3Data + TexCoords3Stride * vind[TexCoords3Index] ); |
| #define | defMultiGeoPump(func, init, render) |
Typedefs | |
| typedef void(OSG_APIENTRY * | pumpFunc )(GLubyte *data) |
| typedef void(OSG_APIENTRY * | multiPumpFunc )(GLenum which, GLubyte *data) |
Functions | |
| void | GeoPump0 (Window *win, Geometry *geo) |
| void | GeoPump128 (Window *win, Geometry *geo) |
| void | GeoPump129 (Window *win, Geometry *geo) |
| defMultiGeoPump (1, iC;, rC;) defMultiGeoPump(2 | |
| defMultiGeoPump (3, iC;iS;, rC;rS;) defMultiGeoPump(4 | |
| defMultiGeoPump (5, iC;iN;, rC;rN;) defMultiGeoPump(6 | |
| defMultiGeoPump (7, iC;iS;iN;, rC;rS;rN;) defMultiGeoPump(8 | |
| defMultiGeoPump (9, iC;iT;, rC;rT;) defMultiGeoPump(10 | |
| defMultiGeoPump (11, iC;iS;iT;, rC;rS;rT;) defMultiGeoPump(12 | |
| defMultiGeoPump (13, iC;iN;iT;, rC;rN;rT;) defMultiGeoPump(14 | |
| defMultiGeoPump (15, iC;iS;iN;iT;, rC;rS;rN;rT;) defMultiGeoPump(16 | |
| defMultiGeoPump (17, iC;iT1;, rC;rT1;) defMultiGeoPump(18 | |
| defMultiGeoPump (19, iC;iS;iT1;, rC;rS;rT1;) defMultiGeoPump(20 | |
| defMultiGeoPump (21, iC;iN;iT1;, rC;rN;rT1;) defMultiGeoPump(22 | |
| defMultiGeoPump (23, iC;iS;iN;iT1;, rC;rS;rN;rT1;) defMultiGeoPump(24 | |
| defMultiGeoPump (25, iC;iT;iT1;, rC;rT;rT1;) defMultiGeoPump(26 | |
| defMultiGeoPump (27, iC;iS;iT;iT1;, rC;rS;rT;rT1;) defMultiGeoPump(28 | |
| defMultiGeoPump (29, iC;iN;iT;iT1;, rC;rN;rT;rT1;) defMultiGeoPump(30 | |
| defMultiGeoPump (31, iC;iS;iN;iT;iT1;, rC;rS;rN;rT;rT1;) defMultiGeoPump(32 | |
| defMultiGeoPump (33, iC;iT2;, rC;rT2;) defMultiGeoPump(34 | |
| defMultiGeoPump (35, iC;iS;iT2;, rC;rS;rT2;) defMultiGeoPump(36 | |
| defMultiGeoPump (37, iC;iN;iT2;, rC;rN;rT2;) defMultiGeoPump(38 | |
| defMultiGeoPump (39, iC;iS;iN;iT2;, rC;rS;rN;rT2;) defMultiGeoPump(40 | |
| defMultiGeoPump (41, iC;iT;iT2;, rC;rT;rT2;) defMultiGeoPump(42 | |
| defMultiGeoPump (43, iC;iS;iT;iT2;, rC;rS;rT;rT2;) defMultiGeoPump(44 | |
| defMultiGeoPump (45, iC;iN;iT;iT2;, rC;rN;rT;rT2;) defMultiGeoPump(46 | |
| defMultiGeoPump (47, iC;iS;iN;iT;iT2;, rC;rS;rN;rT;rT2;) defMultiGeoPump(48 | |
| defMultiGeoPump (49, iC;iT1;iT2;, rC;rT1;rT2;) defMultiGeoPump(50 | |
| defMultiGeoPump (51, iC;iS;iT1;iT2;, rC;rS;rT1;rT2;) defMultiGeoPump(52 | |
| defMultiGeoPump (53, iC;iN;iT1;iT2;, rC;rN;rT1;rT2;) defMultiGeoPump(54 | |
| defMultiGeoPump (55, iC;iS;iN;iT1;iT2;, rC;rS;rN;rT1;rT2;) defMultiGeoPump(56 | |
| defMultiGeoPump (57, iC;iT;iT1;iT2;, rC;rT;rT1;rT2;) defMultiGeoPump(58 | |
| defMultiGeoPump (59, iC;iS;iT;iT1;iT2;, rC;rS;rT;rT1;rT2;) defMultiGeoPump(60 | |
| defMultiGeoPump (61, iC;iN;iT;iT1;iT2;, rC;rN;rT;rT1;rT2;) defMultiGeoPump(62 | |
| defMultiGeoPump (63, iC;iS;iN;iT;iT1;iT2;, rC;rS;rN;rT;rT1;rT2;) defMultiGeoPump(64 | |
| defMultiGeoPump (65, iC;iT3;, rC;rT3;) defMultiGeoPump(66 | |
| defMultiGeoPump (67, iC;iS;iT3;, rC;rS;rT3;) defMultiGeoPump(68 | |
| defMultiGeoPump (69, iC;iN;iT3;, rC;rN;rT3;) defMultiGeoPump(70 | |
| defMultiGeoPump (71, iC;iS;iN;iT3;, rC;rS;rN;rT3;) defMultiGeoPump(72 | |
| defMultiGeoPump (73, iC;iT;iT3;, rC;rT;rT3;) defMultiGeoPump(74 | |
| defMultiGeoPump (75, iC;iS;iT;iT3;, rC;rS;rT;rT3;) defMultiGeoPump(76 | |
| defMultiGeoPump (77, iC;iN;iT;iT3;, rC;rN;rT;rT3;) defMultiGeoPump(78 | |
| defMultiGeoPump (79, iC;iS;iN;iT;iT3;, rC;rS;rN;rT;rT3;) defMultiGeoPump(80 | |
| defMultiGeoPump (81, iC;iT1;iT3;, rC;rT1;rT3;) defMultiGeoPump(82 | |
| defMultiGeoPump (83, iC;iS;iT1;iT3;, rC;rS;rT1;rT3;) defMultiGeoPump(84 | |
| defMultiGeoPump (85, iC;iN;iT1;iT3;, rC;rN;rT1;rT3;) defMultiGeoPump(86 | |
| defMultiGeoPump (87, iC;iS;iN;iT1;iT3;, rC;rS;rN;rT1;rT3;) defMultiGeoPump(88 | |
| defMultiGeoPump (89, iC;iT;iT1;iT3;, rC;rT;rT1;rT3;) defMultiGeoPump(90 | |
| defMultiGeoPump (91, iC;iS;iT;iT1;iT3;, rC;rS;rT;rT1;rT3;) defMultiGeoPump(92 | |
| defMultiGeoPump (93, iC;iN;iT;iT1;iT3;, rC;rN;rT;rT1;rT3;) defMultiGeoPump(94 | |
| defMultiGeoPump (95, iC;iS;iN;iT;iT1;iT3;, rC;rS;rN;rT;rT1;rT3;) defMultiGeoPump(96 | |
| defMultiGeoPump (97, iC;iT2;iT3;, rC;rT2;rT3;) defMultiGeoPump(98 | |
| defMultiGeoPump (99, iC;iS;iT2;iT3;, rC;rS;rT2;rT3;) defMultiGeoPump(100 | |
| defMultiGeoPump (101, iC;iN;iT2;iT3;, rC;rN;rT2;rT3;) defMultiGeoPump(102 | |
| defMultiGeoPump (103, iC;iS;iN;iT2;iT3;, rC;rS;rN;rT2;rT3;) defMultiGeoPump(104 | |
| defMultiGeoPump (105, iC;iT;iT2;iT3;, rC;rT;rT2;rT3;) defMultiGeoPump(106 | |
| defMultiGeoPump (107, iC;iS;iT;iT2;iT3;, rC;rS;rT;rT2;rT3;) defMultiGeoPump(108 | |
| defMultiGeoPump (109, iC;iN;iT;iT2;iT3;, rC;rN;rT;rT2;rT3;) defMultiGeoPump(110 | |
| defMultiGeoPump (111, iC;iS;iN;iT;iT2;iT3;, rC;rS;rN;rT;rT2;rT3;) defMultiGeoPump(112 | |
| defMultiGeoPump (113, iC;iT1;iT2;iT3;, rC;rT1;rT2;rT3;) defMultiGeoPump(114 | |
| defMultiGeoPump (115, iC;iS;iT1;iT2;iT3;, rC;rS;rT1;rT2;rT3;) defMultiGeoPump(116 | |
| defMultiGeoPump (117, iC;iN;iT1;iT2;iT3;, rC;rN;rT1;rT2;rT3;) defMultiGeoPump(118 | |
| defMultiGeoPump (119, iC;iS;iN;iT1;iT2;iT3;, rC;rS;rN;rT1;rT2;rT3;) defMultiGeoPump(120 | |
| defMultiGeoPump (121, iC;iT;iT1;iT2;iT3;, rC;rT;rT1;rT2;rT3;) defMultiGeoPump(122 | |
| defMultiGeoPump (123, iC;iS;iT;iT1;iT2;iT3;, rC;rS;rT;rT1;rT2;rT3;) defMultiGeoPump(124 | |
| defMultiGeoPump (125, iC;iN;iT;iT1;iT2;iT3;, rC;rN;rT;rT1;rT2;rT3;) defMultiGeoPump(126 | |
| defMultiGeoPump (127, iC;iS;iN;iT;iT1;iT2;iT3;, rC;rS;rN;rT;rT1;rT2;rT3;) GeoPumpFactory | |
Variables | |
| glextFuncInit | secondaryColorInitFuncs [8] |
| glextFuncInit | multiTexCoordsInitFuncs [16] |
| iS | |
| rS | |
| iN | |
| rN | |
| iT | |
| rT | |
| iT1 | |
| rT1 | |
| iT2 | |
| rT2 | |
| iT3 | |
| rT3 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: typename name##Ptr; \
GLubyte * name##Data = NULL; \
UInt32 name##Stride; \
\
name##Ptr = geo->getmethod(); \
if ( name##Ptr != NullFC ) \
{ \
name##Data = name##Ptr->getData(); \
if ( ! ( name##Stride = name##Ptr->getStride() ) ) \
name##Stride = name##Ptr->getFormatSize() * \
name##Ptr->getDimension(); \
} |
|
|
Value: GLubyte * name##Data; \
UInt32 name##Stride; \
UInt32 name##Ind = 0; \
typename name##Ptr; \
\
name##Ptr = geo->getmethod(); \
if(mandatory && name##Ptr == NullFC) \
{ \
SWARNING << "masterPump: Geometry " << geo << " has no " \
<< #name << "s!" << endl; \
return; \
} \
else if(name##Ptr != NullFC) \
{ \
name##Data = name##Ptr->getData(); \
if(!(name##Stride = name##Ptr->getStride())) \
name##Stride = name##Ptr->getFormatSize() * \
name##Ptr->getDimension(); \
} \
else \
{ \
name##Data = NULL; \
name##Stride = 0; \
} |
|
|
|
|
|
|
|
|
|
|
|
Value: pumpGLSetup ( Color , GeoColorsPtr , getColors )\ Int16 ColorIndex = geo->calcMappingIndex( Geometry::MapColor ); |
|
|
Value: pumpGLExtSetup ( SecColor , GeoColorsPtr , getSecondaryColors)\ Int16 SecColorIndex = geo->calcMappingIndex(Geometry::MapSecondaryColor); |
|
|
Value: pumpGLSetup ( Normal , GeoNormalsPtr , getNormals )\ Int16 NormalIndex = geo->calcMappingIndex(Geometry::MapNormal); |
|
|
Value: pumpGLSetup ( TexCoords , GeoTexCoordsPtr, getTexCoords )\ Int16 TexCoordsIndex = geo->calcMappingIndex(Geometry::MapTexCoords); |
|
|
Value: pumpMultiGLExtSetup ( TexCoords1, GeoTexCoordsPtr, getTexCoords1 )\ Int16 TexCoords1Index = geo->calcMappingIndex(Geometry::MapTexCoords1); |
|
|
Value: pumpMultiGLExtSetup ( TexCoords2, GeoTexCoordsPtr, getTexCoords2 )\ Int16 TexCoords2Index = geo->calcMappingIndex(Geometry::MapTexCoords2); |
|
|
Value: pumpMultiGLExtSetup ( TexCoords3, GeoTexCoordsPtr, getTexCoords3 )\ Int16 TexCoords3Index = geo->calcMappingIndex(Geometry::MapTexCoords3); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
MasterPump for empty geometry, does nothing |
|
||||||||||||
|
MasterPump for non-indexed geometry |
|
||||||||||||
|
MasterPump for single-indexed geometry |
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
Initial value: {
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3bvEXT",
GL_BYTE,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3ubvEXT",
GL_UNSIGNED_BYTE,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3svEXT",
GL_SHORT,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3usvEXT",
GL_UNSIGNED_SHORT,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3ivEXT",
GL_INT,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3uivEXT",
GL_UNSIGNED_INT,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3fvEXT",
GL_FLOAT,
3),
glextFuncInit(OSG_DLSYM_UNDERSCORE"glSecondaryColor3dvEXT",
GL_DOUBLE,
3)
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.16