Hi Preet
Good to hear you're working on a Blackberry port.
In regard to the libs you need your main aim is to get osgViewer compiling.
If that compiles then you can setup a viewer a render your scenegraph.
You'll have two options for this, you can either create your own implementation
of osgViewer::GraphicsWindow to handle setting up an OpenGL context, window
etc. Or you can just use the OpenGL example you have and setup the viewer using
the setupViewerAsEmbeded function which will allow you to draw the osg
scenegraph into your example OpenGL view.
Probably easiest to try setupViewerAsEmbeded first to test osg itself is
working, then you can try and create your own viewer.
With regard to OpenThreads it's probably related to the actual operating system
you are using to build the libs. For example if you are on windows then CMake
is probably selecting the windows threading stuff because it's not aware your
trying to build for blackberry.
If you take a look at src/OpenThreads/CMakeLists.txt near the bottom you'll
find this
Code:
IF(NOT ANDROID)
# Use our modified version of FindThreads.cmake which has Sproc hacks.
FIND_PACKAGE(Threads)
ENDIF()
# Do we have sproc?
IF(CMAKE_SYSTEM MATCHES IRIX)
IF(CMAKE_USE_SPROC_INIT)
# In this case, only Sproc exists, so no option.
SET(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS 1)
ELSE()
IF(CMAKE_HAVE_SPROC_H)
OPTION(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS "Set to ON to
build OpenThreads against sproc instead of pthreads" OFF)
ENDIF()
ENDIF()
ENDIF(CMAKE_SYSTEM MATCHES IRIX)
# Add support for using Qt threads
IF(QT4_FOUND)
OPTION(BUILD_OPENTHREADS_WITH_QT "Build OpenThreads with Qt threading
support." OFF)
ENDIF()
# Maybe we should be using the FindThreads.cmake module?
IF(ANDROID)
SUBDIRS(pthreads)
ELSEIF(QT4_FOUND AND BUILD_OPENTHREADS_WITH_QT)
SUBDIRS(qt)
ELSEIF(WIN32)
# So I think Cygwin wants to use pthreads
IF(CYGWIN)
SUBDIRS(pthreads)
ELSE()
# Everybody else including Msys should probably go here
SUBDIRS(win32)
# examples)
ENDIF()
ELSE()
IF(UNIX)
IF(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS)
SUBDIRS(sproc)
ELSE()
SUBDIRS(pthreads)
ENDIF()
ELSE()
MESSAGE("Sorry, OpenThreads may not support your platform")
ENDIF()
ENDIF()
In there it is selecting the correct threading module for the platform. For a
temporary fix you can just force the use of pthreads.
Regarding plugins, cmake will only generate build targets for pulgins for which
it has found the dependancies. Be careful though that it doesn't find your
operating system versions. For good asset support you'll need at least
libpng for loading of png images, and freetypes for fonts.
The osg format plugins themselves have no external dependancies so should build
as long as osg does.
Cheers
Tom
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=47924#47924
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org