Commit Graph

3786 Commits

Author SHA1 Message Date
Robert Osfield
8aa58c986c Changed the external file writing to use the DatabasePathList for its path rather
than the original files path.
2006-08-31 13:53:38 +00:00
Robert Osfield
38ee7c1213 Updated wrappers 2006-08-31 10:37:27 +00:00
Robert Osfield
dcf19c92fd Added support for CameraNode's PostDrawCallback. 2006-08-31 10:08:05 +00:00
Robert Osfield
102215afb5 To TextureAtlasBuilder add copying of border pixels into margins to help improve quality of lower mipmap levels. 2006-08-30 16:33:30 +00:00
Robert Osfield
e789ae6f54 In TextureAtlasVisitor code added catch for textures that have some geometry with texcoords within 0 to 1.0, but
others others out of the 0 to 1 range, these textures are automatically rejected from consideration for adding to a texture atlas.
2006-08-30 09:32:05 +00:00
Robert Osfield
25bf4a6626 To the TextureAtlasBuilder added detection of instance where a single drawable
has multiple textures on the same texture unit inherited down to it from above.
2006-08-29 15:05:05 +00:00
Robert Osfield
3615f681a9 Updated wrappers 2006-08-29 12:31:07 +00:00
Robert Osfield
9778e70869 Added GPU stats 2006-08-29 11:25:29 +00:00
Don BURNS
f74d3af391 Fixed a crash in removeInternalTriangles() for models without normals. 2006-08-29 00:10:43 +00:00
Robert Osfield
6be6bc2eaa Added TexEnv object into Font and apply this in Text::drawImplementation to make
sure that a valid TexEnv is applied
2006-08-28 19:37:40 +00:00
Robert Osfield
c8e7a9ea40 From Roger James, improved mapping of AC3D lighting model to OSG 2006-08-28 19:07:30 +00:00
Robert Osfield
66f40a1670 Added env var docs 2006-08-28 19:05:40 +00:00
Robert Osfield
70470bc84a From Roger James, "I have been going through my modified osg files and came across this fix to the Tesselator. From memory it handles a problem with per primitive normal binding. I must have forgotten to submit it." 2006-08-28 19:01:03 +00:00
Robert Osfield
19f3d975dd Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models. 2006-08-28 15:46:02 +00:00
Robert Osfield
1055bd013d Updated wrappers 2006-08-28 10:49:37 +00:00
Robert Osfield
ee7f3fa375 Further work on TextureAlasBuilder and TextureAtlasVisitor. 2006-08-28 10:46:39 +00:00
Robert Osfield
9f6be131a4 Further work of TextureAtlasBuilder 2006-08-26 21:38:22 +00:00
Robert Osfield
7ebf8f1fa7 Updated wrappers 2006-08-25 16:31:28 +00:00
Robert Osfield
f86c824275 Further work on new TextureAtlasBuilder. 2006-08-25 16:30:23 +00:00
Robert Osfield
1f8c4874f6 Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class
for building texture atlas for sets of images or textures.
2006-08-25 15:53:16 +00:00
Robert Osfield
179f6100a0 Added missing setDataType and setPacking functions 2006-08-25 15:49:29 +00:00
Robert Osfield
ecee62e1c1 Updated wrappers 2006-08-25 09:03:26 +00:00
Robert Osfield
0900857333 From Farshid Lashkari,
"I was experiencing hard crashes of my application when using PBO's on
machines that don't support PBO's. I think osg incorrectly checks if
PBO's are supported.

I added a new method to the BufferObject::Extensions class which
returns if the "GL_ARB_pixel_buffer_object" string is supported. This
fixes the problem on my end. Machines without PBO support will
continue to work and machines with PBO support will still be able to
use it."
2006-08-25 08:48:16 +00:00
Robert Osfield
1413eea52c Add error message report to catch attempts to flip mipmap images. 2006-08-24 16:33:23 +00:00
Robert Osfield
118161416f From Sebastien Grignard, fix to writing of dds files, write the source data
directly rather using a series of memcpy.
2006-08-23 15:25:43 +00:00
Robert Osfield
7b01f5a033 From Jeremy Moles, fixed typos 2006-08-23 15:11:18 +00:00
Robert Osfield
d25735b6b9 From Andrew Lorino and Mike Weiblen, COLLADA 1.4.1 ReaderWriter, kindly developed and donated by Sony Computer Entertainment Inc. US R&D. 2006-08-23 13:32:03 +00:00
Don BURNS
1fa331034c Added osgUtil::Tesselator for SHapeType Polygon to handle concave polygons. 2006-08-22 19:10:48 +00:00
Robert Osfield
8aceb4eec6 From Vaclav Bilek, "The purpose of this change is to suppress "re-reading" of osg::ProxyNodes
( in OF external references) after the OF file is loaded. The change do
conditional
execution of already existing code.

I use this for optimized preprocessing of large databases what can not
be loaded
in one pass because of memory limits."
2006-08-22 13:07:20 +00:00
Robert Osfield
26e3424195 Changed the default implementation of backdrop text to DEPTH_RANGE and
tweaked the depth range values to minimize the depth rage witout causing z fighting
on osgtext example.
2006-08-22 12:33:35 +00:00
Robert Osfield
98cdf9b3c7 From Eric Wing, fix for compute of the bounding box when handling outline/backdrop text. 2006-08-22 10:23:58 +00:00
Robert Osfield
71c79506e9 From Eric Wing, compile fix for OSX 2006-08-21 21:09:40 +00:00
Robert Osfield
a50d812d9a Fixed 64 bit support 2006-08-21 15:07:31 +00:00
Robert Osfield
be60b32add Fixed texture optimization problem associated with mixing already compiled scene graphs - resulting
in incorrect texture assignment.  Solution was to a compareTextureObjects() test to the Texture*::compare(..) method that
the osgUtil::Optimizer::StateSetVisitor uses to determine uniqueness.
2006-08-14 19:42:22 +00:00
Robert Osfield
7b53511251 From Paul Martz, "The gist of this change is, if the OpenFlight version of the
parent file is so old that it doesn't support Light Point palettes or Shader
palettes, then the parent file is not allowed to override those palettes in
the child."
2006-08-14 07:59:28 +00:00
Robert Osfield
c3313b99b2 Changed the texture wrap mode to repeat 2006-08-13 08:24:19 +00:00
Robert Osfield
25a91d97f0 From Chuck Sembroski, fixes for IRIX 2006-08-13 07:37:55 +00:00
Robert Osfield
a16568254c Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp to CullStack.cpp so that
CullStack::reset works correctly for all subclasses - fixing a memory consumption issue with occluders
2006-08-12 18:19:43 +00:00
Robert Osfield
132f9ead45 Updated version number for 1.1.1 release 2006-08-12 08:29:16 +00:00
Robert Osfield
ad2b719dc0 Added osg:: to Referenced() to fix IRIX build. 2006-08-11 21:39:41 +00:00
Robert Osfield
c00b708c0c Updated wrappers 2006-08-11 18:23:10 +00:00
Robert Osfield
38c70042a5 Fixed if (numProcessors>1), was originally >= 2006-08-11 18:22:16 +00:00
Don BURNS
2bed6e60a1 Added comments to support use of Proxy in the .net plugin. 2006-08-11 17:39:10 +00:00
Don BURNS
a456538e3c Submission by Carlo Camporesi - Added Proxy support to .net loader 2006-08-11 17:34:04 +00:00
Robert Osfield
6b3fbb53f8 Added file search path to ESRI reader. 2006-08-11 13:06:36 +00:00
Robert Osfield
306743c903 Fixed bug in Group::setChild relating to the accounting for OccluderNode. 2006-08-11 12:53:57 +00:00
Robert Osfield
1e742f1064 Moved the OpenThreads::GetNumberOfProcessors() inside the if (_enableProcessAffinitHint) block to
avoid slowing down init of apps that don't require procesor affinity.
2006-08-11 12:39:42 +00:00
Robert Osfield
d1fe85caf6 Fixed pbuffer usage cross multiple graphics contexts 2006-08-11 11:05:09 +00:00
Robert Osfield
44916d398f Moved all platform specific processor out of osgProducer and into OpenThreads 2006-08-10 15:53:01 +00:00
Robert Osfield
0c91825ee6 From Laurens Voerman, "
osgPlugins\pfb\ConvertFromPerformer.cpp

Added support for
       PFSTATE_ALPHAFUNC
       PFSTATE_ALPHAREF
Improved handling of
       PFTR_NO_OCCLUDE

I have tested this with WIN32 performer 3.1 and 3.2.2
and linux OpenGL Performer 3.1.1"

------------------------------------------------
2006-08-10 13:12:47 +00:00
Robert Osfield
7f6b5008e2 Added write ppn support, use -O ascii to select ascii ppn output, otherwise binary
is chosen.

Fixed crash when erroneous pnm files were read.

Added -O flip option.
2006-08-10 11:08:20 +00:00
Robert Osfield
f6d092957f Commented out the _textBB contribution of outline/backdrops to fix bounding box problem. 2006-08-10 06:20:28 +00:00
Robert Osfield
4e2ce78e35 Added Vec4ub and removed UByte4 2006-08-09 12:56:37 +00:00
Robert Osfield
5e33e13b34 Added nan dectecion and error reporting 2006-08-09 10:09:11 +00:00
Robert Osfield
bcd4aae4d5 Added TESSELATE_GEOMETRY to Optimizer pass to fix z fighting issues. 2006-08-08 16:08:06 +00:00
Robert Osfield
c0cd67aa8f Added extra defined(CPU_SET) to try and get round RH8 compile problems. 2006-08-08 14:57:14 +00:00
Robert Osfield
081b15c84d Fixed backColor implementation for LightPointAppearancePalette. 2006-08-08 11:59:53 +00:00
Robert Osfield
2616174b06 Added support for --affinity command line option for switch on procesor affinity where supported, 2006-08-08 11:27:36 +00:00
Robert Osfield
444f561c14 From Paul Martz, "This change causes the new OpenFlight plugin to behave as the
old plugin by returning the database origin latitude/longitude (extracted
from the header record) as userData of the top-level scene graph node."
2006-08-08 11:23:57 +00:00
Robert Osfield
d0d48b0e5a Fixed the positioning of the graphical stats bars so that they don't overlap
the stats text
2006-08-08 10:41:51 +00:00
Robert Osfield
687bfb40c1 Added preliminary support for process affinity support under Linux. 2006-08-06 16:49:48 +00:00
Robert Osfield
7e0a183032 Added fix to code catching error results ReadResult's to first instance of checking the
value of ReadResult.
2006-08-05 20:39:47 +00:00
Robert Osfield
6c419af79c From Jeremy Moles, refactored by Robert Osfield.
Fixed bug osgDB::Registry::Registry::read(const ReadFunctor& readFunctor) relating to
the handling of failed loads with the ReadResult::_message value being lost, this changes
ensure that the original ReadResult from the plugin, with message intact, is returned correctly.
2006-08-05 20:36:49 +00:00
Robert Osfield
b832453c10 From Uwe Woessner, implementated by Robert Osfield, Fixed vertex attribute bug, changed _vertexAttribList[unit] -> _vertexAttribList[index] 2006-08-04 13:17:56 +00:00
Robert Osfield
43e65c11b1 Added if search for the current databaseRequest in the _fileRequestList to handle
cases when the request is moved back in the list, or when the _fileRequestList is cleared
by an asyncronous call to DatabasePager::clear().
2006-08-03 19:14:52 +00:00
Robert Osfield
5889052f5a Updated wrappers 2006-08-03 16:04:43 +00:00
Robert Osfield
174e3b3dc3 Fixed RenderToTexture bug which occured when the viewport dimensions where
different than the texture being written to.
2006-08-03 15:57:39 +00:00
Robert Osfield
7ef12b37b5 Changed:
static TextureGLModeSet s_textureGLModeSet;

To:

  static TextureGLModeSet& getTextureGLModeSet()
  {
      static TextureGLModeSet s_textureGLModeSet;
      return s_textureGLModeSet;
  }

to prevent static initialization problems under static builds.
2006-08-03 13:35:21 +00:00
Robert Osfield
7b313eef34 Added OSG_TEXT_INCREMENTAL_SUBLOADING ON/OFF env var check to osgText::Font
to optional disable the incremental subloading.
2006-08-03 13:12:14 +00:00
Robert Osfield
7eb7bbdb84 Updated wrappers 2006-08-02 21:09:25 +00:00
Robert Osfield
9e7b07fbcf Reworked the state management within osgText::Text and osgText::Font so that it
only applies textures locally rather than whole StateSet.
2006-08-02 21:05:56 +00:00
Robert Osfield
0336231321 Moved extension function pointer initilization into a method, and the pointers from
being static to be local member variables.  This should avoid issues under Windows
with multiple graphics contexts have seperate entry points.
2006-08-02 16:14:17 +00:00
Robert Osfield
4d556c0ec4 Reworked the TextureObjectManager singleton so that it no longer reconstructed itself once deleted, and added checks to against a null manager to prevent calling code crashing. 2006-08-02 15:41:47 +00:00
Robert Osfield
cdaca0ebdf Fixed crash due on multipipe systems due by moving the local camera update code from the cull into the update traversal. 2006-08-02 11:36:13 +00:00
Robert Osfield
553d017fd9 From Daniel Trstenjak, build fixes for Hpux 11.11, Irix 6.5, Solaris 8 and Aix 2006-08-02 10:43:26 +00:00
Robert Osfield
91081a0ad7 Fixed doubleButtonPress. 2006-08-01 13:08:37 +00:00
Robert Osfield
5c4446dd5e From Jason Beverage,
"I've attached fixes to DataSet that should fix the problems that Maya was seeing yesterday.  The issue was that the new interpolation code I submitted didn't use the SourceData's georef, it was assuming that the GDALDataSet had a proper geo-ref.  I've made the getInterpolatedValue method a member of SourceData and now it uses the georef the SourceData's georef.

I also forward declared the GDALRasterBand class in the DataSet header."
2006-07-31 20:56:22 +00:00
Robert Osfield
564ee34f76 Added Matrix*::getRotate()/setRotate(Quat), deprecating Matrix*::get(Quat&), Matrix*::set(Quat&) 2006-07-31 17:31:21 +00:00
Robert Osfield
b1994cc60d Fixed multi-threaded/multi-pipe crash when primitive stats where output in osgProducer::Viewer's stats. 2006-07-29 16:47:28 +00:00
Robert Osfield
f977d7c606 Updated osgunittests with a matrix invert unit test, and added a conditional
calling of invert_4x4 or invert_4x3 depending on the the right hand column of the matrix.

Updated wrappers
2006-07-28 13:48:08 +00:00
Robert Osfield
f5b5f7f527 From Jason Beverage, "This patch should fix Gert's problem that he posted on osg-users. I downloaded the sample he posted, reproduced the error, and added an additional check to make sure the GDAL window size was valid. Now his example works fine. Changes made against current CVS.
"
2006-07-27 16:41:22 +00:00
Robert Osfield
a5ea4e0b33 From David Spilling, "Matrix_implementation.cpp modified as requested. I ran a version of it through a local version of osgunittests.cpp and it passes.
Note that firstly it always returns the positive real quaternion (positive w)

Note also that it will sometimes slightly differ from the results of the other methods because it assumes that the input matrix really is a rotation matrix - if it isn't, e.g. because of rounding error, then the output quaternion will be very slightly different. For example, the test matrix

0 1 0 0
1 0 0 0
0 0 0.999999 0
0 0 0 1

will return 0.707107 0.707107 0.0005033 0.0005033

whereas the previous methods return 0.707107 0.707107 0.0 0.0

However, since quaternions are rotations, the meaning of how to convert a matrix that isn't a rotation is a little unclear..."
2006-07-27 15:23:50 +00:00
Robert Osfield
c0c5e73ff9 From Michael Polak, double click fixes/additions 2006-07-27 12:32:40 +00:00
Robert Osfield
cd4a24731a From Eric Wing, add outline to help text to make it easier to read on different coloured backgrounds 2006-07-27 11:58:55 +00:00
Robert Osfield
a0cdf7461c Added #define snprintf _snprintf for Win32 build 2006-07-27 11:22:01 +00:00
Robert Osfield
3e8af92da1 From David Spilling, fix to Matrix::get(Quat&) 2006-07-27 11:14:28 +00:00
Robert Osfield
d9b6d87d5a Cleaned up per context buffers support 2006-07-26 15:29:26 +00:00
Robert Osfield
d728d8335e Fixed auto rotate bug. 2006-07-25 13:52:10 +00:00
Robert Osfield
0af758716a For cases where the RenderBin has its own StateSet do a popAllStateSets()
to ensure that the state is completely ready for the RenderBin's StateSet to be at the bottom.
2006-07-19 20:56:24 +00:00
Robert Osfield
dbf1e05a71 UPdated wrappers 2006-07-19 19:49:28 +00:00
Robert Osfield
4591c68d95 Fixed error in enum, completely perplexed how the error got in... 2006-07-19 19:45:32 +00:00
Robert Osfield
6191c7358d Reverted to LODScale keyboard adjustment 2006-07-19 15:20:47 +00:00
Robert Osfield
e1f4026cf5 Warning fixes 2006-07-19 15:10:50 +00:00
Robert Osfield
782d72484a Warning fix 2006-07-19 15:07:00 +00:00
Robert Osfield
377c5710fe Added extra initializes 2006-07-19 14:46:40 +00:00
Robert Osfield
a95b7fbfae Added dummy initializers to avoid warning 2006-07-19 14:30:30 +00:00
Robert Osfield
11e22579d6 Added reset of the event windowSize 2006-07-19 14:04:16 +00:00
Robert Osfield
f67d10ba0c Moved sync to before the keyboard mouse startThread to try to avoid some
threading issue on start up of some apps.
2006-07-19 12:35:33 +00:00
Robert Osfield
61b971ddea Fixed handling of back colour. 2006-07-19 11:25:26 +00:00
Robert Osfield
5fb3469f77 Changed code creating LightPoint on heap to use the stack. 2006-07-19 08:39:44 +00:00
Robert Osfield
882a909df8 Updated wrappers 2006-07-18 20:53:16 +00:00
Robert Osfield
1efa9a01d7 Updated wrappers 2006-07-18 20:51:28 +00:00
Robert Osfield
dfbc9d0441 Moved the moveToRootStateGraph(,) from RenderStage::drawImplemenation() to RenderBin::drawImplementation(); 2006-07-18 20:17:31 +00:00
Robert Osfield
97dde14dcf From Eric Wing, fix for VC6 support 2006-07-18 19:26:54 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
9790d15f30 Reduced the verbosity of debug info. 2006-07-18 13:04:57 +00:00
Robert Osfield
5b10db3724 Updated wrappers 2006-07-18 12:48:48 +00:00
Robert Osfield
419e185895 From Eric Wing, add alternate backdrop implementations.
From Robert Osfield, updated naming  and copy constructor methods.
2006-07-18 12:24:04 +00:00
Robert Osfield
f2d50d943b Updated wrappers 2006-07-18 11:42:27 +00:00
Robert Osfield
a74801a0ee Added Optimizer::FlattenBillboardsVisitor. 2006-07-18 11:03:46 +00:00
Robert Osfield
e016cdafb2 From Terrex, improvements to handling of layers w.r.t PolygonOffset 2006-07-17 16:36:42 +00:00
Robert Osfield
2ef59b73e9 Change Unit to Units to keep consistent with OpenGL naming. 2006-07-17 11:43:26 +00:00
Robert Osfield
460ea4586e Added *,/,+ and - keyboard controls for toggling PolygonOffset factor and units 2006-07-17 11:37:51 +00:00
Robert Osfield
db395b18af Added getNumLayers method 2006-07-17 11:36:50 +00:00
Robert Osfield
f16a78ad97 Increased the unit multiplier to 3 to avoid z fighting. 2006-07-17 10:25:01 +00:00
Robert Osfield
e8235f6967 Changed the Radeon defaults to 1, 128 for the factor and unit mulitpliers respectively. 2006-07-17 10:24:31 +00:00
Robert Osfield
9f81ef8561 Implemented Radeon workaround for polygonoffset 2006-07-14 14:38:55 +00:00
Robert Osfield
4bae225d39 Added s/getFactorMultiplier(), s/getUnitMultiplier(), areUnitAndMultipliersSet() and
setFactorAndUnitMultipliersUsingBestGuessForDriver() static methods to
osg::PolygonOffset to help implement workarounds for lack of portablity of
settings between different hardware.
2006-07-14 14:08:33 +00:00
Robert Osfield
524417f981 Removed debug info 2006-07-14 11:29:41 +00:00
Robert Osfield
e835ea5328 Speeded up merge geometry 2006-07-14 11:04:24 +00:00
Robert Osfield
47c7c43c64 Optimized the MERGE_GEODES pass 2006-07-13 20:42:10 +00:00
Robert Osfield
5d59ab8227 Updated wrappers 2006-07-13 15:56:54 +00:00
Robert Osfield
dd32e6425e Added StatsVisitor to include/osg/Statistics, and usage of it in osgUtil::Optimizer.
Added --optimize <string> option to osgconv
2006-07-13 15:25:22 +00:00
Robert Osfield
541433c7be Added share duplicates traversal to optimizer call 2006-07-13 14:58:37 +00:00
Robert Osfield
abe6260da4 Fixed management of Text's StateSet so that it works correctly when the DefaultFont is active. 2006-07-13 09:01:24 +00:00
Robert Osfield
5e9b7bef88 From Brede Johansen,
"I found some artifacts on some models and traced it back to the
external palette override feature.  There are some changes in the
layout of the external record the loader have to take into
consideration.

The other fix is to remove the OF pools from the user data of the
external ProxyNode when it is no longer needed."
2006-07-12 09:40:03 +00:00
Robert Osfield
dd6a33da49 Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and
implemented the OVERRIDE_RENDERBIN_DETAILS.
2006-07-11 21:53:57 +00:00
Robert Osfield
ad18b88848 From Antoine Hue,
"There was a typo in "int setNotifyOffset()", appear to be a getter =>
"int getNotifyOffset()".

Then I have added a switch to create GDALTermProgress only when the
current notify level + local offset permit message display. In fact, if
the offset is set to 0 and the notify level is at the default, DataSet
is quiet but for the GDALTermProgress. That is quite disturbing since
you think the progress is related to the complete processing but it is
actually only related to the GDAL Warp."
2006-07-11 10:34:41 +00:00
Robert Osfield
49dea3b589 Tweak for VS6.0 build 2006-07-06 20:43:23 +00:00
Robert Osfield
1c1fce8266 Fixed scoping for for loop varaible for VS6.0 build. 2006-07-06 15:47:59 +00:00
Robert Osfield
ee1b6a5dd6 Tweaks to try and fix VS6.0 problems. 2006-07-06 15:00:51 +00:00
Robert Osfield
df2d0e1ceb Removed explict definition of osgUtil::Optimizer::StateVisitor to attempt
to get round VS 6.0 cruddiness.
2006-07-06 14:50:38 +00:00
Robert Osfield
6665e2a38a Tweaked for loop variaible definition. 2006-07-06 14:43:30 +00:00
Robert Osfield
0b32213394 From Eric Sokolowsky,
"If a texture is used that is not a multiple of four, and compression
was requested through the texture's internal format, the texture's
internal format reverts to a non-compressed type and a NOTICE is given.
At present, compressed textures must have a multiple of four in each
dimension."
2006-07-06 14:14:19 +00:00
Robert Osfield
6b1f793ea7 Updated wrappers 2006-07-06 14:10:37 +00:00
Robert Osfield
865ee4429c From Eric Sokolowsky,
"Attached is some fixes for Image::readImageFromCurrentTexture. It was
failing when used with a new Image object (some of the fields were
not set before they were used, and some were set to the wrong values).
A new optional parameter was added to give the desired data type, which
defaults to GL_UNSIGNED_BYTE, so programs should only need a recompile
to work properly."
2006-07-06 14:02:14 +00:00
Robert Osfield
c72530d2fd Added setting of name from the .obj goup name and object names. 2006-07-06 11:40:41 +00:00
Robert Osfield
f693fa6d2d Removed redundent debug message. 2006-07-06 11:33:07 +00:00
Robert Osfield
fd7ee0cf21 Add "hack" fix for black materials being exported from Maya. 2006-07-06 11:30:20 +00:00
Robert Osfield
88609a5eee Updated version numbers for 1.1 release 2006-07-06 10:28:12 +00:00
Robert Osfield
30d32133b8 Tweaked polygon offset 2006-07-06 10:27:40 +00:00
Robert Osfield
2c2083db72 From Vivek Rajan, "Rotated text in SCREEN_COORDS was looking a little squished especially
in orthographic projection. Performing the rotation before the scaling
fixed the problem. I've attached Text.cpp with the fix."

From Robert Osfield, in keeping with Vivek's change moved the auto rotate to screen befor the scale as well.
2006-07-06 08:36:12 +00:00
Robert Osfield
d7f1c34df8 From Eric Sokolowsky, "The attached Texture.cpp fixes a problem when subloading compressed
textures.  Near the top of the function that implements texture
subloading, osg::Texture::applyTexImage2D_subload(), the local variable
compressed_image examines the _image's_ pixel format to see if it is
compressed. However, further on, in calls to getCompressedSize() the
_texture's_ pixel format is used. In my application's Texture2D class,
I use osg::Texture::USE_ARB_COMPRESSION to
osg::Texture2D::setInternalFormatMode(), which causes the internal format
to become one of the generic ARB_COMPRESSED types, which do not have a
specific size. Thus the recent warning message added to
osg::Texture::getCompressedSize() is triggered. The correct behavior is
to use the format mode from the Image class instead of the Texture class
within the subload implementation, and then the size is calculated
correctly."
2006-07-05 21:52:36 +00:00
Robert Osfield
5622e0d202 From Brede Johansen, "Changed ">" to ">=" when testing for version 16.1 or later." 2006-07-05 20:56:37 +00:00
Robert Osfield
0f209a5362 From Eric Sokolowsky, "There is code in Image.cpp that calculates the size of a compressed image
based on the internal format. There is similar code in the Texture class
but it does not account for the ARB types. I modified the Texture class
implementation to show a warning when an incomplete internal format is
used to calculate the image size."
2006-07-05 13:44:07 +00:00
Robert Osfield
9ae10af995 Fixed warnings 2006-07-05 09:52:03 +00:00
Robert Osfield
a0050bc8db From Markus Trenkwalder, "Mingws gcc includes a file called types.h which in turn defines
_TYPES_H_.  types.h in the directx plugin defines the same include
guard.  I've renamed the guard name in this file to _DX_TYPES_H_.  Now
the plugin compile in mingw too."
2006-07-05 08:59:23 +00:00
Robert Osfield
7c1926118a From Brede Johansen, renaned FLT_preserveFace to preserveFace 2006-07-05 08:55:23 +00:00
Robert Osfield
ce4b3a7b9e Changed parameter name from osberver_ptr to observer. 2006-07-04 19:58:53 +00:00
Robert Osfield
6c6c131452 From Paul Martz,
"Previously, the new OpenFlight plugin only allowed ext ref models to use
their own palettes. With this change, parent models can override child model
palettes with the parent palettes.

These changes are made against very current CVS (just updated about 1/2 hour
ago, eliminated conflicts, and retested before this posting).

To regurgitate what I did:

A new class, ParentPools (public osg::Referenced), is created when an ext
ref record is parsed, and it is populated with any parent model pools that
should override the child model pools (according to bits in the ext ref
record). The ParentPools object is then set as UserData on the ProxyNode
corresponding to the ext ref.

When the ReadExternalsVisitor hits the ProxyNode, it takes its UserData and
sets it as UserData in the Options parameter to the osgDB::ReadNode call,
which then read the ext ref model. In the course of parsing the Options
string, ReaderWriterFLT also looks at the Options UserData and sets the
parent pools in the Document class accordingly.

When palette records are encountered while loading a file, they are ignored
if the corresponding pool was set by the parent.

Thanks to Brede for consulting with me on the implementation.
"
2006-07-04 19:54:29 +00:00
Robert Osfield
00fbfd4835 Updated wrappers. 2006-07-04 14:37:56 +00:00
Robert Osfield
e7d9e91525 From Stephan Huber,
"attached you'll find some modifications to Producer, osgGA and
osgProducer to enable Mac OS X support for

+ scrollwheels,
+ mightymouse-srollballs
+ new tracking-pads with scroll feature
+ tablet-support (pressure, proximity and pointertype) (Wacom only tested)

I think there was a bug in the windows-implementation of scroll-wheel
support (wrong order of ScrollingMotion-enum, casting problem) which is
fixed now.

The scrollwheel-code is a bit klunky across platforms, some devices on
OS X can report an absolute delta in pixel-coordinates not only the
direction, so for now there is scrollingMotion (which describes the
direction) and scrolldeltax and scrolldeltay. I decided to leave the
scrollingmotion-stuff to not break old code relying on this."
2006-07-04 14:18:44 +00:00
Robert Osfield
b0d738384f Updated wrappers. 2006-07-04 13:56:38 +00:00
Robert Osfield
3ad5140942 Change osgText so that the Text drawable now can have its own StateSet
that users can assign to it without it being overriden.  If none is
assigned externally it now uses a StateSet associated wit the Font assigned
to the Text.
2006-07-04 13:56:29 +00:00
Robert Osfield
e8a3444b88 From Brede Johansen,
"The attached file corrects two small typos in MultiSwitch.cpp.  The
local "values" reference and the "_values" member attribute are of
different types but both are vectors so the size() operator happily
compiles.  A renaming of _values to _masks or similar may be a more
future proof solution but the submission only removes the underscore
in two places.

The switch_1701.flt model part of the Creator gallery revealed this bug."
2006-07-04 13:33:19 +00:00
Robert Osfield
7511fce540 Fix to Registry::read(ReadFunctor) to better handle reporting of errors 2006-07-04 12:57:59 +00:00
Robert Osfield
c8aec2a07d Fixed warnings. 2006-07-04 11:24:36 +00:00
Robert Osfield
0170689c9d Warning fix. 2006-07-04 10:55:58 +00:00
Robert Osfield
eff37b0fdf Warning fix 2006-07-04 10:52:16 +00:00
Robert Osfield
62ecea541d From Ulrich Hertlein, updates to DirectX loader 2006-07-04 09:13:15 +00:00
Robert Osfield
5e9076ec10 From Brede Johansen, set the default value of texture wrap mode to REPEAT to fix problem
with database without .attr files.
2006-07-03 20:28:26 +00:00
Robert Osfield
e4dea2b8c4 Fixed a couple of warnings. 2006-07-03 16:31:30 +00:00
Robert Osfield
70391108fd Fixed orientation and lighting of model. 2006-07-03 16:21:57 +00:00
Robert Osfield
07ac167fa8 Added merge geodes and geometries optimizer call 2006-07-03 10:47:16 +00:00
Robert Osfield
c90e35038a From Eric Sokolowski, "Added the ability to read and write images directly in the ive plugin,
through the osgDB::readImageFile and osgDB::writeImageFile functions.
This is useful for storing compressed textures on disk for rapid playback
for animations."
2006-07-03 09:26:12 +00:00
Robert Osfield
e7d04408d3 From Michael Platings, added support for blend seperates to .ive and .osg 2006-07-03 09:22:11 +00:00
Robert Osfield
8b445af79b Updated wrappers. 2006-06-30 13:50:32 +00:00
Robert Osfield
f181228d4a From Michael Platings, added support for glBlendFuncSeperate. 2006-06-30 13:50:02 +00:00
Robert Osfield
6a2387373c From Eric Sokolowsky, made a couple of methods static. 2006-06-30 13:47:12 +00:00
Robert Osfield
4ce0d8af64 From David Callu, compile fix for gcc 4.1 2006-06-29 19:38:07 +00:00
Robert Osfield
30265ac0b3 Added support for RenderBin's have a local top level StateSet. This is now
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
2b293df713 Updated wrappers. 2006-06-29 11:00:08 +00:00
Robert Osfield
ee72373bfa Updated wrappers 2006-06-29 10:19:44 +00:00
Robert Osfield
a6fbb7a044 Changed _WIN32 to _MSC_VER 2006-06-29 10:17:19 +00:00
Robert Osfield
459f147da7 From Eric Wing, updates to QuickTime plugin 2006-06-29 10:06:27 +00:00
Robert Osfield
e12c6b7902 Form Brede Johansen, move from istrstream to istringstream.
From Robert Osfield, remapped Paul Martz's changes to Pools.h and PaletteRecords.cpp w.r.t texturePatternIndex being a in16, and converted a char* string to a std::string.
2006-06-29 09:34:41 +00:00
Robert Osfield
e0258f23b3 Changed unsinged int to GLuint for OSX compile fix. 2006-06-29 08:08:39 +00:00
Robert Osfield
17e51e73c4 Changed unsigned int to GLuint for OSX build. 2006-06-28 20:38:32 +00:00
Robert Osfield
4dff461b1c Change internal variables across to being GLuint. 2006-06-28 14:36:28 +00:00
Robert Osfield
c3548195f7 Made the new OpenFlight plugin the default. 2006-06-28 10:22:04 +00:00
Robert Osfield
5acd4f3be1 From Martin Naylor, build fix for windows. 2006-06-28 07:17:56 +00:00
Robert Osfield
95d29db7c5 Removed old #include <vector.h> entries. 2006-06-28 07:14:39 +00:00
Robert Osfield
03af6871ab Added setting of the CameraConfig:TheradModelDirective 2006-06-27 20:13:41 +00:00
Robert Osfield
710adfd698 From Eric Wing, added support for outline/shadow and colour gradient effects. 2006-06-27 13:09:00 +00:00
Robert Osfield
c71fc9fcb6 From Stephan Huber, remove Platform specific handling of multi-sample setup as its
now supported within Producer in a generic way.  From Robert Osfield fix to the parameter ordering
2006-06-27 12:08:30 +00:00
Robert Osfield
261f4a3b1c From Terrex and Andrew Sampsom and Don Tidrow and Robert Osfield,
email comments from Andew Sampson,

"I've contacted Terrex, and obtained the 2.2 version
of their trpage library.  The library included a
fork of OSG 0.9.8's txp plugin, modified to load 2.1+
txp DBs.

I've done the work of incorporating the changes made
to OSG's txp plugin since 0.9.8 into Terrex's fork.
The forked version is now up-to-date with the changes
made to OSG 0.9.9 and 1.0.

Terrex made a lot of changes (especially differences
in whitespace), so the diff between the forked version

and OSG 1.0's txp plugin is yucky.  I did my best, but

keep in mind that this is the result of a 4-way merge
(kinda... terrex-0.9.8, stock-0.9.8, stock-0.9.9,
stock-1.0).

I really want to see this forked version merged back
into the main OSG branch.  The new features offered by

this version of the plugin (2.1+ support, variable
LOD support, bug fixes) are worth the trouble."

--

Don Tidrow then took this code and added his work.

--

Robert Osfield then fixed all the warnings that abound in the trpage code base.
2006-06-27 10:07:42 +00:00
Robert Osfield
240fc9ebee Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal
of ref_ptr<> operator >.
2006-06-26 20:45:51 +00:00
Robert Osfield
5b89ddab01 Added DeleteHandler flush call. 2006-06-26 20:43:18 +00:00
Robert Osfield
d084c34e04 Added a functional DeleteHandler. 2006-06-26 20:35:10 +00:00
Robert Osfield
a39516c297 Changed GLunit usage to unsigned int. 2006-06-26 10:57:17 +00:00
Robert Osfield
c46560e478 From Andreas Ekstrand, fix for Windows 2006-06-26 10:39:38 +00:00
Robert Osfield
3b499341ed From Philipp Siemoleit,
There are some group codes (i.e. "62") which are interpreted as
    dxfDataType::SHORT. That's right because the dxf-specification defines
    "16 bit integer" as the type for the corresponding value.
    But readerBase::readGroup() calls readValue(std::ifstream&, unsigned
    short). I changed readValue(std::ifstream&, unsigned short) to
    readValue(std::ifstream&, short). I found no group code at the dxf-specs
    which needs a "16 bit unsigned integer" value. So the
    readValue(std::ifstream&, unsigned short) function is obsolete - right?
2006-06-26 09:30:16 +00:00
Robert Osfield
a9f2e345c9 From David Fries, Reset only the RenderLeaf objects used in the last
frame as given by the _currentReuseRenderLeafIndex instead of
resetting all leaves which can be very time consuming.
2006-06-26 09:18:49 +00:00
Robert Osfield
4ab7be2833 Martin Spindler, new osg::ClampColor state attribute. 2006-06-08 15:27:18 +00:00
Robert Osfield
2e2684c05a From Paul Martz, added support to textured light points into osgSim and OpenFlight loader, as part of the OpenFlight v16.0 spec. 2006-06-08 14:32:02 +00:00
Robert Osfield
4d35807a54 From Matt Green, fix to handling of centering of multi-line text entries. 2006-06-08 13:34:29 +00:00
Robert Osfield
4c5452733b With direction from Paul Melis, fixed bug in CopySharedSubgraphsVisitor which prevented
it being applied.  Also fix inappropriate comment.
2006-06-08 11:39:10 +00:00
Robert Osfield
16d844090f From Joan Abadie: patch fixes : "osgDB::makeDirectory doesn't work on win32 when using full path name like : "d:/demo"
it tryes a mkdir("d:")."
2006-06-08 11:22:45 +00:00
Robert Osfield
732ca180d1 Added missing clip against maximum azimuth. 2006-06-05 16:25:29 +00:00
Robert Osfield
947904ee85 Improved stats sizing in presense of wide screens. 2006-06-05 16:06:29 +00:00
Robert Osfield
8ca8adeafb From Jason Baverage, support for interpolating DEM data from GDAL to the positions
required for the current tile.
2006-05-26 15:19:14 +00:00
Robert Osfield
bf0828138c Cleaned up the OpenGL error reporting. 2006-05-22 19:30:07 +00:00
Robert Osfield
3ca71e4398 Updated wrappers. 2006-05-16 21:32:37 +00:00
Robert Osfield
e1c77dfe2a Minor tweaks of ints to unsigned ints 2006-05-16 21:20:36 +00:00
Robert Osfield
690aeea7e4 From Mike Weiblen, futher work on Uniform array support. 2006-05-16 21:00:45 +00:00
Robert Osfield
90fc234cf1 From Mike Weiblen, support for new Uniform arrays.
From Robert Osfield, refactor of above with original code to ensure backwards compatibility.
2006-05-16 21:00:15 +00:00
Robert Osfield
a18e697a47 Compile fixes for OSX 2006-05-16 10:21:59 +00:00
Robert Osfield
bf065ed3a4 From Mike Weiblen, support GLSL uniform arrays. A couple of tweaks and fixes from Robert Osfield. 2006-05-15 15:46:08 +00:00
Robert Osfield
d42a8fd269 From Paul Martz, "This change is based on current CVS. (Note both Brede and I have submitted
changes to this plugin that aren't in current CVS yet -- this change is
based on current CVS, not our changed files.)

This changes how shader palette records are parsed to support GLSL per the
OpenFlight 16.1 spec. Existing functionality for 16.0 files is preserved.

The change to Document.h simply adds an enum for VERSION_16_1."
2006-05-15 13:22:59 +00:00
Robert Osfield
2e0865d0c9 From Jason Baverage, A
dded GeospatialExtents bounding box class which used doubles
in place of the original usage of osg::BoundingBox.

Added path for computing interpolation elevation data being read from GDAL.
2006-05-15 13:12:55 +00:00
Robert Osfield
1dcb923c15 From Daniel Trastenjak, added checking of binding modes to ensure that changes are only applied
when the binding mode changes, thereby avoiding uncessary calls to dirtyDisplayList.

Note, from Robert Osfield, moved bodies of set*Binding() into Geometry.cpp to avoid
clutter in the header.
2006-05-15 11:48:05 +00:00
Robert Osfield
56d4c7a269 From Paul Martz, "add support for the v16.0 "Add" texture environment and "mirrored repeat" wrap mode." 2006-05-15 11:27:07 +00:00
Robert Osfield
fdda54e77e Changed instances of setCoord(const Vec3) to setCoord(const Vec3&) style. 2006-05-15 11:22:08 +00:00
Robert Osfield
132b355d4f From Brede Johansen,
"- Replaced some member attributes with local variables in Face record.
 - Multitexture support in Vertex class.
 - Renamed VertexList to VertexListRecord (VertexList is now a Vertex array)
 - new Mesh (with reserved field at offset 12, thanks to Paul Martz)
 - new LocalVertexPool
 - new MeshPrimitive
 - Use ProxyNode for externals.
 - Local cache for externals"
2006-05-15 11:18:50 +00:00
Robert Osfield
f104656d9f From Carlos García and Paul Baker, Port of Paul Baker's Quake3 BSP loader to OSG by Carlos García.
Added Quake3 BSP plugin.
2006-05-15 09:46:54 +00:00
Robert Osfield
8af7b04c5b From Farshid Lashkari, "The drawInner() method of osgUtil::RenderStage ignores the
checkForGLErrors flag of the osg::State object. The attatched file
fixes this."
2006-05-09 09:47:26 +00:00
Robert Osfield
ff518eb9c6 Removed redundent variable declaration. 2006-05-09 09:13:07 +00:00
Robert Osfield
2fc17d3942 Updated wrappers 2006-05-04 19:39:58 +00:00
Robert Osfield
3132f1f2f7 Fixed expire of children to work with the new Group::removeChildren method. 2006-05-04 19:15:52 +00:00
Robert Osfield
a8c52a90f0 Added selective support for thread safe ref/unref such that the rendering
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
67f56dfd77 Updated wrappers. 2006-05-02 09:50:00 +00:00
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method.  There removeChildren is now the method to
override in subclasses.

This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
34cdf22794 Fixed popping of state frustum. 2006-05-02 09:18:36 +00:00
Robert Osfield
2792c6c2fb From Colin MacDonald, fixed handling of an adding a graphics context after the creating of the osgText::Text. 2006-05-01 16:20:26 +00:00
Robert Osfield
ffb4c79132 Ran dos2unix. 2006-05-01 16:13:37 +00:00
Robert Osfield
923d85eb06 Added catch for thread model w.r.t new PrecipitationEffect not being
sensitive to threading issues.
2006-04-28 10:48:05 +00:00
Robert Osfield
f22d11903b UPdated wrappers 2006-04-25 13:50:07 +00:00
Robert Osfield
039457700d Implemented seemless update of precipitation properties. 2006-04-25 12:39:00 +00:00
Robert Osfield
6558a5589f Reset the default number of graphics context to 1. 2006-04-25 09:00:07 +00:00
Robert Osfield
58e759619c Moved LessFunctor into header. 2006-04-24 21:48:23 +00:00
Robert Osfield
10f2feeac5 Moved PrecipitationParameters directly into PrecipitationEffect. 2006-04-24 16:21:10 +00:00
Robert Osfield
2e6532ccd3 Added depth sorting of cells. 2006-04-24 11:24:08 +00:00
Robert Osfield
92131fca19 Added near/far compute. 2006-04-24 10:32:33 +00:00
Robert Osfield
49a5ef9ee1 Added support for wind. 2006-04-24 06:36:26 +00:00
Robert Osfield
e8fa0433b3 Moved PrecipitationEffect node into osgParticle. 2006-04-22 15:08:07 +00:00
Robert Osfield
f5f8754ec7 Decreased notify level of debug message. 2006-04-22 15:07:36 +00:00
Don BURNS
585f1d0f68 Fixed a cut-n-paste error in the ground intersects. 2006-04-21 17:16:49 +00:00
Robert Osfield
d29da5baed Fixed mouse scroll mapping. 2006-04-19 19:00:04 +00:00
Robert Osfield
fb35d02c33 Added setting of the FrameStamp on the RenderStage's local GraphicsContext to
keep it in sync with the calling graphics context.
2006-04-17 13:25:33 +00:00
Robert Osfield
4c0cfd18da From Ben Discoe, added missing drawable->dirtyDisplayList(). 2006-04-14 08:28:35 +00:00
Robert Osfield
99285a40ef Added setting of the DisplaySettings::setMaxNumberOfGraphicsContext() to the
number of contexts required by Producer.
2006-04-11 08:44:26 +00:00
Robert Osfield
761a3b43ac From Brede Johansen, added MergeGeode visitor to osgUtil::Optimizer. 2006-04-06 14:06:22 +00:00
Don BURNS
de930be1c1 Fixed a bug in the DelaunayTriangulator uniquify points method. Was always
skipping the first point.
2006-04-04 23:22:34 +00:00
Robert Osfield
c8097c9b62 Updated wrappers. 2006-04-04 13:20:12 +00:00
Robert Osfield
02837366df #if'd out use of barrier for stats collection. 2006-04-03 19:14:58 +00:00
Robert Osfield
d62adc9aac Temporary fix for hang in stats when multi-threaded. 2006-04-03 18:25:31 +00:00
Don BURNS
f76a324c95 Don Tidrow's ifdef for MingW 2006-03-31 01:37:38 +00:00
Don BURNS
a5d12c598a Updates to osgProducer to bring it up to speed with changes in Producer 2006-03-29 23:32:51 +00:00
Robert Osfield
e7a4ad287b From Mike Weiblen, changes to internal help class in prep for array uniform support.
Small tweaks for build under Linux from Robert Osfield.
2006-03-28 16:08:32 +00:00
Robert Osfield
7f101c37ad From Glenn Waldrom, addition of .ive support for PriorityOffset and PriorityScale. 2006-03-28 14:45:48 +00:00