Commits on Jun 18, 2010
  1. @robertosfield
  2. @robertosfield
  3. @robertosfield

    From Laurens Voerman, "While reading the code for setUpViewFor3DSpher…

    …icalDisplay I noticed that the top face of the cube map uses Draw/Read buffer GL_BACK, while all other faces are using the GL_FRONT buffer. This because the buffer variable is hidden by a new buffer at lower scope.
    Removing the local variable tested (win32 and linux64) and works fine."
    robertosfield committed Jun 18, 2010
  4. @robertosfield

    Updated AUTHORS

    robertosfield committed Jun 18, 2010
  5. @robertosfield

    Updated ChangeLog

    robertosfield committed Jun 18, 2010
  6. @robertosfield
  7. @robertosfield
  8. @robertosfield
Commits on Jun 17, 2010
  1. @robertosfield

    Fixed warnings

    robertosfield committed Jun 17, 2010
  2. @robertosfield

    From Nguyen Van Truong, introduced the use of the ScratchPad when dis…

    …tributing the master killed message
    robertosfield committed Jun 17, 2010
  3. @robertosfield
  4. @robertosfield

    Added event handling

    robertosfield committed Jun 17, 2010
  5. @robertosfield

    From Brad Christiansen, "I tried building the latest (as of Sunday) S…

    …VN version of OSG using Visual Studio 2010 and it failed due to a missing include. The build completed successfully by adding #include <iterator> to nodeTrackerManipulator.cpp, which is attached."
    robertosfield committed Jun 17, 2010
  6. @robertosfield

    From Farshid Lashkari, "I've made a small modification to osgDB::Dyna…

    …micLibrary so it can load UTF-8 filenames on Windows."
    robertosfield committed Jun 17, 2010
  7. @robertosfield

    From Jim Vaughan, "The attached file fixes a bug in the Inventor load…

    …er that causes texture images to have r with a value of zero.
    The bug caused the image data to not get copied, size the size was calculated to be zero.  This caused crashes during rendering."
    robertosfield committed Jun 17, 2010
Commits on Jun 16, 2010
  1. @robertosfield
  2. @robertosfield

    Changed the default behaviour of computeHomePosition so that it uses …

    …the bounding sphere of the model rather than computing the bounding box.
    robertosfield committed Jun 16, 2010
  3. @robertosfield

    Added better handling of when the bounding box computation fails to r…

    …eturn a valid bounding box.
    robertosfield committed Jun 16, 2010
  4. @robertosfield

    Updated wrappers

    robertosfield committed Jun 16, 2010
  5. @robertosfield
  6. @robertosfield

    Re-organized the access of the mutex in Terrain to avoid deadlocks, a…

    …nd temporarily switched off the update of the neightbouring tile boundaries within the GeometryTechnique::generateGeometry method, again to avoid deadlocks.
    robertosfield committed Jun 16, 2010
  7. @robertosfield
  8. @robertosfield
Commits on Jun 15, 2010
  1. @robertosfield

    From Jean-Sebastien Guay, "I've been working in the last few days

    to get QWidgetImage to a point where it can fill a need we have: to be
    able to use Qt to make HUDs and to display widgets over / inside an OSG
    Current results
    I've attached what I have at this point. The modified QWidgetImage +
    QGraphicsViewAdapter classes can be rendered fullscreen (i.e. the Qt
    QGraphicsView's size follows the size of the OSG window) or on a quad in
    the scene as before. It will let events go through to OSG if no widget
    is under the mouse when they happen (useful when used as a HUD with
    transparent parts - a click-focus scheme could be added later too). It
    also supercedes Martin Scheffler's submission because it adds a
    getter/setter for the QGraphicsViewAdapter's background color (and the
    user can set their widget to be transparent using
    widget->setAttribute(Qt::WA_TranslucentBackground) themselves).
    The included osgQtBrowser example has been modified to serve as a test
    bed for these changes. It has lots more command line arguments than
    before, some of which can be removed eventually (once things are
    tested). Note that it may be interesting to change its name or split it
    into two examples. Though if things go well, the specific QWebViewImage
    class can be removed completely and we can consolidate to using
    QWidgetImage everywhere, and then a single example to demonstrate it
    would make more sense, albeit not named osgQtBrowser... You can try this
    path by using the --useWidgetImage --useBrowser command line arguments -
    this results in an equivalent setup to QWebViewImage, but using
    QWidgetImage, and doesn't work completely yet for some unknown reason,
    see below.
    Remaining issues
    There are a few issues left to fix, and for these I request the
    community's assistance. They are not blockers for me, and with my
    limited Qt experience I don't feel like I'm getting any closer to fixing
    them, so if someone else could pitch in and see what they can find, it
    would be appreciated. It would be really nice to get them fixed, that
    way we'd really have a first-class integration of Qt widgets in an OSG
    scene. The issues are noted in the osgQtBrowser.cpp source file, but
    here they are too:
      QWidgetImage still has some issues, some examples are:
      1. Editing in the QTextEdit doesn't work. Also when started with
         --useBrowser, editing in the search field on YouTube doesn't
         work. But that same search field when using QWebViewImage
         works... And editing in the text field in the pop-up getInteger
         dialog works too. All these cases use QGraphicsViewAdapter
         under the hood, so why do some work and others don't?
         a) osgQtBrowser --useWidgetImage [--fullscreen] (optional)
         b) Try to click in the QTextEdit and type, or to select text
            and drag-and-drop it somewhere else in the QTextEdit. These
            don't work.
         c) osgQtBrowser --useWidgetImage --sanityCheck
         d) Try the operations in b), they all work.
         e) osgQtBrowser --useWidgetImage --useBrowser [--fullscreen]
         f) Try to click in the search field and type, it doesn't work.
         g) osgQtBrowser
         h) Try the operation in f), it works.
      2. Operations on floating windows (--numFloatingWindows 1 or more).
         Moving by dragging the titlebar, clicking the close button,
         resizing them, none of these work. I wonder if it's because the
         OS manages those functions (they're functions of the window
         decorations) so we need to do something special for that? But
         in --sanityCheck mode they work.
         a) osgQtBrowser --useWidgetImage --numFloatingWindows 1
         b) Try to drag the floating window, click the close button, or
            drag its sides to resize it. None of these work.
         c) osgQtBrowser --useWidgetImage --numFloatingWindows 1
         d) Try the operations in b), all they work.
         e) osgQtBrowser --useWidgetImage [--fullscreen]
         f) Click the button so that the getInteger() dialog is
            displayed, then try to move that dialog or close it with the
            close button, these don't work.
         g) osgQtBrowser --useWidgetImage --sanityCheck
         h) Try the operation in f), it works.
      3. (Minor) The QGraphicsView's scrollbars don't appear when
         using QWidgetImage or QWebViewImage. QGraphicsView is a
         QAbstractScrollArea and it should display scrollbars as soon as
         the scene is too large to fit the view.
         a) osgQtBrowser --useWidgetImage --fullscreen
         b) Resize the OSG window so it's smaller than the QTextEdit.
            Scrollbars should appear but don't.
         c) osgQtBrowser --useWidgetImage --sanityCheck
         d) Try the operation in b), scrollbars appear. Even if you have
            floating windows (by clicking the button or by adding
            --numFloatingWindows 1) and move them outside the view,
            scrollbars appear too. You can't test that case in OSG for
            now because of problem 2 above, but that's pretty cool.
      4. (Minor) In sanity check mode, the widget added to the
         QGraphicsView is centered. With QGraphicsViewAdapter, it is not.
         a) osgQtBrowser --useWidgetImage [--fullscreen]
         b) The QTextEdit and button are not in the center of the image
            generated by the QGraphicsViewAdapter.
         c) osgQtBrowser --useWidgetImage --sanityCheck
         d) The QTextEdit and button are in the center of the
    As you can see I've put specific repro steps there too, so it's clear
    what I mean by a given problem. The --sanityCheck mode is useful to see
    what should happen in a "normal" Qt app that demonstrates the same
    situation, so hopefully we can get to a point where it behaves the same
    with --sanityCheck and without."
    robertosfield committed Jun 15, 2010
  2. @robertosfield

    From Cedric Pinson, "Here a fix about a leak in InputStream::decompress

    I changed
           _in->setStream( new std::stringstream(data) );
           _dataDecompress = new std::stringstream(data);
           _in->setStream( _dataDecompress );
    Then when the destructor is of InputStream is called I delete the
    dataDecompress stringstream.
    robertosfield committed Jun 15, 2010
  3. @robertosfield

    From Michael Platings, "Hi Bob, thanks for the CMake fixes. I'm not s…

    …ure what the purpose of the capitalisation changes was so I've reverted that (a) to make diff-ing easier and (b) because all-caps is consistent with all the other OSG CMake files. Aside from that the changes seem fine.
    I don't understand the changes to ReaderWriterFBX.cpp - (i) strings.h isn't a standard header, (ii) the ISO-conformant form is _strnicmp (with the underscore). Does the existing code not compile for you? If not we'll have to do some #ifdef nastiness."
    robertosfield committed Jun 15, 2010
  4. Changed _strnicmp to strncasecmp for non-Windows builds

    Michael PLATINGS committed Jun 15, 2010
Commits on Jun 14, 2010
  1. @robertosfield

    From Tan Dunning and Jan Peciva, Jan's email : "I created a new submi…

    …ssion, based on Tan's two changes, including further naming functionality that includes:
    - geode and geometry naming
    - shaders and osg::Program name
    as these nodes did not receive names before. Some code cleaning included as well."
    robertosfield committed Jun 14, 2010
  2. @robertosfield
  3. @robertosfield
  4. @robertosfield
  5. @robertosfield

    From Jean-Sebastien Guay, "Currently, if a GraphicsWindowWin32 is cre…

    …ated with traits->useCursor = false, it still shows the cursor. An app must call gw->useCursor(false) after having created the context as a workaround, but I think what we ask for in the traits should be honored... Attached is a simple fix for this.
    I have no idea when this stopped working. It worked before in our 2.6.0-based apps but after the upgrade to 2.8.3 it doesn't anymore.
    robertosfield committed Jun 14, 2010
  6. @robertosfield

    From Wang Rui, "For a long time, the osgviewerMFC example uses addSla…

    …ve() to setup the
    graphics context and link it with a slave camera. I don't know the
    reason we perform like that, which will cause a problem that the
    GUIEventHandler may not obtain correct window coordinates because the
    main camera will use a default input range to receive events from the
    slave camera's graphics context. It is also weird to see the
    addSlave() used in non-cluster applications, which beginners will be
    confused with.
    I've make a slightly modification to the osgviewerMFC example to make
    it work without setting slave cameras. I've tested with the MDI
    framework and everything seems fine."
    robertosfield committed Jun 14, 2010
  7. @robertosfield

    From Stephan Huber, "the IncrementalCompileOperation-class throws awa…

    …y compiled compile-sets,
    when no compileCompletedCallback is set. Attached you'll find a simple
    fix for this bug."
    robertosfield committed Jun 14, 2010
  8. @robertosfield

    From Jan Peciva, change information about failed shader compilation/l…

    …inking/validation to OSG_WARN.
    robertosfield committed Jun 14, 2010