Hello Adrian,

If you simply link all the files as one exe as I did in the VS 9 example
please add VIEWDEPENDENTSHADOW_LIBRARY_STATIC macro to predefined C/C++
preprocessor symbols. Files in ViewDpendentShadow folder are designed to
work as separate dynamic library. To link them directly with rest of shadow
executable one has to force static linking. So if you define above macro it
should solve inconsitent linkage warning.

As to "C2839: invalid return type ..." error I am bit puzzled. There is a
slight chance that above macro will solve this issue as well. If not it
probably means one will have to modify FaceDistances structure which
contains stl vector of floats in such a way that this error disappears.
Sorry I cant do this - don't have access to VS 7.3. Send me back your
modifications if if you will be able to fix it

I know I should probably prepare CMake project but I have never done this so
I am afraid it would be flawed in some other way ;-( It should be possible
to modify osgshadow cmake to work with it. But it wouldn't solve the
problems you encountered - these compiler errors would be still there.

Great thanks for testing.

Wojtek Lewandowski

  -----Original Message-----
  From: Adrian Egli OpenSceneGraph (3D) [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, August 19, 2008 9:04 AM
  To: [EMAIL PROTECTED]; OpenSceneGraph Submissions
  Subject: Re: [osg-submissions] Fw: View Dependent Shadow maps ( LispSM)


  Hi Wojciech,

  build fails under VS 2003, i don't know wether i have the wrong compiler
settings or anythings else wrong done, but could you add it as cmake
project?


  adrian

  i did new project

  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1250): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1251): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1274): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1279): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1279): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1281): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1288): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1290): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1423): error C2839: invalid return
type 'std::vector<_Ty>::_Tptr' for overloaded 'operator ->'
          with
          [
              _Ty=GLsizei
          ]
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1212): error C2926:
'ViewDependentShadow::ConvexPolyhedron::cut::FaceDistances' : types with no
linkage cannot be used as template arguments
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(301): error C2926:
'ViewDependentShadow::ConvexPolyhedron::transformClip::FaceDistances' :
types with no linkage cannot be used as template arguments
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1725): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::buildGeometry' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1024): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::checkCoherency' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1151): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::computeBoundingBox' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(78): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::ConvexPolyhedron' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1172): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::cut' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1189): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::cut' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1201): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::cut' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1782): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::dumpGeometry' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1512): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::extrude' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1698): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::getPoints' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1688): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::getPolytope' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(975): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::isFacePolygonConvex' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(753): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::mergeCoplanarFaces' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(631): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::mergeFaces' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(958): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::pointsColinear' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(796): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::removeDuplicateVertices' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(166): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::setToBoundingBox' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(90): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::setToUnitFrustum' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(246): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::transform' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(287): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::transformClip' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(1673): warning C4273:
'ViewDependentShadow::ConvexPolyhedron::translate' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\DebugShadowMap.cpp(121): warning C4273:
'ViewDependentShadow::DebugShadowMap::~DebugShadowMap' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\DebugShadowMap.cpp(36): warning C4273:
'ViewDependentShadow::DebugShadowMap::DebugShadowMap' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\DebugShadowMap.cpp(104): warning C4273:
'ViewDependentShadow::DebugShadowMap::DebugShadowMap' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ConvexPolyhedron.cpp(68): warning C4273:
'ViewDependentShadow::defaultMatrix' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\LightSpacePerspectiveShadowMap.cpp(200): warning C4273:
'ViewDependentShadow::LightSpacePerspectiveShadowMapAlgorithm::operator`()''
: inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalCullBoundsShadowMap.cpp(36): warning C4273:
'ViewDependentShadow::MinimalCullBoundsShadowMap::~MinimalCullBoundsShadowMa
p' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalCullBoundsShadowMap.cpp(25): warning C4273:
'ViewDependentShadow::MinimalCullBoundsShadowMap::MinimalCullBoundsShadowMap
' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalCullBoundsShadowMap.cpp(30): warning C4273:
'ViewDependentShadow::MinimalCullBoundsShadowMap::MinimalCullBoundsShadowMap
' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalDrawBoundsShadowMap.cpp(45): warning C4273:
'ViewDependentShadow::MinimalDrawBoundsShadowMap::~MinimalDrawBoundsShadowMa
p' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalDrawBoundsShadowMap.cpp(34): warning C4273:
'ViewDependentShadow::MinimalDrawBoundsShadowMap::MinimalDrawBoundsShadowMap
' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalDrawBoundsShadowMap.cpp(39): warning C4273:
'ViewDependentShadow::MinimalDrawBoundsShadowMap::MinimalDrawBoundsShadowMap
' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalShadowMap.cpp(39): warning C4273:
'ViewDependentShadow::MinimalShadowMap::~MinimalShadowMap' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalShadowMap.cpp(25): warning C4273:
'ViewDependentShadow::MinimalShadowMap::MinimalShadowMap' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\MinimalShadowMap.cpp(31): warning C4273:
'ViewDependentShadow::MinimalShadowMap::MinimalShadowMap' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\StandardShadowMap.cpp(300): warning C4273:
'ViewDependentShadow::StandardShadowMap::~StandardShadowMap' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\StandardShadowMap.cpp(341): warning C4273:
'ViewDependentShadow::StandardShadowMap::searchAndReplaceShaderSource' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\StandardShadowMap.cpp(29): warning C4273:
'ViewDependentShadow::StandardShadowMap::StandardShadowMap' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\StandardShadowMap.cpp(274): warning C4273:
'ViewDependentShadow::StandardShadowMap::StandardShadowMap' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\StandardShadowMap.cpp(306): warning C4273:
'ViewDependentShadow::StandardShadowMap::updateTextureCoordIndices' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(35): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::~ViewDependentShadowTech
nique' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(90): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::cleanSceneGraph' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(71): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::cull' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(45): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::dirty' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(96): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::getViewDependentData' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(59): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::init' : inconsistent dll
linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(103): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::setViewDependentData' :
inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(40): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::traverse' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(65): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::update' : inconsistent
dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(23): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::ViewDependentShadowTechn
ique' : inconsistent dll linkage
  C:\Dokumente und
Einstellungen\adegli\Desktop\osgShadowViewDependent\osgShadowViewDependent\V
iewDependentShadow\ViewDependentShadowTechnique.cpp(28): warning C4273:
'ViewDependentShadow::ViewDependentShadowTechnique::ViewDependentShadowTechn
ique' : inconsistent dll linkage



  2008/8/18 Wojciech Lewandowski <[EMAIL PROTECTED]>

    Thanks for testing and fixes, Tim

    I wrote this under windows. Pardon for my ignorance I am not sure how to
    apply .patch file here. Can you send me updated files as another zip ?

    Thanks,
    Wojtek


    -----Original Message-----
    From: Tim Moore [mailto:[EMAIL PROTECTED]
    Sent: Friday, August 15, 2008 12:09 AM
    To: OpenSceneGraph Submissions; [EMAIL PROTECTED]
    Subject: Re: [osg-submissions] Fw: View Dependent Shadow maps ( LispSM)


    Wojciech Lewandowski wrote:
    > Oops I have forgot to attach the release zip. Its attached here.
    >
    > Cheers,
    > Wojtek
    >
    Hi,
    Here are diffs to make view dependent shadows compile with gcc 4.3. I
don't
    think any of the required changes are due to bugs in gcc, rather
differing
    or
    stricter interpretations of the standard:
    strings.h and stdlib.h need to be included in a couple of places
    local classes can't be template arguments
    set::erase doesn't return a value
    itoa isn't standard on Linux
    nondependent name lookup doesn't look in dependent classes.

    Thanks,
    Tim

    >
    >> Hi Again,
    >>
    >> One more release. I have added  methods to modify base and shadow
    >> texture sampler & TexCoord index. I have also modified shadow example
    >> to allow changing CastsShadowTraversalMask &
    >> ReceiveShadowTraversalMasks. Both this options are useful when trying
    >> to load external models which have nonstd masks set.
    >>
    >> I must admit I was not able to completely get rid of  problems with
    >> omnidirectional lights. Directional lights are working great but
    >> omnidirectional lights continue to break shadows in certain
    >> light/camera angle combinations. I have found a workaround that fixes
    >> some of these issues when scene is larger than frustum but it brings
    >> problems in opposite case where frustum fully contains the scene.
    >>
    >> I am leaving for one week. I will continue my work on this after
return.
    >>
    >> Cheers,
    >> Wojtek
    >>
    >>> Hi Guys,
    >>>
    >>> Attached is a new version of ViewDepdendentShadow code. I have also
    >>> included
    >>> modified osgShadow (osgShadowViewDependent) example with new (-4
option)
    >>> island scene and options to select one of LiSPSM variants.
    >>>
    >>> recommended use is
    >>>
    >>> osgshadow -4 --lispsm <--DrawBounds| --CullBounds | --ViewBounds>
    >>> <--debugHUD> --minFarDist 500  --minLightMargin 10
    >>>
    >>> I am aware I have neglected few things. I will continue tweaking the
    >>> code.
    >>> Probably will send few more versions in incoming weeks. But I think
its
    >>> pretty mature right now and really would like to get some feedback
from
    >>> Robert and others. I will probably also try to add some comments:
    >>> licensing
    >>> info (OSGPL), thanks for my company, and maybe some doxygen comments
    >>> if time
    >>> allows.
    >>>
    >>> Cheers,
    >>> Wojtek Lewandowski


    _______________________________________________
    osg-submissions mailing list
    [email protected]
    http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegr
aph.org




  --
  ********************************************
  Adrian Egli
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to