Hi Emeric,

Do yourself a user in
http://www.openscenegraph.org/index.php/login?view=registration and then
send me a private mail with your user name. I will give you rights to edit.

Thank you!

2014-09-23 19:30 GMT+02:00 Émeric MASCHINO <[email protected]>:

> Hi Jordi,
>
> Well, how can I edit this page? The only available option that I can
> see in the ribbon are either print or send email. Maybe editing is
> restricted to OSG maintainers/contributors?
>
>      Émeric
>
>
> 2014-09-23 12:05 GMT+02:00 Jordi Torres <[email protected]>:
> > Hi Émeric,
> >
> > It would be nice if you could update this documentation at the website (
> >
> http://www.openscenegraph.com/index.php/documentation/platform-specifics/windows/38-visual-studio-plugins
> > ).
> >
> > Thanks.
> >
> > 2014-09-23 11:59 GMT+02:00 Émeric MASCHINO <[email protected]>:
> >>
> >> Hi,
> >>
> >> For those lost souls trying to build the OpenVRML plug-in on Windows,
> >> here's how I did it with OSG 3.2.1. Hope this helps, as I was
> >> desperately looking for such informations the passed days ;-)
> >>
> >> First, the informations at [1] are completely outdated. By contrast to
> >> what's stated there, OpenVRML 0.14.x is no more relevant at all, even
> >> on Windows. OpenVRML 0.18.x is the way to go. So, to build the
> >> OpenVRML plug-in, you need to build OpenVRML first. For this, the
> >> Boost C++ Libraries are required. And OpenVRML's default build
> >> configuration also has dependencies on libpng and FreeType.
> >>
> >> I've successfully built OpenVRML 0.18.9 against Boost 1.55.0, libpng
> >> 1.6.13 and FreeType 2.5.0 on a Windows XP x64 PC using the Visual
> >> Studio 2010 Professional IDE. I'm assuming here (i) that your OSG root
> >> _build_ folder is C:\OpenSceneGraph and (ii) that you've correctly set
> >> up and/or built Boost, libpng and FreeType. Here are the steps:
> >> - Download OpenVRML 0.18.9 source code openvrml-0.18.9.tar.gz from
> >> http://sourceforge.net/projects/openvrml/files/openvrml/0.18.9/;
> >> - Extract openvrml-0.18.9.tar.gz somewhere; say in C:\openvrml-0.18.9
> >> folder;
> >> - Get the following missing project files from
> >> https://svn.code.sf.net/p/openvrml/code/tags/0.18.9/ and copy them to:
> >>   - src/local/libopenvrml-dl/openvrml-dl.vcxproj:
> >> C:\openvrml-0.18.9/src/local/libopenvrml-dl/openvrml-dl.vcxproj;
> >>   - src/node/x3d-interpolation/x3d-interpolation.vcxproj:
> >> C:\openvrml-0.18.9/src/node/x3d-interpolation/x3d-interpolation.vcxproj;
> >>   - src/script/javascript.vcxproj:
> >> C:\openvrml-0.18.9/src/script/javascript.vcxproj;
> >> - Remove any entry <PlatformToolset>Windows7.1SDK</PlatformToolset>
> >> from the project files;
> >> - Remove any entry <IncludePath
> >>
> >>
> Condition="'$(Configuration)|$(Platform)'=='{Debug|Release}|x64'">C:\Boost\include\boost-1_43;$(IncludePath)</IncludePath>
> >> from the project files;
> >> - Fix the x64 platform settings of all projects files, copying from
> >> the Win32 section. Most were incorrectly created as Applications
> >> rather than DLLs!
> >> - Go to C:\openvrml-0.18.9 and open OpenVRML.sln solution;
> >> - Add $(BOOST_ROOT) to additional include directories of all projects;
> >> - Add $(BOOST_ROOT)\lib{32|64}-msvc-10.0 to additional library
> >> directories of all projects;
> >> - Add /bigobj compiler option to Debug|x64 configuration of openvrml
> >> DLL project to work around fatal error C1128;
> >> - Ensure that input libraries of openvrml DLL project is set to
> >> shlwapi.lib;XmlLite.lib;%(AdditionalDependencies) for all
> >> targets/platforms;
> >> - Ensure that input libraries of vrml97 DLL project is set to
> >> libpng16[d].lib;freetype250[_D].lib;%(AdditionalDependencies) for all
> >> targets/platforms and that additional library directories are properly
> >> set;
> >> - Build the vrml97 and x3d-* DLL projects. The openvrml DLL and
> >> openvrml-dl static library projects are automatically built as
> >> dependencies;
> >> - Copy the headers from C:\openvrml-0.18.9\src\libopenvrml hierarchy
> >> to C:\OpenSceneGraph\3rdParty\include\openvrml, replicating the
> >> hierarchy, as well as the resulting openvrml.lib library files to
> >> OpenSceneGraph\3rdParty\lib and openvrml.dll DLL files to
> >> OpenSceneGraph\3rdParty\bin;
> >> - Add OPENVRML_DIR environment variable, pointing to
> >> C:\OpenSceneGraph\3rdParty;
> >> - Update
> >> OpenSceneGraph\OpenSceneGraph-3.2.1\src\osgPlugins\vrml\CMakeLists.txt
> >> file to build against OpenVRML 0.18.x:
> >>   - add references to Boost: add ln. 1-3:
> >>
> >>     FIND_PACKAGE(Boost COMPONENTS thread)
> >>
> >> INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
> >>
> >> LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
> >>
> >>   - remove references to antlr and regexp libraries: delete ln. 9-21
> >> and ln. 23-24;
> >>   - add OPENVRML_USE_DLL preprocessor definition: add ln. 31:
> >>
> >>     ADD_DEFINITIONS(-DOPENVRML_USE_DLL)
> >>
> >> Final result should be:
> >>
> >> FIND_PACKAGE(Boost COMPONENTS thread)
> >> INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
> >> LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
> >>
> >> INCLUDE_DIRECTORIES(${OPENVRML_INCLUDE_DIR})
> >> INCLUDE_DIRECTORIES(${OPENVRML_INCLUDE_DIR}/openvrml)
> >>
> >> IF (WIN32)
> >>     INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
> >>     INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
> >>     INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
> >>
> >>     SET(TARGET_LIBRARIES_VARS
> >>         OPENVRML_LIBRARY
> >>         JPEG_LIBRARY
> >>         PNG_LIBRARY
> >>         ZLIB_LIBRARY)
> >>     SET(TARGET_EXTERNAL_LIBRARIES
> >>         Ws2_32.lib)
> >>
> >>     ADD_DEFINITIONS(-DOPENVRML_USE_DLL)
> >> ELSE()
> >>     SET(TARGET_LIBRARIES_VARS
> >>         OPENVRML_LIBRARY)
> >> ENDIF()
> >>
> >> SET(TARGET_SRC
> >>     IndexedFaceSet.cpp
> >>     Primitives.cpp
> >>     ReaderWriterVRML2.cpp
> >>     ConvertToVRML.cpp
> >> )
> >>
> >> SET(TARGET_H
> >>     ReaderWriterVRML2.h
> >>     ConvertToVRML.h
> >> )
> >>
> >> #### end var setup  ###
> >> SETUP_PLUGIN(vrml vrml)
> >>
> >>
> >> Check you CMake configuration and build the OpenVRML plug-in:
> >> - OPENVRML_INCLUDE_DIR: C:/OpenSceneGraph/3rdParty/openvrml;
> >> - OPENVRML_LIBRARY: C:/OpenSceneGraph/3rdParty/lib/openvrml.lib;
> >> I didn't use OpenVRML Debug library in the end (see Notice below) so
> >> OPENVRML_LIBRARY_DEBUG was not set.
> >>
> >> Now, for runtime, OpenVRML requires some environment variables and
> >> data or the OpenVRML plug-in won't work at all:
> >> - Copy the resulting openvrml.dll DLL from
> >> C:\openvrml-0.18.9\{Win32|x64}\{Debug|Release}\bin to e.g.
> >> %OSG_ROOT%\bin; I'm assuming here that %OSG_ROOT%\bin is in your PATH;
> >> - Copy the resulting DLL nodes from
> >> C:\openvrml-0.18.9\{Win32|x64}\{Debug|Release}\bin\node to e.g.
> >> %OSG_ROOT%\share\OpenVRML\bin\node and add OPENVRML_NODE_PATH
> >> environment variable to point to this folder;
> >> - Copy the C:\openvrml-0.18.9\data folder to e.g.
> >> %OSG_ROOT%\share\OpenVRML and add OPENVRML_DATADIR environment
> >> variable to point to %OSG_ROOT%\share\OpenVRML\data.
> >>
> >> Optionally, you can enable scripting, compiling the javascript DLL
> >> project. To this end, you'll also need XULRunner SDK 12.0 available
> >> only for Win32 target, not x64 one. So I quickly gave up on this one
> >> as I moreover wasn't able to run OpenVRML examples with scripting
> >> (e.g. rotationToy.wrl, Click.wrl) without crashing OpenVRML (using a
> >> Win32 build of course). Nevertheless, don't forget to copy the
> >> resulting javascript.dll from
> >> C:\openvrml-0.18.9\{Win32|x64}\{Debug|Release}\bin\script to e.g.
> >> %OSG_ROOT%\share\OpenVRML\bin\script and add OPENVRML_SCRIPT_PATH
> >> environment variable to point to this folder if you want to play with
> >> scripting.
> >>
> >> In some debugging scenario (e.g. VRML file displayed differently in
> >> sdl-viewer and osgviewer, like OpenVRML's snoman.wrl example where the
> >> arms are missing in osgviewer), it might be helpful to also build
> >> OpenVRML's SDL-based viewer sdl-viewer. For this, you'll need SDL
> >> 1.2.x. I've successfully built sdl-viewer with SDL 1.2.15.
> >>
> >> Notice: DON'T MIX Debug and Release versions of sdl-viewer.exe,
> >> openvrml.dll, javascript.dll and the DLL nodes in the same folders:
> >> even if they're named differently (e.g. with "d" suffix for Debug
> >> version), OpenVRML will badly crash as it seems to try to use/load
> >> both flavours!
> >>
> >> For interested people, I've created from scratch native VS 2010
> >> solution/projects files using property sheets for the external
> >> dependencies. Just drop me a mail and I'll send you. I'll also submit
> >> them to the OpenVRML authors/maintainers.
> >>
> >> Cheers,
> >>
> >>      Émeric
> >>
> >>
> >> [1]
> >>
> http://www.openscenegraph.com/index.php/documentation/platform-specifics/windows/38-visual-studio-plugins
> >> _______________________________________________
> >> osg-users mailing list
> >> [email protected]
> >>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> >
> >
> >
> > --
> > Jordi Torres
> >
> >
> >
> > _______________________________________________
> > osg-users mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
Jordi Torres
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to