Commit Graph

11352 Commits

Author SHA1 Message Date
Robert Osfield
b622a99178 Added handling of vertex buffer objects into osg::Geometry copy constructor. 2010-10-28 14:01:47 +00:00
Robert Osfield
ea98b1a9f8 Improved code style consistency 2010-10-28 14:01:10 +00:00
Robert Osfield
441d832536 Quitened down debug messages 2010-10-28 14:00:25 +00:00
Robert Osfield
cb08e7544e Fixed getEnableDepthWrites() naming. 2010-10-27 13:49:16 +00:00
Robert Osfield
13a8e92043 Added command line options:
--tristripper
--no-tristripper
--smoother
--no-smoother

--remove-duplicate-vertices / --rdv
--optimize-vertex-cache / --ovc
--optimize-vertex-order / --ovo
2010-10-26 14:59:12 +00:00
Robert Osfield
9978516bf7 Added number of primitive sets to on screen stats 2010-10-25 13:42:01 +00:00
Robert Osfield
30dbcf1c72 Added -o postfile option to allow the output of processed files
Disabled tri-stripping when simplifing to fix performance issue that introduces.
2010-10-23 09:51:11 +00:00
Robert Osfield
a2d99fc805 Added StateSetManipulator usage 2010-10-22 16:44:52 +00:00
Robert Osfield
123c0a36c4 Added support for enable VBO's and doing simplification. 2010-10-22 16:35:28 +00:00
Robert Osfield
89d09d7712 Cleaned up main loop, so it's more readable, seperating out the paging and non paging implementations 2010-10-22 12:28:50 +00:00
Robert Osfield
f91944fbbf Added paging support to osganalysis example 2010-10-22 12:19:22 +00:00
Robert Osfield
1a292ad8e3 Integrated IncementalCompileOperation into DatabasePager.
Improved various facilities in IncrementalCompileOperation.
2010-10-21 16:29:23 +00:00
Robert Osfield
2014e85259 Added new osganalysis example as a testbed for profiling peformance of various aspects of OSG/OpenGL and scene graphs. 2010-10-21 16:28:23 +00:00
Robert Osfield
6ed74470b2 Introduction of IncrementalCompileOperation support to DatabasePager. 2010-10-14 18:16:03 +00:00
Robert Osfield
00fe3c0417 Introduced SubloadCallback::generatdTextureObject() method. 2010-10-14 13:35:36 +00:00
Robert Osfield
297be2290a From Wang Rui, warning fix. 2010-10-14 12:20:51 +00:00
Robert Osfield
8640929a2e From Brad Christiansen, fix function entry points under Windows to address crash 2010-10-14 11:10:16 +00:00
Robert Osfield
82c01cb72e From Wang Rui, QT based OpenThreads implementation 2010-10-14 09:31:09 +00:00
Robert Osfield
b55f75111e Added support for using a custom osg::Geometry that attempts to force the OpenGL driver
to download the texture object to graphics card.

Calling IncrementalCompileOperation::assignForceTextureDownloadGeometry() assigns a geometry
to the job.
2010-10-13 15:03:02 +00:00
Robert Osfield
ffa75c9c84 Changed the _ARB cube map defines to non ARB versions. 2010-10-09 11:51:24 +00:00
Robert Osfield
a9dd08c3ba Removed redudent set up of GL_ cubemap defines as these are now also in include/osg/Texture 2010-10-09 11:27:45 +00:00
Robert Osfield
270a9fc47e Tempory fix for regression due to remove of glPushAttrib/glPopAttrib 2010-10-08 18:53:16 +00:00
Robert Osfield
2aa231cd11 Disabled the build of Qt examples when building against GLES1 & 2 as Qt GL includes OpenGL headers itself that cause conflict. 2010-10-08 18:13:10 +00:00
Robert Osfield
078b21fa1e Build fixes for GLES1, GLES2 and GL3 2010-10-08 17:13:59 +00:00
Robert Osfield
9984281553 Refactored the Texture3D extension setup in osg::Texture3D and gluBuild3DMipmaps and gluBuild3DMipmapLevels. 2010-10-08 11:20:56 +00:00
Robert Osfield
d23ce985a1 Introduced osg namespace to new local GLU functions 2010-10-07 11:53:28 +00:00
Robert Osfield
12e6a23451 Introduced new gluScaleImage function that uses a PixelStorageModes structure to pass in details on image packing,
rather than relying upon glGet's to get the values.
2010-10-07 10:51:22 +00:00
Robert Osfield
021484440c Added #define GL_PROXY_TEXTURE_3D 2010-10-06 19:09:48 +00:00
Robert Osfield
477524f254 Fixed warning 2010-10-06 18:51:53 +00:00
Robert Osfield
46e798a4dc Changed tabs to 8 spaces 2010-10-06 18:37:43 +00:00
Robert Osfield
e928dfb6c7 From Jean-Sebastien Guay and Robert Osfield, build fix for Windows 2010-10-06 18:34:36 +00:00
Robert Osfield
6a00d7d356 Added #define for Windows build 2010-10-06 18:29:23 +00:00
Robert Osfield
ca4802142d Added #define GLAPIENTRY to attempt to resolve some Windows build issues 2010-10-06 17:19:01 +00:00
Robert Osfield
29bc5995e7 Added #define's and local include<osg/Image> to fix Windows GL 1.1 build against 2010-10-06 16:36:30 +00:00
Robert Osfield
8a6b0f0cef From Jean-Sebasien Guay, fix windows compile error 2010-10-06 16:29:16 +00:00
Robert Osfield
7859a2a46d Removed gluois.h reference 2010-10-06 15:33:43 +00:00
Robert Osfield
10eac072c2 Removed usage gluos.h and redundent gluint.h 2010-10-06 15:14:01 +00:00
Robert Osfield
89f7726383 Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu,
changed extensions from .c to .cpp and got compiling as C files as part of the osg core library.

Updated and cleaned up the rest of the OSG to use the new internal GLU.
2010-10-06 14:44:52 +00:00
Robert Osfield
6df7dbf626 Improved the handling of matrices in serialization so that it's more reliable,
change was to use doubles for reading and writing matrices regardless of type of Matrix
being serialized.

Change does break backwards compatibility though, so code
path supporting original format has been left in for the
time being.  However, this code is not reliable enough and
is over complicated compared to the simplified handling.   Once
the new code has been bedded down for a while I'll remove this code block.
2010-10-04 15:23:19 +00:00
Robert Osfield
e6559af283 From Stephan Huber, "just a follow-up: I looked at the code of osg/Referenced.cpp and notice
a discrepancy in getOrCreateObserverSet. For the atomic- and
mutex-codepaths the newly created observerset gets manually ref'ed, but
not in the codepath used when OPENTHREADS_ATOMIC_USE_MUTEX is defined. I
added the manual ref and tadaaa, the crash went away."
2010-10-04 11:29:39 +00:00
Robert Osfield
b9f0efecb1 Added glMultMatrixf path for GLES1 2010-10-04 11:24:54 +00:00
Robert Osfield
b069b32c64 Added checks for NULL images to prevent crashes when no valid images are created 2010-10-04 11:19:41 +00:00
Robert Osfield
f81a9eff50 From Wojciech Lewandowski, "As promised I prepared a patch to expose WGL_SWAP_METHOD / PFD_SWAP_METHOD selection via GraphicsContext::Traits. Since Traits don't define any enums (I guess to be simple to use) I tried to keep it that way and have added two boolean values: swapCopy & swapExchange. It is somewhat similar approach to GDI PixelFormatDescription were both options can be present together. Feel free to replace it with enum if you find it more appropriate.
I also uderstand that there is a need to select system wide default  method and have also modified DisplaySettings to contain swapMethod parameter. Swap method in Traits uses value set in DisplaySettings as default. Proper environment and command line args were added.  Its possible to define default DeisplaySettings swap method in standard way via system flags or with comand line.

Env Vars:
    OSG_SWAP_METHOD  = DEFAULT | COPY | EXCHANGE
or Command Line:
    --swap-method   DEFAULT | COPY | EXCHANGE

I also added handling of WM_ERASEBKGND in GraphicsWindowWin32. It may be unneccessary but code should be safer this way than without handling it.  I have placed a comment explaining the reason above the change.

Changes were made against today trunk.

PS. I tested only Windows code. I briefly checked X11 & Cocoa files but have not noticed SwapMethod to be used there.
"
2010-10-01 18:02:24 +00:00
Robert Osfield
c294814e95 2010-10-01 17:07:27 +00:00
Robert Osfield
fbbc8824cf From Magnes Kessler, "Attached are some fixes for the environment variable help strings in
DisplaySettings. They contain spelling fixes and an attempt to use consistent
expressions throughout."
2010-10-01 15:58:49 +00:00
Robert Osfield
8f2497e21d From Wojciech Lewandowski,"These are our changes to DatabasePager. To check if parent PLOD is registered, I resurrected PagedLODList::containsPagedLOD() method. This method was available some time ago, but got removed and was not currently present in trunk. To add this method I had to also modify the DatabasePager header. " 2010-10-01 15:37:35 +00:00
Robert Osfield
e5bc43f04c From Magnus Kessler, "After a closer look at this particular issue, I used some grep and sed magic
to fix all occurrences of "macro's" and "paramter".
"
2010-09-30 16:57:02 +00:00
Robert Osfield
17aaa4db94 From Craig Bosma, "Attached is an updated Image.cpp that fixes a very specific
compatability regression that was introduced almost 2 years ago in
r8834. The IVE version number was bumped to 32 because of the change
in binary layout, but the guard for reading/writing the new field was
checked against 31. Of course this only causes a problem (as for us)
when you've produced IVE files at version 31, which no longer load (or
crash) when loaded by newer OSG/IVE versions."
2010-09-30 16:31:22 +00:00
Robert Osfield
34fa992ff5 From Chuck Seberino, "Here is a small optimization in osgDB/Serializer that only uses a single accessor call when retrieving serializable values during writing. This is a sizable win for some of my code since the getter() methods are non-trivial. I also removed some explicit namespace qualifiers to be consistent with the rest of the codebase." 2010-09-30 16:03:04 +00:00
Robert Osfield
0eded3efbe From WojciechLewandowski, Added DispaySettings::SwapMethod and support for it in GraphicsContext::Traits 2010-09-30 14:25:27 +00:00