Commit Graph

6921 Commits

Author SHA1 Message Date
Robert Osfield
08a793eb87 From Stephan Huber and Robert Osfield,
Stephan: "attached you'll find some modifications to the GraphicsWindow-class and
their platform-dependant implementations.

The problem:
setWindowRectangle and setWindowDecoration do not update the
traits-object, so, if you call setWindowRectangle on a
not-realized-window it will open with another size when realized later.
getWindowRectangle reports possible wrong sizes if setWindowRectangle
called before.

My solution:
split the implementation in two parts:
GraphicsWindow::setWindowRectangle will update its traits-object and
call afterwards the virtual method setWindowRectangleImplementation
(which is implemented by the derived platformspecific classess). For
setWindowDecoration I am useing a similar mechanism.

I hope you'll find the submission useful, the Win32 and X11 changes are
not tested but should work."

Changes to this made by Robert are call of resized in setWindowRectangle 
instead of setting of Traits, and use of a bool return type.
2007-06-10 19:53:18 +00:00
Robert Osfield
43790b07b3 From Vladimir Shabanov, "osg::Image::isImageTranslucent() now handles
GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV,
GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV and
GL_HALF_FLOAT_NV pixel formats."
2007-06-10 19:22:13 +00:00
Robert Osfield
3d918ef35f From Vladimir Shabanov, "DDS plugin now works with these formats:
R3G3B2, R5G6B5, A1R5G5B5, X1R5G5B5, A4R4G4B4, X4R4G4B4, R8G8B8 (now
without swaping of red and blue), A8R8G8B8 (also w/o swapping),
X8R8G8B8, A8B8G8R8, X8B8G8R8, A2R10G10B10, A2B10G10R10, L4A4 (not work
on my machine), L16A16, L16, A16B16G16R16, A16B16G16R16F,
Q16W16V16U16, R32F, R16F and A32B32G32R32F.

And these ones are correctly detected, but prints "unsupported" using
osg::notify(osg::WARN) and are not loaded:
A8R3G3B2, G16R16, G16R16F, G32R32F and CxV8U8.

Also added checking of not supported DDPF_BUMPDUDV (V8U8, V16U16,
Q8W8U8L8, A2W10U10V10 etc.) and DDPF_BUMPLUMINANCE (L6V5U5, X8L8V8U8,
etc.) pixel formats.

Mipmap handling is slightly modified and now support all additional formats.
"
2007-06-10 19:18:27 +00:00
Robert Osfield
37dbe8891f From Olaf Flebbe, "support current zlib and libpng library names for win32 3rdParty builds." 2007-06-10 18:17:21 +00:00
Robert Osfield
b48ed1a4d4 Improved the set up of static build, added freetype plugin to plugins that support static usage 2007-06-10 09:51:29 +00:00
Robert Osfield
7ce05f6d9d Added default file in case no file arguments are provided. Changed to use
standard ThreadingHandler by default.
2007-06-09 19:18:24 +00:00
Robert Osfield
2532b5f06e Improved the detection of throwing of the mouse. 2007-06-09 17:58:37 +00:00
Robert Osfield
43ba59f7ec Updated wrappers 2007-06-09 10:18:28 +00:00
Robert Osfield
071ebebd7f Removed the command line parameters form the examples that now have a default
file built into them.
2007-06-09 10:07:07 +00:00
Robert Osfield
90ae3f385b Added DisplaySettings to osg::Camera, and support into osg::View for initializing
the Camera to the DisplaySettings ScreenWidth/Height/Distance.  Added support
for dual screen horizontal split stereo.
2007-06-09 10:06:38 +00:00
Robert Osfield
e3d7e6e173 Added debug code path that prints out font details. 2007-06-08 20:11:50 +00:00
Robert Osfield
5ae95903b9 From Eric Wing, interface files 2007-06-08 16:47:18 +00:00
Robert Osfield
6f93f1c9e7 Removed empty directory 2007-06-08 16:05:30 +00:00
Robert Osfield
e83f6c0c9f Removed empty directory 2007-06-08 16:05:13 +00:00
Robert Osfield
ce0f30cfcb From Martin Lavery and Robert Osfield, added fallbacks for when now command line args are provided. 2007-06-08 15:37:20 +00:00
Robert Osfield
c4b1c27a31 Added fallback for when no command line args are provied. 2007-06-08 15:29:04 +00:00
Robert Osfield
42043db0c9 Added default file when no command line options are supplied. 2007-06-08 15:11:04 +00:00
Robert Osfield
01f2114ddb Added fallback for when no command line args are passed in. 2007-06-08 15:06:08 +00:00
Robert Osfield
49de1a61e7 From Martin Lavery, Linking of example Data files for the Xcode Projects 2007-06-08 15:03:58 +00:00
Robert Osfield
b28ec0d027 Removed command line args for examples ported across to not need them. 2007-06-08 12:16:04 +00:00
Robert Osfield
4b33409ce0 Added default command line arg 2007-06-08 12:15:16 +00:00
Robert Osfield
b3cec3d986 Added default file load to avoid the need for command line option. 2007-06-08 12:13:33 +00:00
Robert Osfield
3e8be9ac7d From Stephan Huber, "attached you'll find a new GraphicsWindowCarbon-header and .cpp, the
changes I made:

+ put a warning in the console if a nonexistant screen is requested
+ add getters for the aglcontext and pixelformat -- I need access to
them in my own code.
"
2007-06-08 11:04:30 +00:00
Robert Osfield
b4cd96ebdd From Jason Daly, "We have a few OpenFlight files that used to display properly with the
old loader, but appear very, very wrong with the new one.  I traced the
problem to the handling of the palette override flags in the external
reference records.  The current behavior for handling the palette
override flags for external references has different offsets for
different OpenFlight version (2 bytes for 14.2-15.1 and 4 bytes for 15.2
and later).  However, I believe this behavior is incorrect.

I know that the original 14.2 OpenFlight spec (dated April 1995)
specifies 2 bytes between the filename and the override flags, and the
15.4 and later specs specify 4 bytes.  However, I also found a 14.2.4
OpenFlight spec (dated January 1996) that changes the specification to 4
bytes.  Also, the databases in question were created using an old IRIX
version of MultiGen II, which wrote OpenFlight 14.2 files natively.
These files also have 4 bytes between the filename and flags.
Furthermore, these databases have always worked properly under earlier
versions of OSG, under Performer, and in every MultiGen product we've used.

This leads me to believe that the original 14.2 spec was incorrect (the
14.2.4 spec corrected this error), and there should be 4 bytes between
the filename and flags for all OpenFlight files version 14.2 and later.

The attached fix modifies the OpenFlight loader to behave in this way."
2007-06-08 10:58:22 +00:00
Robert Osfield
c28aba4d4f From Eric Wing, build fix 2007-06-08 10:43:26 +00:00
Robert Osfield
6cb0cef26d From Eric Wing, build fix 2007-06-08 10:43:01 +00:00
Robert Osfield
c8a5db6a71 Updated wrappers 2007-06-08 10:42:52 +00:00
Robert Osfield
b1909ff55a From Jason Daly, "This changes the handling of textures in the OpenFlight loader.
Currently, if the texture attribute file doesn't explicitly specify an
internal format, the loader will force it to use GL_RGB, which keeps
translucent textures (eg. GL_RGBA textures) from showing up properly.

This patch changes the default behavior to simply use the image's format
instead of forcing a particular format."
2007-06-08 10:22:44 +00:00
Robert Osfield
f57875ad02 From Eric Wing, "So, something strange happened to the repo and some of this project's
files got messed up, most notiably the Nib and also the Localized
strings file. I didn't notice the latter until now so Martin is
missing this file.

Anyway, the attached tar contains all new versions of all the
necessary files. There are cleanups and fixes to a lot of things.
Martin did a good job porting the thing to osg::Viewer so most of the
code changes I made address other areas.

Two things I noticed in the new port you might want to consider as
feedback. First, there might be a bug with osgViewer when the view
size goes to 0. If you play with the splitviews in this program and
shrink the view until it is closed, and then re-expand it, the model
doesn't come back, not even after a home() call. SimpleViewer didn't
have this problem.

Second, a more minor thing, this program has a
take-screenshot--and-copy-to-clipboard feature via Cmd-C (or Menu
item). I achieve this by using osg::Camera to render to an FBO and
then copy the contents to Cocoa. To insert the camera, I manipulate
the scenegraph so I can get the camera node in and out. I end up
calling setSceneData at the end of eveything to restore everything to
the original state before I started mucking with the scenegraph. This
unfortunately, triggers a home() reset. So in this particular case, it
make Copy look like it's changing the scene. The old SimpleViewer had
the same problem, but I was able to work around it by directly
invoking the underlying SceneView's setSceneData so the home()
mechanism was bypassed. The viewer design seems to protect this data
more carefully so the bypass trick won't work. My feedback is that
maybe a flag or extra parameter can be introduced so a reset is not
triggered if not desired.

I have checked in a ton of Xcode fixes for the entire build process in
general so once this piece gets checked in, hopefully everything will
build cleanly."
2007-06-08 10:16:33 +00:00
Robert Osfield
2fbbbca1a0 From Mike Wittman, "This change to genwrapper and osgIntrospection gives access to
the declaring file for a given type via the new member function
osgIntrospection::Type::getDeclaringFile.  This information is useful
in order to know what header to include when auto-generating wrappers
for a given type.

During the C# wrapper generator development I've been keeping the
declaring file configuration state up-to-date manually with changes
to OSG, and it's proven to require substantial effort.  So it would be
extremely valuable to get this change in before 2.0 to reduce maintenance
during the lifetime of the release.  It'll also be equally useful to
others looking to create wrapper generators using osgIntrospection.

This is a fairly simple change and was tested with a fresh rebuild of the
entire suite of osgWrapper libraries, so it should be relatively low risk
(fingers crossed)."
2007-06-08 10:11:00 +00:00
Robert Osfield
0cd7dd12bc Added clean up of the view before destruction of the window 2007-06-08 09:45:11 +00:00
Robert Osfield
191e12c4b1 Added const get*Matrix() methods 2007-06-08 09:17:42 +00:00
Eric WING
ff6884c4bd Changed the version to 2.0.0 in the Info.plist in anticipation of the official release.
I don't know what the OpenThreads version number will be, so that has been left alone.
2007-06-08 05:03:56 +00:00
Eric WING
1682827b4b Lots of various fixes to Xcode project.
- Adding missing header files and making sure they are marked public.

- Support to copy headers in Viewer/api into the proper location in framework

- Internalized OpenThreads build so cross-project dependency is not needed. Can now delete copy of OpenThreads project. Frameworks use native Xcode linking mechanism. Plugins/Examples still use explicit -framework OpenThreads. Could potentially be problem is old OpenThreads is on the system. This can be changed to use native mechanism too, but requires some patience because it is tedious to change.

- Lots of fixes to osgViewerCocoa (something got messed up pretty badly...files are missing from repo). Another submission will need to readd these files back.
2007-06-08 04:57:00 +00:00
Stephan Maximilian HUBER
9446fedf2b Stephan Huber: fixed deploy-build for osgViewer 2007-06-07 21:43:27 +00:00
Robert Osfield
6bc1a940c9 Updated wrappers 2007-06-07 21:07:30 +00:00
Robert Osfield
5a8ec8f470 Commented out the Scene Stats entry as its not implemented yet. 2007-06-07 20:26:29 +00:00
Robert Osfield
db86ea2d3f From Martin Lavery, StatsHandler added to the ViewerCocoa example 2007-06-07 20:22:45 +00:00
Robert Osfield
7470d80e4c From Martin Lavery, update of *.nib files 2007-06-07 13:49:30 +00:00
Robert Osfield
589e57446f From Martin Lavery, update of *.nib files 2007-06-07 13:48:15 +00:00
Robert Osfield
ee1f8856b8 From Martin Lavery, update of *.nib files 2007-06-07 13:44:35 +00:00
Robert Osfield
2f656780e1 From Martin Lavery, update of *.nib files 2007-06-07 13:31:50 +00:00
Robert Osfield
c386901efa From Martin Lavery, update of *.nib files 2007-06-07 13:25:34 +00:00
Robert Osfield
2073c842cf From Martin Lavery, port of ViewerCocoa and updates to Xcode projects 2007-06-07 12:55:19 +00:00
Robert Osfield
1504b54c1a Removed the old SimpleView version of the Cocoa example 2007-06-07 12:47:56 +00:00
Robert Osfield
b3a304866a Removed now not need SimpleViewer 2007-06-07 12:46:09 +00:00
Robert Osfield
4b73712f51 Added automatic stopping of animation when home() is called 2007-06-07 12:23:21 +00:00
Robert Osfield
32236ab2a4 From Per Fahlberg, "To get the pfb (Performer) plugin to compile I had to remove some of the
libraries listed under TARGET_EXTERNAL_LIBRARIES.
The removed libraries are not needed when linking the plugin, they are
loaded during runtime by Performer.
The modified file is attached."
2007-06-07 12:05:09 +00:00
Robert Osfield
3b1c5c3b96 Introduced a destruct method to help clean up the Registry. 2007-06-07 11:19:02 +00:00
Robert Osfield
9064895b91 Revert the signOrZero cade path in the getRotate() to fix bugs. 2007-06-07 11:06:40 +00:00