From: Blomqvist Peter (peter.blomqvist++at++volvo.com)
Date: 05/28/2003 01:06:29
Hi all,
I started looking at the OpenGL Shader functionality in Performer 3.0, Irix.
But i got stuck rather quickly. I only located one sample of Performer-Shader
integration, its the "pf_shade" sample of Shader, which (i guess) "packs" a
shader into a PFB file - quite neat.
But, i fail to compile that sample, first there was some part
of "pr.h" that caused problems (incompatible redeclaration of the shader datatypes):
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#ifdef __linux__
#if (__GNUC__ >= 3)
#define __GCC3__ 1
#else
#define _PF_NO_SHADER_ 1
#endif
#endif
#if defined(_PF_NO_SHADER_) || !defined(__cplusplus) || defined(WIN32) || ((!defined(__linux__)) && (_MIPS_SIM == _MIPS_SIM_ABI32 || _MIPS_SIM == _MIPS_SIM_ABI64) || (__GNUC__ < 3))
#define _PF_NO_SHADER_
typedef void islAppearance;
typedef void islShader;
typedef void islCompileAction;
typedef void islAppearanceSnapshotData;
typedef void islSnapshotAction;
typedef void islCopyAction;
typedef void islAppearanceCopyData;
typedef void islShape;
typedef void islDrawAction;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I tried to fix that by commenting out the redeclarations but then i ran into a linking problem:
ld32: ERROR 33 : Unresolved text symbol "pfGeoSet::setAppearance(islAppearance*)" -- 1st referenced by applyShadersToModel.o
And when checking i discovered the following inconsistency:
/usr/include/Performer/pr/pfGeoSet.h, line 381
void setAppearance(islAppearance *appearance_);
islAppearance* getAppearance() const;
#nm -C libpf.so | grep "pfGeoSet::" | grep setAppearance
[6963] |1020824480| 332|FUNC |GLOB |DEFAULT |MIPS_TEXT|pfGeoSet::setAppearance(void*)
It thus seems like a type inconsistency between the header file and the lib?
Is this really the case of am i doing something fundamentally wrong here?
BR
/Peter
This archive was generated by hypermail 2b29 : Wed May 28 2003 - 01:08:31 PDT