Commit Graph

5318 Commits

Author SHA1 Message Date
Robert Osfield
9bae59bd6e Added setting of UpdateVisitor's FrameStamp and TraversalNumber in updateTraversal() 2008-01-09 14:22:44 +00:00
Robert Osfield
11db24e6b3 From Colin McDonald, build fixes for Solaris. 2008-01-08 18:13:06 +00:00
Robert Osfield
6ca573dfd3 From Jean-Sebastien Guay, Warning fixes 2008-01-08 17:18:11 +00:00
Robert Osfield
d7d1b382b7 Added support for reading and writing the Terrain's Locator 2008-01-08 16:09:01 +00:00
Robert Osfield
dc79b6bb4d Added writing and reading of inlined HeightField 2008-01-08 15:20:02 +00:00
Robert Osfield
e73134d6fb Removed non standard and redundent /*EOF*/ 2008-01-08 14:38:58 +00:00
Robert Osfield
27714dd538 Updated wrappers 2008-01-08 14:37:09 +00:00
Robert Osfield
578f385760 From Mike Weiblen, support for geometry shaders, and osgeometryshaders example to demonstrate them. 2008-01-08 14:29:44 +00:00
Robert Osfield
c37e5eaf18 Added support for MinLevel and MaxLevel for ProxyLayer 2008-01-08 13:56:21 +00:00
Robert Osfield
ff565128af Introduced new osg::discardDeletedOpenGLObjects() methods, and usage of it in
GrpahicsContext::close() to handle cases where deletingOpenGLObjects is no possible,
such as when GraphicsWindowEmbedded is used.
2008-01-08 13:24:29 +00:00
Robert Osfield
f3448d3307 Removed debug info 2008-01-08 13:22:55 +00:00
Robert Osfield
74e5d44538 Reorganised the .osg support for osgTerrain NodeKit to make it more extensible 2008-01-08 13:10:59 +00:00
Robert Osfield
5832dadb68 From Glenn Waldron, "I found that osg::Sequence::setDuration(speed,reps) was not changing the animation speed factor as expected. The one-line fix (line 312) is attached" 2008-01-04 15:33:21 +00:00
Robert Osfield
4d042581a6 From Paul Martz, "Correction to size of reserved filed in .attr file, Spec says "149*4" bytes, not "149"" 2008-01-04 15:30:49 +00:00
Robert Osfield
ad5fcbccf6 Updated wrappers 2008-01-04 15:15:48 +00:00
Robert Osfield
35d9107d81 Added catch for handling cases where undefined settings for dislayNum and screenNum are used 2008-01-04 13:57:36 +00:00
Robert Osfield
8d5d543600 From Brede Johansen, support for contiuation records. 2008-01-04 11:26:21 +00:00
Robert Osfield
6231c3a5a4 From Paul Martz, completion of .ive and .osg support for OcclusionQueryNode 2008-01-04 11:14:11 +00:00
Robert Osfield
b222d4201c From Paul Martz, "The osgocclusionquery example contained some duplicate code that was also in the core OSG occlusion query code. This change removes the need for that." 2007-12-26 22:00:28 +00:00
Robert Osfield
532d573a06 Updated wrappers 2007-12-26 21:43:10 +00:00
Robert Osfield
2aca19a4e6 From David Callu, further work in support of shapefile support in VirtualPlanetBuilder 2007-12-26 21:39:29 +00:00
Robert Osfield
9d29cc53dc Suppressed reflection of problem templates/typedefs 2007-12-26 21:38:11 +00:00
Robert Osfield
92f7f4c3f5 Replaced values.h with float.h is avoid Windows compile issues 2007-12-25 21:11:27 +00:00
Robert Osfield
17b7f57814 Updated wrappers 2007-12-24 15:37:15 +00:00
Robert Osfield
5e89958623 Fom Brede Johansen, "I have added the OSGPL license to the OpenFlight source files" 2007-12-24 15:32:15 +00:00
Robert Osfield
93127866a8 From Sid Byce, fixes for compiling with gcc 4.3 2007-12-24 15:19:52 +00:00
Robert Osfield
7f30f0038f From Rafa Gaitan, "I have corrected some includes of the quicktime plugin
from Quicktime/Quicktime.h to QuickTime/QuickTime.h.
MacOsX filesystem is normally case insensitive, but in 
my case I changed that option and the quicktime headers
were not found. Now compiles fine and on case insesitive
file systems should work correctly too. "
2007-12-24 14:47:49 +00:00
Robert Osfield
e39bb04c62 From Jason Daly, "I'm still having a problem with SWING animations on sequences. Here's
the fix again, merged with this morning's svn (including the other
Sequence fixes from J-S)."
2007-12-24 14:45:31 +00:00
Robert Osfield
ce5388a8bc Convert osgText and freetype plugin across to keeping the font size as state that
is passed into the getGlyph and getKerning methods rather than a current state of the font itself.
2007-12-23 18:15:54 +00:00
Robert Osfield
f290b75bc9 Moved Font code across to using FontSizePair internally and on Font methods, but
still using original implemetations.
2007-12-23 13:45:37 +00:00
Robert Osfield
dea067050c Renamed osgText::Font::SizePair to osgText::FontSizePair in prep for use this more
widely within osgText/freetype plugin.

Added support for inserting loading models into --mt multithreaded implementation.
2007-12-23 13:18:40 +00:00
Robert Osfield
41b52b3d1f Updated wrappers 2007-12-21 17:26:19 +00:00
Robert Osfield
4c46475ca2 From Paul Martz, "added include<alogrithm> to prevent VS8 compile error" 2007-12-21 16:18:54 +00:00
Robert Osfield
39f4419183 Removed OperationArrayFunctor for wrappers to avoid compile errors assocaited with them 2007-12-21 15:54:14 +00:00
Robert Osfield
6b59b1739f Updated wrappers 2007-12-21 15:04:56 +00:00
Robert Osfield
b052e18f6e From Paul Martz, .osg support for OcclusionQueryNode 2007-12-21 14:49:49 +00:00
Robert Osfield
4889342c4a From Paul Martz, Introduced osg::OcclusionQueryNode with support for OpenGL occlusion query extension 2007-12-21 14:45:16 +00:00
Robert Osfield
5f7a2968ac From Bryan Thrall, "UFOManipulator ignores any attached CoordinateFrameCallback; the
attached files fix this (based on 2.2 release).
"
2007-12-21 14:21:21 +00:00
Robert Osfield
8733bb1799 From Mathias Froehlich, "Something to extend the texture subloading blacklist.
... we have problems with that on solaris."
2007-12-21 14:16:40 +00:00
Robert Osfield
9a41178439 From John Kelso,"Attached is the ive reader/writer for the 2.x version of the osg::Sequence
node. "
2007-12-21 14:13:40 +00:00
Robert Osfield
0f2959ce69 From Jeremy Moles, "Here is a implementation of setScreeResolution and
setScreenRefreshRate for systems support Xrandr. The include CMakeFile
makes this optional, and turns it OFF by default, in which case any
person trying to use these functions under Linux will be instructed to
build osgViewer w/ Xrandr support.
"
2007-12-21 13:32:13 +00:00
Robert Osfield
9ae1ffe13b From Jean-Sebastien Guay, "When using osg::Sequence you can stop the sequence by setting the mode
to STOP. Subsequently, you can restart it from the beginning by
setting the mode to START. This does not work as expected. The _now
time is not updated while the mode is STOP, which causes the items in
the sequence to flash by very quickly when the mode is set to START.

For example, if the mode was set to STOP and left that way for 30
seconds, and there are 10 items in the sequence, when the mode is set
to START all the items will flash by (in 3 loops) while the _now time
catches up with the real time, and then the sequence will go on at the
rate it should.

This is a simple fix for that, which updates the _now time regardless
of the mode the sequence is in."
2007-12-21 13:18:13 +00:00
Robert Osfield
cf1a30841a From David Callu, various classes in support of VirtualPlanetBuilder 2007-12-21 13:07:54 +00:00
Robert Osfield
2e62206117 From David Callue, added support for reading/writing Vec*dArray to .ive plugin 2007-12-21 12:36:40 +00:00
Robert Osfield
815121b0e8 Updated wrappers 2007-12-20 17:30:31 +00:00
Robert Osfield
2cab28c3b8 Added support for min to max level ranges for Layers in support of VirtualPlanetBuilder usage of this. 2007-12-20 15:51:13 +00:00
Robert Osfield
2c0842c7b7 Added an optional use of doubles for computing error metrics to help investigate precision issues seen in VPB when working with small segments of geographic data. 2007-12-20 15:50:07 +00:00
Robert Osfield
f8253ca4bd Reset the the _lineSpacing to 0.0f to fix the line spacing when word wrapping takes place 2007-12-20 15:40:14 +00:00
Robert Osfield
53be383843 From Wojciech Lewandowski, "By complete coincidence I just have read an old OSG submission mail related
to bugfixes in osg::Polytope.setToUnitFrustum and setToBoundingBox  It was
sent at beginning of december. I read it when purging my Thrash emails and
found it there this because it was wrongly classified as SPAM.

What stroke me in this email was the fact that there was once an error in
Polytope class. Since I adopted CustomPolytope (osgSim OverlayNode.cpp) for
my minimal shadow area computations I checked my code for this error. And I
found it in CustomPolytope::setToUnitFrustum method.
CustomPolytope::setToBoundingBox seemed OK.

So I went back to the origin and fixed this error in OverlayNode.cpp as
well. I have not tested it in OverlayNode though (I don't know how) so
please look at this carefully. But it seems to work fine with my shadow
calculations."
2007-12-20 14:40:28 +00:00
Robert Osfield
3ffe7de6a3 Reorder includes in an attempt to avoid compile problems under Cygwin. 2007-12-20 10:48:23 +00:00
Robert Osfield
9a2bc98d3a From Paul Obermeier, "Please find enclosed the following 2 bug fixes:
File osgShadow/Version.cpp, Line 25:

const char* osgShaodowGetLibraryName()

should be:

const char* osgShadowGetLibraryName()


File CMakeModules/OsgMacroUtils.cmake, Line 224:

SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})

should be:

SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")

Otherwise setting CMAKE_DEBUG_POSTFIX to an empty string instead of "d" in
the main CMakeLists.txt does not work under Linux.
"
2007-12-17 18:38:21 +00:00
Robert Osfield
49696d776a From Stephan Huber, "attached you'll find an updated carbon-implementation, which implements
the missing functionality for setWindowName and useCursor
"
2007-12-17 10:24:20 +00:00
Robert Osfield
e883663072 Updated wrappers 2007-12-17 10:22:41 +00:00
Robert Osfield
9507ee6c7d From Wojiech Leandowski, "I earlier wrote about my hassles with archives under Windows. I implemented
64 bit binary compatible OSGA archive reader/writer using mixed
stdio/iostream calls. But during this work I learned that it can be made in
much simpler way.

Attached is result of this new attempt. I hope its appropriate for inclusion
into OSG codebase. It was compiled and tested with latest SVN OSG, Windows
XP 32 bit and Windows Vista business 64 bit. OSG was built using VS 2005
Express SP1 for 32 bit environment and VS 2005 Std for 64 bit.
---
Solution description (there were two problems involved):
---
Problem 1: implicit conversions beetween file positions and 32 bit int. This
could be considered a MS compiler bug because this 32 bit int was
additionally implicitly converted to/from 64 bit. As far as I know compiler
is allowed to make only one implict conversion (but maybe this rule does not
refer to simple types).

Its actually possible to address OSGA files above 4 GiB range using 32 bit
windows iostreams. MS Iostreams in practice offer the same level of
functionality as stdio functions. There are functions fsetpos and fgetpos in
stdio lib which use 64 bit file pointers (fpos_t). These functions are
internally called by seekp( streampos ), seekg( streampos ), tellp(), and
tellg() methods. So its also possible to change and retrieve file postions
using iostream calls. But the problem lies in implicit handling of streampos
type.

streampos type is actually a template class used as seekp, seekg parameter
and returnd from tellp, tellg. Its capable of storing 64 bit file pointers.
But streampos can be also converted to/from simple type streamoff. It has
proper constructor and cast operator. In Win 32 environment streamoff is
defined as long (~32 bit int). So when seekp, and tellp arent used with
exact streampos objects but OSGA_Archive::pos_type complier makes implicit
casts to 32 bit int types loosing important bits of information.

So above problem could be easily handled by making conversion calls
explicit. My code defines 2 functions used to convert back and forth beetwen
64 bit OSGA_Archive::pos_type and std::streampos objects:

       OSGA_Archive::pos_type ARCHIVE_POS( const std::streampos & pos );
       std::streampos STREAM_POS( OSGA_Archive::pos_type & pos );

Rest of the OSGA implementation code was modified to call these conversions
explicitly with seekp, seekg, tellp, tellg.

---
Problem 2: seekp and seekg have two variants. Only one of these variants is
actually 64 bit proof.

When I solved my first problem and made use of explicit streampos conversion
functions, OSGA archive was able to read my example 11 GiB archive. But
there were still problems with write and append. I found that the reason for
this was pair of seekp( 0, std::ios_base::end ) and tellp() calls. It turned
out that use of seekp, seekg( offset, direction ) function variants was
setting file pos pointer to EOF when file was larger than 4GiB. But I
noticed that one arg seekp, seekg ( streampos ) versions worked correctly.
So the solution was to change OSGA write logic a little, and replace
seekp( offset, direction ) with seekp( absolute_pos ) calls.
I achieved this by modifing IndexBlock write method to record and restore
file pos after IndexBlock was written. This modification has the effect that
put pointer is generally kept at the end of file, so there is no need to
repostion to the end before writing the files. This allowed me to get rid of
those problematic seekp( 0, std::ios_base::end ) calls.

There was one place where I could not easily get rid of seekp( 0,
std::ios_base::end ). It was situation where existing OSGA was opened for
appending. I resolved this by computing file length by finding max position
from index block and file block endings. Then I replaced former seekp( 0,
std::ios_base::end ) with  seekp( STREAM_POS( found_file_length ).
---

Description of these changes may sound bit hacky but in practice these were
fairly simple and straightforward modifications. I hope they pass your
review. There is one complex preprocessor condition which I based on few
lines taken from boost positioning.hpp. Boost licence does allow such
reproduction. In case of problems this condition may be easily simplified to
windows only implementation.
"
2007-12-17 09:58:55 +00:00
Robert Osfield
3fcba1bc51 From Jean-Sebastien Guay, "Some clients at my new job noticed that picking did not work with the
osg::Capsule subclass of osg::Shape in an osg::ShapeDrawable. Other
shapes worked fine. So I have fixed this. Code attached.

My modification is in the PrimitiveShapeVisitor, and is based on the
DrawShapeVisitor - I added methods called createCylinderBody and
createHalfSphere, and used them in apply(Cylinder&) and
apply(Capsule&). In my testing they work fine, tested even with
transforms and moving around the scene.
"
2007-12-16 17:57:19 +00:00
Robert Osfield
6eaa273116 Added check to make set up a sequencegroup only happen when required. 2007-12-16 17:53:16 +00:00
Robert Osfield
1e996afe81 From Wojciech Lewandowski, "osgSim::BlinkSequence has sequenceGroup unitialized by default (=NULL ref_ptr). By looking at the code I figured out that unset sequenceGroup is completely correct and thus allowed.
But writing BlinkSequence with empty sequence group caused a crash when IVE was accessing baseTime from NULL address.
 
Atttached is a fix for this situation.
"
2007-12-16 17:46:57 +00:00
Robert Osfield
b76b85770f From Wojiech Lewandowski, "There was a bug in ShadowMap camera view matrix computation. View matrix was wrong when light was directional and shadowed scene was not centered at zero coord. I fixed that and also modified cast distance to much smaller value. With former range it was possible to generate shadows with lowest LODs. " 2007-12-16 17:41:46 +00:00
Robert Osfield
f1154f99bf Fixed HeightField coordinates set up 2007-12-16 17:33:05 +00:00
Robert Osfield
0cdc3e9506 Added intializers. 2007-12-16 17:01:40 +00:00
Robert Osfield
4a79644810 Added support for automatically setting the coordinate system of a shapefile by reading associate .prj file 2007-12-16 16:18:58 +00:00
Robert Osfield
e29423bba9 Removed used of ref_ptr<>'s internally to avoid ciricular calls on destruction. 2007-12-16 13:20:38 +00:00
Robert Osfield
becf6c22ea Added initilizers of variables to FreeTypeFont3D constructors.
Removed unused FreeTypeFontBase class
2007-12-16 12:36:52 +00:00
Robert Osfield
32e43cb789 Fixed handling of DISPLAY variable, and mapped the rest of Producer config settings 2007-12-15 17:16:11 +00:00
Robert Osfield
6d945df96d Commented out rendendent warnings 2007-12-15 17:15:19 +00:00
Robert Osfield
43611a6ff5 commented out rendudent warning 2007-12-15 17:15:05 +00:00
Robert Osfield
8b21b87d96 Added setting of ambient bias uniform 2007-12-15 15:22:00 +00:00
Robert Osfield
2ab66d9948 Tweaked the abmient lighting contribution so that the OpenGL vertex lighting has
the ambient light source switched off, and use the fragment shader to add this
contribution back in.
2007-12-15 15:17:51 +00:00
Robert Osfield
9f63b89e6a Refectored the loading of Locator out into its own separate file 2007-12-14 17:40:11 +00:00
Robert Osfield
f7e91fa28e Added Locator::s/getTransformScaledByResolution(bool) to assist with VPB integration 2007-12-13 17:51:43 +00:00
Robert Osfield
3bfa74222b Warning fixes 2007-12-13 16:06:02 +00:00
Robert Osfield
831dc38166 From Andy Skinner, build fixes for Solaris 2007-12-13 15:24:42 +00:00
Robert Osfield
492e01d244 Convert tabs to four spaces 2007-12-13 15:23:21 +00:00
Robert Osfield
0dc71306e7 Fixed memory leak 2007-12-13 14:26:03 +00:00
Robert Osfield
1fbb0a8674 Updated the shapefile attribute IO so that its more streamlined. 2007-12-13 14:16:51 +00:00
Robert Osfield
b6f32a3ed0 Added copy operator to ShapeAttribute to prevent problems when assigned them or use within a vector 2007-12-13 12:30:31 +00:00
Robert Osfield
6cca3b8f49 Added a osgViewer::setSceneData(ref_ptr<Node>) method. 2007-12-12 17:59:06 +00:00
Robert Osfield
213a370c25 Added new setFont(ref_ptr<>) variants to Text and Text3D 2007-12-12 17:48:20 +00:00
Robert Osfield
256391c3b4 From Serge Lages, introduce readRef*File() methods which pass back ref_ptr<> rather than C pointers. 2007-12-12 17:04:48 +00:00
Robert Osfield
88f3a864ac Updated copyright notices 2007-12-12 16:56:28 +00:00
Robert Osfield
6bb7935dea From Andy Skinner, build fixes for Solaris. 2007-12-12 16:55:13 +00:00
Robert Osfield
6eaace8f6e Added std:: infront of sort call 2007-12-12 11:57:03 +00:00
Robert Osfield
afdd141d73 Added std:: in front of find enties 2007-12-12 10:35:47 +00:00
Robert Osfield
33e3054fca From Serge Lages, "Here is a new modification to CMake adding an option (OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) to specify if we want to generate or not the manifest files under VS8 for the plugins and the wrappers. It seems that the manifests are needed if we try to load dynamically a core OSG dll." 2007-12-12 09:48:39 +00:00
Robert Osfield
a0d70bbf03 From Cyril Brulebois, removed redundent typedef. 2007-12-11 17:19:40 +00:00
Robert Osfield
4ab22a405b Updated wrappers 2007-12-11 17:01:53 +00:00
Robert Osfield
32e520d5a1 From Brede Johnansen, support for continuation records. 2007-12-11 16:42:10 +00:00
Robert Osfield
be5f709bdb From Mike Garrity, "There was an on again/off again thread on OSG users about
creating subclasses of osg::Array that referenced data
stored an application's internal data structures. I took
a stab at implementing that and ran into a couple of
downcasts in Geometry.cpp. Enclosed is my take at fixing
those along with a simple example of how to do this."
2007-12-11 15:55:02 +00:00
Robert Osfield
669e86145c Added missing copyright notices 2007-12-11 14:48:51 +00:00
Robert Osfield
f779c3a71a From Mathias Froehlich, "Attached is a change to the PBuffer initialsation code that checks for the GLX
version before issuing commands that require GLX-1.3.

This prevents a crash with open source drivers on linux.
"
2007-12-11 14:39:15 +00:00
Robert Osfield
8062406d54 From Roger James, "The changes are as follows:-
1. DAE object no longer held onto by plugin.
2. Filename to URI conversion now handled internally by plugin.
2. User can supply an external DAE object for use by the plugin.
3. User can supply a std:string object for the plugin to return the URI of
the document just processed.
4. User can supply a std::string to receive the unit name information from
the document just read in. (e.g. meters, inches, etc.)
5. User can supply a float to receive the metric conversion factor from the
document just read in.
6. User can supply an enum to receive the up axis orientation information
from the document just read in.
7. Material transparency can be both read and written.
8. User can supply an experimental GoogleMode option on output. The plugin
will try to emulate the way Sketchup specifies transparency (i.e. the
inverse of what it should be!). I am still struggling to get GE to
understand transparency, anyone know what it expects?
9. Rudimentary support for Collada effect parameters (newparam, setparam,
param) on input. Basic nVidia FX Composer dae documents can now be read.

"
2007-12-11 14:06:45 +00:00
Robert Osfield
3341c42873 Updated wrappers 2007-12-11 12:35:10 +00:00
Robert Osfield
640999dea6 From Tim More, "This submission tries to optimize redundant compilation of StateSets and Drawables
in the DatabasePager. The practical effects of these are to greatly reduce startup time
and the time to load an individual scenery tile in FlightGear.

- From my log message:

   Minimize the number of StateSets and drawables that are compiled by checking
   if they have already been compiled or will be elminated by the
   SharedStateManager.

   Move the sorting of the dataToCompile queue out of compileGLObjects
   into the man pager run function.

   Change the SharedStateManager to use maps instead of vectors."
2007-12-11 12:32:31 +00:00
Robert Osfield
42723fec8f From Joseph Steel, "he change is to initializeExtensionProcs() to
verify the version of the OpenGL implementation before attempting to get the
MaxTextureCoords parameter."
2007-12-11 11:57:32 +00:00
Robert Osfield
880682f138 From Mathias Froelich, "I have cleaned up the state set handling of the osg::ClipNode.
Previously the complete StateSet was cleared, even the non clipping releted
state attributes and modes in this stateset on a call to
setLocalSetateSetModes.
With this change only those modes/attributes are changed that need to be
changed. That is, if a clip plane is removed from the ClipNode, only this
assiciated mode is removed from the state set, instead of throwing away the
whole state set.

In this way we have less surprising results if the state set of a clip node is
used for more state than just the clip state.
"
2007-12-11 11:55:15 +00:00
Robert Osfield
298e07fc72 From Mathias Froechlich, "I have extended the StateSet api with a
StateSet::removeAssociatedModes(const StateAttribute*)

and a

StateSet::removeAssociatedTextureModes(unsigned, const StateAttribute*)

call. These funktions are just missing for a complete api IMO."
2007-12-11 11:42:02 +00:00
Robert Osfield
4e5ce63c85 From Per Fahlberg, "Attached is a fix allowing removal of shaders from a program after it is
first compiled. It will also allow new shaders to be attached after the
program is first compiled."
2007-12-11 11:21:13 +00:00
Robert Osfield
62bba8e52b From Sherman Wilcox, "In ESRIShapeParser.cpp, wasn't closing the file handle. Added:
if(fd)
   {
     close(fd);
     fd = 0;
   }


to the constructor."
2007-12-10 20:56:26 +00:00
Robert Osfield
aa24c273c7 Updated wrappers 2007-12-10 20:35:50 +00:00
Robert Osfield
c43606e3fe From Richard Schmidt, fix on ordering to be standard OpenGL way. 2007-12-10 20:33:22 +00:00
Robert Osfield
c5704586f9 From Richard Schmidt, "attached you will find a set of small fixes and features.
CullVisitor/SceneView:

*Feature: This version supports multiple clearnodes in the graph, one per renderstage.

 

Text:

*Feature: Performance Enhancement when calling SetBackdropColor

 

Material:

*Fix: OpenGL calls are now made according to the OpenGL Standard

"
2007-12-10 20:30:05 +00:00
Robert Osfield
9d260213f7 From Ulrich Hertlein, "attached are some fixes and tweaks I made to the .obj loader:
- Material class contained both 'shininess' and 'Ns' member variables
- 'Ns' and 'Ni' are initialized to 0 ('Ni' is unused at the moment)
- only 'Ns' was read from .mtl file but 'shininess' was used for osg::Material
- 'illum' was read from .mtl file but never used; it is now used as follows
-- illum==0 -> no osg::Material created/attached therefore no lighting
-- illum==1 -> osg::Material specular is set to black
-- illum==2 (default) -> specular read from .mtl file is used
- 'map_Kd' and 'map_Ks' may contain additional arguments (e.g. '-s 1 1 1'),
these are now skipped over and the texture filename is properly extracted
"
2007-12-10 20:27:06 +00:00
Robert Osfield
d0cc647986 From David Callu, IO support for Text3D 2007-12-10 19:51:33 +00:00
Robert Osfield
f4afa427a7 From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
Robert Osfield
1dcb6cc4fd Updated wrappers 2007-12-10 16:21:13 +00:00
Robert Osfield
f69a48e552 From David Callu, added support of 3D text to osgText and associated plugins. 2007-12-10 15:15:56 +00:00
Robert Osfield
9b56dbe83a From David Callu, added support for automatically reading associate dbase files 2007-12-10 12:45:16 +00:00
Robert Osfield
13ff9f28d5 Char char[] to char* with new allocation. 2007-12-10 12:00:09 +00:00
Robert Osfield
695df58bc9 Refactored record allocation to fix build errors under Windows. 2007-12-10 11:34:00 +00:00
Robert Osfield
0c4648e027 Added include<string.h> to fix compile errors under gcc 4.3 2007-12-10 10:16:13 +00:00
Robert Osfield
8648cd12ea From Gustavo Wagner, fixed bugs in reading M records from shapefile 2007-12-09 16:38:33 +00:00
Robert Osfield
e2ad20a887 From Gino van den Bergen, "I've added the following features to the OSG VRML plugin:
* Support for Box, Sphere, Cone, and Cylinder. These nodes are converted
to osg::Geometry conform the VRML97 spec.
* Backface culling is enabled/disabled according to the "solid" flag for
geometries that are converted from IndexFaceSets.
* PROTO instances can now be used for "appearance" and "geometry" fields
in a Shape node.

The file ReaderWriterVRML2.cpp is adapted for the latest stable public
release:

http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.2.0

The changes where needed for being able to read VRML file which are
output by VMD (http://www.ks.uiuc.edu/Research/vmd/). A sample VRML file
is enclosed in this submission.

The plugin has been tested against a number of VRML samples that include
texturing. The texturing is found to be VRML97 compliant for all added
geometry nodes.
"
2007-12-09 16:29:18 +00:00
Robert Osfield
457d3fd7e4 Removed redundent OpenFlightOptimizer 2007-12-09 16:23:19 +00:00
Robert Osfield
df2f9f5f7c From Ralf Karn, fixed "invalid enumerant" warning on TEXTURE_2D_ARRAY_EXT initialization 2007-12-09 16:14:07 +00:00
Robert Osfield
6ff9810be1 From Mihai Radu, "After someone asked for a fix for non-textured object appearing black
with the shader for textured objects. This works very well in cases
where there could be a mix of textured and non-textured objects in the
scene, and it makes the initialization more robust.
The idea is from PSSM, to add a 1pixel texture to the main rendering  as
to provide white for any objects missing textures."
2007-12-09 16:06:14 +00:00
Robert Osfield
2be3992a2f Updated wrappers 2007-12-09 16:01:29 +00:00
Robert Osfield
78c1fd4844 From David Callu, added DBase attribute support for shapefiles 2007-12-09 15:43:49 +00:00
Robert Osfield
5e6bab7de1 Updated wrappers 2007-12-09 14:54:02 +00:00
Robert Osfield
a45d7fdee4 From Aderian Egli, changed the window dimension clamping code to work independantly for width and height. 2007-12-09 12:19:06 +00:00
Robert Osfield
a0c2349438 From Mario Guimaraes, "Currently, in the StateSet::merge method, the rhs state attributes and
modes are not merged into the lhs state when the rhs is PROTECTED. The
changes I'm providing here address this problem."
2007-12-08 17:10:07 +00:00
Robert Osfield
fb65fc5e0a From Serge Lages, "Hi Robert,
You were right about the CMAKE_MODULE_LINKER_FLAGS option for CMake, so here is a modification allowing to not generate the manifest files for the plugins making them a lot more easy to redistribute. I have also made the same modification to the wrappers as they are also put into the osgPlugin folder when generated.
"
2007-12-08 17:04:52 +00:00
Robert Osfield
2d4ef642e6 from Paul Matz, "Understood. Well, I think it's reasonable to assume that the non-env var
case is the more tested case, and therefore it is correct to set
_supportsVertexBufferObjects to the same value as _fastPath. So here's a
change that does the same thing for the env var case."
2007-12-08 17:00:38 +00:00
Robert Osfield
f2d59416aa From Jeremy Moles, Anders Backman and Robert Osfield,
both Jeremy and Anders added static build support as an option, but one was
for Unix and one for Windowsm, but the two mods were also inconsitent in naming
and implementation.  I have had a bash at merging them both, but don't know yet
if these changes will work yet on either configuration... user testing will tell...
2007-12-08 16:52:27 +00:00
Robert Osfield
65bef96a6e From Peter Hrenka, "Due to popular demand I would like to submit this
enhanced version of PolytopeIntersector.


New features of PolytopeIntersector :

* Dimension mask: The user may specify the dimensions of the
   primitives to be tested. Checking polytope-triangle and
   polytope-quad intersections is rather slow so this can
   be turned off.
* Reference plane: The resulting intersections are sorted
   by the distance to this plane.

New memebers of PolytopeIntersector::Intersection :

* distance: Distance of localIntersectionPoint to the reference plane
* maxDistance: Maximum distance of all intersectionPoints to the
   reference plane.
* intersectionPoints: The points intersecting the planes of the polytope
   or points completely inside the polytope.
* localIntersectionPoint: arithmetic mean of all intersection points
* primitiveIndex: Index of the primitive that intersected


I added some more output to the example osgkeyboardmouse."
2007-12-08 16:37:05 +00:00
Robert Osfield
e7fbacc3b6 From Daniel Larimer, "There was a error with QTUtils.h when compiling on HFS case-sensitive
file system.  The #include<Quicktime/Quicktime.h> line needs to be
replaced with #include<QuickTime/QuickTime.h"
2007-12-08 15:32:16 +00:00
Robert Osfield
5fe9da12c9 From Neil Hughes, "Please find attached a replacement for the 3DS pluggin's ReaderWriter3DS.cpp file. This contains a minor fix (one line added) to ensure that the OSG Material structure is given the name of the material definition within a loaded 3DS file.
"
2007-12-08 15:27:29 +00:00
Robert Osfield
cdb9a0baec From Donald Cipperly, Fixed memory leak in computeIntersections 2007-12-08 15:08:32 +00:00
Robert Osfield
13e8af6305 From Robert Osfield and Richard Schmidt, made fixes inspired by an original submission from Richard which
highlighted problems with Light, ClipPlane and Hint usage in osg::State's usage of cloneType
and reassignment of target/num in StateSet/these StateAttributes.
2007-12-08 13:29:31 +00:00
Robert Osfield
ede9b4ff6b From David Callu, added IO_FluidProgram implementation. 2007-12-08 12:12:05 +00:00
Robert Osfield
71f71f18b6 Added an #include<assert.h> to avoid compile problems on some systems. 2007-12-07 13:42:14 +00:00
Robert Osfield
ab7043ea45 From Tony Horrobin, "Attached is a small fix for the openflight loader with regard to road
segment and construction records.

It just uses the id field to set the name of the osg node as with other
types."
2007-12-07 13:28:02 +00:00
Robert Osfield
4c217b0d1c From Paul Martz, minor typo fixes in notify messages 2007-12-07 13:19:53 +00:00
Robert Osfield
5906e0861c From Farshid Lashkari, "The bmp writer crashes in certain cases. It happens when the computed
size of the image data is greater than the actual image size. This
causes the memcpy call to go out of the array bounds. I modified the
code so that it copies the data during the iteration, instead of
memcpy'ing. This fixes the problems i was having.

If you are curious, the writer was crashing when trying to write an
RGB image that was 2050 x 1280. You might be able to reproduce it by
allocating an empty image of that size and writing it to a file."
2007-12-06 17:44:56 +00:00
Robert Osfield
c07598dc39 From Hautio Jari, "Current version of GraphicsWindowWin32 allows resize to zero height
window. This breaks rendering in for example MFC SDI applications and in
MFC MDI applications if user resizes the window so that client area has
zero height. Current safeguard for minimized window:

LRESULT GraphicsWindowWin32::handleNativeWindowingEvent( HWND hwnd, UINT
uMsg, WPARAM wParam, LPARAM lParam )
...
       /////////////////
       case WM_MOVE    :
       case WM_SIZE    :
       /////////////////
...
               if (clientRect.bottom==0 && clientRect.right==0)
...

does not cover this situation. In these situations clientRect.bottom = 0
and clientRect.right > 0.

Quick fix to this is relax condition:
               if (clientRect.bottom==0 || clientRect.right==0)

Modified file is attached.

Tested with osgviewerMFC from 2.2.0 release (Windows XP sp2)

Before fix:
 - execute from command line osgviewerMFC.exe cow.osg.
 - the cow is rendered nicely.
 - resize window to zero height by dragging from bottom border upwards.
 - resize window back to original height
 - just blue screen, no cow

After fix:
 - execute from command line osgviewerMFC.exe cow.osg.
 - the cow is rendered nicely.
 - resize window to zero height by dragging from bottom border upwards.
 - resize window back to original height
 - the cow is where it is supposed to be.
"
2007-12-06 17:41:20 +00:00
Robert Osfield
b7881943d4 From Serge Lages, "Here are some modifications to the DatabasePager, with the possibility to :
- Get or set the target number of PagedLOD children to remove per frame.
- Get or set the minimum number of inactive PagedLOD to keep.

Corresponding environment variables have been added too.
The default values reproduce the previous DatabasePager behavior."
2007-12-06 17:31:00 +00:00
Robert Osfield
6c09a22957 From Cedric Pinson, fixes for toggle fullscreen on gnome desktop 2007-12-06 17:28:29 +00:00
Robert Osfield
49db32ca3f From Mathias Froehlich, "Add missing includes. Fails on hp-ux." 2007-12-06 17:03:47 +00:00
Robert Osfield
6e095c4e60 From Wojiech Leandowski, fixed the hardwiring of archive extensions to 4 charaters 2007-12-06 16:50:43 +00:00
Robert Osfield
8954309c07 Fixed crash in cfg by rearranging the code blocks so the codes that use the graphics context are only called when a graphics context is successfully aquired. 2007-12-06 10:04:25 +00:00
Robert Osfield
abe647fdaa From Ulrich Hertlein, added osgViewer dependency for OSX build 2007-12-06 09:22:41 +00:00
Robert Osfield
9fbec36508 Changed WIN32 guard to _WIN32_IMPLEMENTATION to attempt to avoid Win32 build error 2007-12-05 18:32:15 +00:00
Robert Osfield
0bfdc78f52 Removed debugging line. 2007-12-05 11:29:58 +00:00
Robert Osfield
b164c5e7a6 From Cedric Pinson, first cut at Producer .cfg camera configuration file support. 2007-12-05 11:23:27 +00:00
Robert Osfield
1b1c5bbdd1 Added support for new double Vec*Array classes in various functors. 2007-12-04 14:46:46 +00:00
Robert Osfield
8a4caa0a59 Added optional double support via new Vec3dArray support in osg::Geometry.
To enable double usage set the option string "double" i.e.

  osgviewer myshapefile.shf -O "double"
2007-12-04 14:46:08 +00:00
Robert Osfield
2e821b77a2 Added support for double Vec*Array objects 2007-12-04 14:44:49 +00:00
Robert Osfield
a909a62b85 Added double Vec*Array support 2007-12-04 14:44:21 +00:00
Robert Osfield
da9b845558 Added a check against the makeCurrent() return type to make sure that OpenGL
calls are only made if the makeCurrent() is successful.
2007-11-21 10:18:10 +00:00
Robert Osfield
592d0dfc5b Added support for filename only setup of CompositeLayer on reading/writing. 2007-11-13 17:03:36 +00:00
Robert Osfield
94c57ecff5 From Colin Dunlop, added missing header (note from Robert Osfield, this submission was extracted from an inline submission so may be prone to errors). 2007-11-08 10:30:23 +00:00
Robert Osfield
043ed14ba9 From Colin Dunlop, add live video stream support 2007-11-06 12:07:23 +00:00
Robert Osfield
2e2ddba49e Added support for setting volume in xine plugin, manual adjustment of volume
in osgmove example, and clamping to 0 to 1.0 range in quicktime plugin
2007-11-04 16:08:05 +00:00
Robert Osfield
6f47d924d6 Changed the include definition so that it works under Cygwin. 2007-11-04 15:21:48 +00:00
Robert Osfield
6ad176042c Fixed bug in addSlave 2007-11-03 10:32:18 +00:00
Robert Osfield
b7a26ae56a Changed the spherical display intensity map set up to use colours rather than
a second texture unit.
2007-10-31 12:55:59 +00:00
Robert Osfield
316b36fab7 Added getColor method to allow easy reading of individual pixels. 2007-10-31 12:55:15 +00:00
Robert Osfield
c761efb371 Fixed wrap mode for panoramic display. 2007-10-31 11:06:33 +00:00
Robert Osfield
072cd1df8f Changed debug message from NOTICE to INFO. 2007-10-30 14:17:34 +00:00
Robert Osfield
3dced3445f Fixed the capitilization of the osgdb_osgfx plugin 2007-10-25 09:00:25 +00:00
Robert Osfield
8b46a624c2 Fixed errors is setup of VBO/EBO's. 2007-10-19 09:58:11 +00:00
Robert Osfield
cc2a0290a4 Fix for setting scene data after slaves have been added. 2007-10-19 08:42:44 +00:00
Robert Osfield
60052a0488 Fixed getOrCreateVertexBufferObject(). 2007-10-19 08:39:07 +00:00
Robert Osfield
aaceb957bc Removed redundent X11/Intrinsic include 2007-10-17 19:01:18 +00:00
Robert Osfield
791035c4e6 Added flv to accepted list video format for the quicktime and xine-lib plugins 2007-10-16 19:04:10 +00:00
Robert Osfield
ef4198dff5 Added flv to accepted list of formats 2007-10-16 19:03:43 +00:00
Robert Osfield
57f961ff2e Added flv to the list of accepted movie types 2007-10-16 19:01:25 +00:00
Robert Osfield
a5f37a23e2 From Andy Skinner, build fixes for Solaris. 2007-10-05 09:10:04 +00:00
Robert Osfield
b62716d679 Added asView() method to GUIActionAdapter to help out with .NET wrappers. Updated wrappers 2007-10-04 11:20:18 +00:00
Robert Osfield
a7c67fe287 From Trajce Nikolov, added support for extract a region for geospatial imagery 2007-10-04 08:54:41 +00:00
Robert Osfield
cf5f000ea1 From Panagiotis Papadakos, "Setting the maximum height of osgText doen't seem to work. If the text is
big enough, it exceeds the height that I gave as input to
setMaximumHeight. So check if cursor is out of -_maximumHeight."
2007-10-03 23:03:13 +00:00
Robert Osfield
38542c3986 Removed double return error 2007-10-03 19:54:30 +00:00
Robert Osfield
b3ecb8f38f From Mahai Radu, improvements to handling of spotlights 2007-10-03 12:48:23 +00:00
Robert Osfield
c40f395e22 Refactored the plugin and library naming to fix Cygwin plugin loaded issues. 2007-10-03 12:04:47 +00:00
Robert Osfield
e928efc7a4 From Alberto Luaces, build fix for Cygwin. 2007-10-03 10:36:59 +00:00
Robert Osfield
90eaf41007 Added return 0 to fix warning 2007-10-03 08:34:51 +00:00
Robert Osfield
f0da77042a Updated wrappers 2007-10-02 21:45:55 +00:00
Robert Osfield
1dc06b4553 From Mihair Radu, "Most of the additions are small utility methods:
- set the resolution of the shadow map; it calls dirty() to
re-initialize at next update
- keep a list of Shader objects to use instead of the default ones, if
the list is empty, the default shaders are used
- explicitly create the Uniform variables, so that subsequent additions
that require more Uniforms can put them in a central place
- set a Light or LightSource to use explicitly for shadow casting,
allows multiple lights in the scene, with one casting shadows

There are two additions that do not ( yet ) function correctly, but in
the present usage they do not interfere with the regular usage of the
techique:
- support for using spotlights, it's using Light.spotCutoff to determine
if it's a spot-light and not point-light,
   there is an error in the setup of either the shadow camera or the
texgen, most likely due to the direction of the spotlight, since the
position is being used just like in point or directional lights.
- creation of a debugHUD
   the hud is created properly, ( the example included shows it ), but
it displays only white, there has been some discussion of displaying the
shadow map, but I could not find it, the addition of a simple fragment
shader with the appropriate color transform should get this going."
2007-10-02 21:45:09 +00:00
Robert Osfield
3b3776df85 Updated wrappers 2007-10-02 21:28:27 +00:00
Robert Osfield
55d5a4d28a Introduced a OSG_PLUGIN_PREFIX variable into CMake build system with it set to
"" for all platforms except Cygwin where its set to "cygwin_" and Mingw where
it is set to "mingw_".  Updated osgDB::Registry to look for these for the plugins.
Updated the osgintrospection example to search for these names as well.
2007-10-02 21:26:22 +00:00
Robert Osfield
caeed02f52 Merged the threading set up and rendering code from Viewer and CompositeViewer
into ViewerBase to allow CompositeViewer to inherit the same theading models
previously just supported by osgViewer::Viewer
2007-10-02 21:23:58 +00:00
Robert Osfield
ce79b7efd5 Added a #ifdef 0 code block to test setting of the StateSetManipulator's DataVariance to DYNAMIC
to solve a threading issue relating to mixing of StateSetManipulator and
DrawThreadPerContext.
2007-10-02 20:55:33 +00:00
Robert Osfield
e3e4f6614c Removed redundent malloc. 2007-10-01 15:11:54 +00:00
Robert Osfield
65e3591ed2 From David Callu, various fixes for window inheritance 2007-10-01 11:02:02 +00:00
Robert Osfield
65ac804b7d Changed requestWarpPointer to use _eventDislay to avoid crash in osghanglide example due
to async usage.
2007-10-01 09:41:05 +00:00
Robert Osfield
7086aeeebc Removed log2 and replaced the places where is was used with a new Image::computeNumberOfMipmapLevels method. 2007-10-01 08:50:58 +00:00
Robert Osfield
c6fcb62ab1 Updated wrappers 2007-09-30 19:56:46 +00:00
Robert Osfield
38d33c7685 From Paul Martz, "here's the osgDB::Registry changes to add Options to the read*File() interface. As we discussed, this preserves the old interface for backwards compatibility.
osgconv also changed to use the new Registry::writeNode() interface. No other applications or examples were affected."
2007-09-30 19:53:02 +00:00
Robert Osfield
e55a992767 Updated wrappers 2007-09-30 19:39:36 +00:00
Robert Osfield
48f19b72bd Added support for CompositeViewer to WindowSizeHandler, ThreadingHandler, RecordCameraPathManipulator and HelpHandler. 2007-09-30 19:27:31 +00:00
Robert Osfield
4cf73d4c87 Changed HelpHandler so it supports use with CompositeViewer and Viewer 2007-09-30 19:15:32 +00:00
Robert Osfield
a5ed021066 Added hdwriter to CMake build 2007-09-30 18:43:42 +00:00
Robert Osfield
3c0e3af233 From David Spilling, "Please find attached an extension of the Radiance HDR (RGBE) image reader to support writing.
The options are intended to match the existing read options. By default it will only write RGB32F format; if the "RAW" option is selected, it will output 8 bit RGBA as "raw" RGBE. Note also that the writer inserts a flipVertical(); although the RGBE format, according to spec, should support top-to-bottom or bottom-to-top ordering, no software I've found, including that from the formats originator, actually respects this."
2007-09-30 18:42:20 +00:00
Robert Osfield
8907919fce From Jan Peciva, "I am submitting improved Inventor (iv) writer.
List of changes:
- added support for Billboards and LOD
- improved Material handling
"
2007-09-30 18:33:57 +00:00
Robert Osfield
7ca2f597e6 Updated wrappers 2007-09-30 15:24:43 +00:00
Robert Osfield
e99f94c5aa Updated wrappers 2007-09-30 15:07:17 +00:00
Robert Osfield
40ded29902 From Dan Minor, "osgText::Text does not currently have a getAxisAlignment method. The
attached code adds this, along with a member variable to keep track of
the setting.  It is based on the latest subversion version, and was
tested by creating a new text object with the same axis alignment as an
existing one (e.g.
new_text->setAxisAlignment(old_text->getAxisAlignment()); )."

From Robert Osfield, " I originally didn't add a getAxisAlignment()
as all setAxisAlignment does is set the Rotation member variable, and
potentially one could apply user defined Rotation setting after the
setAxisAlignment() which would bring it out of sync with the
setAxisAlignment.

Rather than reject your submission on the ground of potentially
getting out of sync and therefore misleading users I've added a
USED_DEFINED_ROTATION to AxisAlignment enum, and set this in the
serRotation and then override this setting of _axisAlignment in the
setAxisAlingment method.  I've also removed the lazy updating
optimization you've added to the top of setAxisAlignment to avoid
potential problems as well."
2007-09-30 15:06:59 +00:00
Robert Osfield
91900254f0 Moved ViewerBase class out into its own header and source file.
Improved the support for stats collection in CompositeViewer/StatsHandler.
2007-09-30 11:37:00 +00:00
Robert Osfield
f8729af8b2 Refactor Viewer/CompositeViewer so the both inherit from the a ViewerBase class 2007-09-29 16:46:08 +00:00
Robert Osfield
4ef1864432 From Stephan Huber, add basic support for CompositeViewer in StatsHandler 2007-09-29 11:41:57 +00:00
Robert Osfield
41ce67600e From Mattias Linde, "Nice, this almost gets the job done, one way communication into the plugin is possible.
I've done some additional small modification regarding constness in ReaderWriter and added
mutable on _pluginData so passing data back would be possible too.

Have updated the collada plugin (ReaderWriterDAE.cpp) to use the map to handle options and
have attached the changes.

The stuff in daeReader.h and daeWriter.h are just cosmetic changes to get rid of a warning."
2007-09-29 11:12:38 +00:00
Robert Osfield
7679b96b30 Fixed SphericalDisplay set up codes to properly manage display host/num 2007-09-28 13:42:41 +00:00
Robert Osfield
6eccf540e6 From Mathias Froehlich, "I had a chance to look into the remote display problems.
The screen resolution was queried for the wrong display."
2007-09-28 13:38:32 +00:00
Robert Osfield
1df542c119 Andre Garneau, three fixes in one submissions:
"This is a fix for the issue reported by Anders a week ago (see \u201c[osg-users] BUG?: mouse coordinate changes after window move\u201d discussion thread on Sept. 20). The issue was that the initial implementation added a few months back was not converting the window coordinates to client-area coordinates resulting in a slight offset each time a decorated window was moved (caused by the window border). This was also causing windows to move out of their assigned screen."

and

"Attached is a fix for the taskbar repaint issue that occurs when a graphics window is toggled from full-screen mode to windowed mode (as identified by Gert van Maren a couple of weeks ago).
Also included is a fix derived from the \u201cEvents from the past\u201d discussion thread that took place on July 11."
2007-09-28 08:53:34 +00:00
Robert Osfield
6df0110d0c From Adrian Egli, "update the PSSM, i did some bug fixes and added new features to move the camera virtual against the view direction by applaying a simple distance factor (a), which is calculated camera eye - camera center distance. and we can move the "light camera" against the light direction (b).
(a) some objects behind the camera can cast shadow
(b) object aboive the camera can cast shadow

then i fixed the shadow map orientation, now screen x coordinate alinged which improve the quality"
2007-09-27 12:47:34 +00:00
Robert Osfield
63789c81b9 From Mathias Froehlich, compile fix for HP-UX without large file support 2007-09-27 12:15:39 +00:00
Robert Osfield
b23316838a From Mathias Froehlich, "Some more file that needs some adjustment because of missing member templates
in suns stl."
2007-09-27 10:47:15 +00:00
Robert Osfield
5e504026a5 Changed copy constrcutor to a default constrcutor and std::copy to avoid
problems with dodge Sun compiler.
2007-09-27 10:42:56 +00:00
Robert Osfield
308bb5a797 Added support for selecting internal texture format via the internalFormat <numbits> entry in the .osg file 2007-09-27 10:22:09 +00:00
Robert Osfield
5c007029ae From Jean-Sebastien Guay, "Attached you will find an expanded FindOpenVRML.cmake file, as well as a fixed CMakeLists.txt file for the VRML plugin ." 2007-09-26 14:44:22 +00:00
Robert Osfield
af498b6e1f Updated wrappers 2007-09-26 14:31:10 +00:00
Robert Osfield
2640fd1456 Added IntensityMap reading in .view files 2007-09-26 14:02:40 +00:00
Robert Osfield
dcd7fd837f Tweaked the wrapping of osgViewer::Scene to fix build problems 2007-09-26 11:32:51 +00:00
Robert Osfield
bfbc73785a From Stephan Huber, "attached you'll find a first implementation for the obj-plugin to write
obj-files. It is not feature complete but usable.

Known issues:
* not all materials are handled correctly (especially when using
osg::StateAttribute::OVERRIDE), not all properties are supported
* could not test point and lines, all of my programs which are capable
to read obj-files only import triangle-meshes.
* only simple texture-handling"
2007-09-26 10:58:29 +00:00
Robert Osfield
1e9b4f7855 Added suprression of the reflection of osgViewer::Scene to avoid build
issues associated with the class.
2007-09-26 10:46:30 +00:00
Robert Osfield
92092d6996 Updated wrappers 2007-09-26 09:59:59 +00:00
Robert Osfield
18ad07160d From David Callu, adding support for GraphicsWindowX11 window inhertance and
setWindowName() method.
2007-09-26 09:50:32 +00:00
Robert Osfield
d743eb2d95 Added support for intensityMap and fix naming of --panoramic-sd and --3d-sd command line arguments 2007-09-25 19:14:29 +00:00
Robert Osfield
e725f30d81 Updated wrappers 2007-09-24 16:25:55 +00:00
Robert Osfield
d11d5b819a From Adrian Egli, further work on PSSM implementation. 2007-09-24 15:24:23 +00:00
Robert Osfield
9f3783929a Changed iterator name to avoid warning 2007-09-24 10:31:35 +00:00
Robert Osfield
0726624a86 From Jose Delport: "have been using the new VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY mode
of the OverlayNode.

I change the overlay subgraph dynamically and when I remove all the
subgraph nodes that is inside the current main camera FOV (others
outside still exist), the overlay texture does not update because of the
early return in the traversal. I then get a kind of ghost texture moving
around the terrain.

The attached file fixed the problem for me, but I'm not sure if it is
the best way to address the problem."
2007-09-24 09:35:59 +00:00
Robert Osfield
bd68958877 From Art Tevs, "Following
two lines has to be included into the Image.cpp in the
computeNumComponents(...) method:

case(GL_RGBA16F_ARB): return 4;
case(GL_RGBA32F_ARB): return 4;"
2007-09-24 09:26:21 +00:00
Robert Osfield
54c579fcae Improved the handling of OSG_CONFIG_FILE support. 2007-09-22 17:39:15 +00:00
Robert Osfield
da70320707 From David Callu, added getOrCreateScene method, made contractors protected.
From Robert Osfield, made getOrCreateScene protected and made View a friend
of Scene to all it to construct Scene objects itself.
2007-09-22 16:50:45 +00:00
Robert Osfield
82b0f004e9 From Adrian Egli, update to ParallelSplitShadowMap. 2007-09-22 16:46:38 +00:00
Robert Osfield
5c36fbb18f From David Callu, added findSlaveIndexForCamera method 2007-09-21 19:43:06 +00:00
Robert Osfield
6630dcf15c Added return 2007-09-21 19:04:02 +00:00
Robert Osfield
3bfaee3654 Added support for basic viewer configuration files 2007-09-21 15:34:25 +00:00
Robert Osfield
ece7b57df2 Further steps towards reading coniguration files. 2007-09-21 13:30:33 +00:00
Robert Osfield
1e128aed1d Updated wrappers 2007-09-20 10:14:08 +00:00
Robert Osfield
55a9ea19d7 From Anders Backman, added bias and texture size methods.
From Robert Osfield, tweaks to the above for method parameters and indenting.
2007-09-20 10:12:58 +00:00
Robert Osfield
5fb9673382 Added supoort for OSG_WRITE_OUT_DEFAULT_VALUES env var 2007-09-19 16:53:40 +00:00
Robert Osfield
7ea3632dfc Added support for bool in ArgumentParser::Parameter.
Added support for using Input::read(...) methods using ArgumentParser::Paramter
to adapter to multiple paramter types.
2007-09-19 15:29:57 +00:00
Robert Osfield
cf69352873 From Adrian Egli, ParallelSplitShadowMap implmentation.
Changes by Robert Osfield - CMakeLists.txt and name change to ParallelSplitShadowMap.
2007-09-19 11:56:44 +00:00
Robert Osfield
1f7b27f851 Changed the simplifier so that it produces deterministic results, no longer
using memory pointers for sorting.
2007-09-19 10:14:52 +00:00
Robert Osfield
8bc8b6b5e9 Removed check for shaders/overlay_perspective_main.vert 2007-09-19 09:00:05 +00:00
Robert Osfield
c8fd1e4627 Commented out herror() as its not called anywhere in the code. 2007-09-18 16:00:21 +00:00
Robert Osfield
ae5883dd23 Fixed Locator::setTransform method so it takes a const Matrixd&, and improved
the setting of Locator in the gdal plugin.
2007-09-16 17:48:07 +00:00
Robert Osfield
41dc911166 Setting for new option for hinting whether to write out default values 2007-09-16 17:46:33 +00:00
Robert Osfield
c583dbe3c5 Fixed warning 2007-09-16 17:43:00 +00:00
Robert Osfield
e19f23021f Introduced the use of a ReentrantMutex to avoid problems with findFontFile. 2007-09-15 17:40:08 +00:00
Robert Osfield
e433762105 From David Spilling, "Given no replies to my recent "does anybody use the DDS writer" query, I was emboldened to submit this very small patch. The bitmasks for RGBA and RGB have been modified in the writer portion of the code (line 765 onwards). This is now consistent with what the DDS plugin reads. In terms of testing, note that many 3rd party applications erroneously ignore the bitmasks in the file, and assume a BGRA order." 2007-09-15 17:36:03 +00:00
Robert Osfield
8051c48e56 Updated wrappers 2007-09-14 11:26:23 +00:00
Robert Osfield
97b66b877d Updated wrappers 2007-09-14 11:02:06 +00:00
Robert Osfield
d5cc0e966f Introduce GUIEventHandler::handleWithCheckAgainstIgnoreHandledEventsMask() methods
to help make it easier to get event handles to ingore events that have already been handled.
2007-09-14 10:44:46 +00:00
Robert Osfield
d6e24c0dc2 Fix for build error during aggressive warning build 2007-09-13 11:00:12 +00:00
Robert Osfield
86ab5a2392 Fixed warning in wrappers 2007-09-13 10:42:26 +00:00
Robert Osfield
0b39152321 Fixed warnigns 2007-09-13 10:38:38 +00:00
Robert Osfield
c88bcc4506 Updated wrappers and READEME 2007-09-13 10:33:10 +00:00
Robert Osfield
5caf64e5c7 From Paul Martsz, changed the Texture clamping mode to CLAMP_TO_EDGE 2007-09-13 10:32:05 +00:00
Robert Osfield
eac9831723 Add static_cast to fix warning. 2007-09-13 10:21:18 +00:00
Robert Osfield
34af300957 Removed unncessary typedefs 2007-09-13 10:16:19 +00:00
Robert Osfield
0c5d6da793 Fixed warnings of casting void* by refactoring the type and extensiosn setup. 2007-09-13 10:15:48 +00:00
Robert Osfield
b2fe3d475b Fixed uint/int comparison warning. 2007-09-13 10:10:35 +00:00
Robert Osfield
0f135d6d35 Created two PixelBufferX11::closeImplementation() one the real implementation and
a second non op one for GLX <1.3.
2007-09-13 09:30:30 +00:00
Robert Osfield
45e98d5f18 Added preliminary handling of cases where GLX version < 1.3 2007-09-12 17:01:47 +00:00
Robert Osfield
23945bb506 Removed debug messages 2007-09-12 17:01:09 +00:00
Robert Osfield
0137047429 From Jan Peciva, build fix 2007-09-12 10:04:36 +00:00
Robert Osfield
041afdc303 Replaced allocateMipmap code with warning message as mipmaps aren't support for TextureRectangle. 2007-09-11 16:56:21 +00:00
Robert Osfield
66cc306f18 Removed the output num_children from Group .osg output and
removed the output of "DataVaraince UNSPECIFIED" as this is redundent
considering the default value is UNSPECIFIED.
2007-09-11 13:47:06 +00:00
Robert Osfield
9819217136 Updated wrappers 2007-09-11 13:42:23 +00:00
Robert Osfield
291d253161 From Mathias Froenlich, "have a problem with the SunOS CC.
It does not like that the prototype of ClipNode::setStateSetModes() differs
from implementation of that function in  the constness of the second
parameter.
On SunOS it compiles fine, but I get link errors when the variant that is
declared in the header is referenced.

The attached src/osg/ClipNode.cpp file removes the const qualifier from the
implementation to match exactly the prototype in the header file.
The file is based on revision 7386 as of today.
"
2007-09-11 13:39:55 +00:00
Robert Osfield
175c3ce806 From Art Trevs, "File Changes:
- GL2Extensions, Program and Program.cpp

Features:
- Support for fragment output binding. (e.g. You can now specify in the fragment shader varying out vec3 fragOut; fragOut = vec3(1,0,1); to write to the fragOut variable. In your program you call glBindFragDataLocation(program, 1, "fragOut") to bind the fragOut variable with the MRT 1 - GL_COLOR_ATTACHMENT1_EXT)

- new methods Program::add/removeBindFragDataLocation Program::getFragDataBindingList

"
2007-09-11 13:34:41 +00:00
Robert Osfield
884b3b7aa2 Seperated out GeometryTechnique .osg support. 2007-09-11 13:32:46 +00:00
Robert Osfield
c51e893ba4 Changed the isTextureIntegerSupported method so that it no longer has the EXT entry in it
for forward compatability reasons.
2007-09-11 12:28:03 +00:00
Robert Osfield
5e83ae4821 From Art Trevs, "Features of the patch are:
- Implementation of integer textures as in EXT_texture_integer

- setBorderColor(Vec4) changed to setBorderColor(Vec4d) to pass double values
as border color. (Probably we have to provide an overloading function to
still support Vec4f ?)

- new method Texture::getInternalFormatType() added. Gives information if the
internal format normalized, float, signed integer or unsigned integer. Can
help people to write better code ;-)

"

Futher changes to this submission by Robert Osfield, changed the dirty mipmap
flag into a buffer_value<> vector to ensure safe handling of multiple contexts.
2007-09-11 12:04:58 +00:00
Robert Osfield
98763cc4c5 From Rafa Giatan, "Changed int to GLsizei in the input parameter of the method
osg::Texture2DArray::applyTexImage2DArray_subload inside
Texture2DArray (lines 214 and 257), Otherwise it gives a compile
error on MacOSX."
2007-09-11 10:16:21 +00:00
Robert Osfield
bea07b5f72 From Mike Wittman and Robert Osfield, added support for SO_VERSION number in
runtime version info.  Added checks for OpenThreads version.
2007-09-11 10:10:43 +00:00
Robert Osfield
409cdd0b28 Intoduced a new setGLExtensions template method to do a copy of void* pointer to
local function pointer to avoid compiler warnings related to case void*.

Moved various OSG classes across to using setGLExtensions instead of getGLExtensions,
and changed them to use typedef declarations in the headers rather than casts in
the .cpp.

Updated wrappers
2007-09-10 15:19:23 +00:00
Robert Osfield
b9a4752694 Flesh out a bit more of the view IO support 2007-09-08 07:21:12 +00:00
Robert Osfield
91983cbe71 Fixed typo 2007-09-08 07:04:27 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
7409f1fb99 Updated wrappers for new Texture2DArray class 2007-09-07 13:37:28 +00:00
Robert Osfield
c7a72c8435 From Art Tevs,
"A new texture class Texture2DArray derived from
Texture extends the osg to support the new
EXT_texture_array extensions. Texture arrays provides
a feature for people interesting in GPGPU programming.


Faetures and changes:

- Full support for layered 2D textures.

- New uniform types were added (sampler2DArray)

- FrameBufferObject implementation were changed to
support attaching of 2D array textures to the
framebuffer

- StateSet was slightly changed to support texture
arrays. NOTE: array textures can not be used in fixed
function pipeline. Thus using the layered texture as a
statemode for a Drawable produce invalid enumerant
OpenGL errors.

- Image class was extended to support handling of
array textures

Tests:
I have used this class as a new feature of my
application. It works for me without problems (Note:
Texture arrays were introduced only for shading
languages and not for fixed function pipelines!!!).
RTT with Texture2DArray works, as I have tested them
as texture targets for a camera with 6 layers/faces
(i.e. replacement for cube maps). I am using the array
textures in shader programming. Array textures can be
attached to the FBO and used as input and as output."
2007-09-07 11:21:02 +00:00
Robert Osfield
ed6322630f From Daniel Sjolie, "I patched the zip plugin to make use of my favorite zip/pack-application for windows if it is installed in the standard location..." 2007-09-07 10:50:13 +00:00
Robert Osfield
00e00f4e00 From Guillaume Millet, "Please find in attachment a small improvement to the pfb plugin
CmakeLists.txt and to the FindPerformer.cmake module.

Under Windows libs are: libpf.lib (we need to add the lib prefix) and
libpfdu-util.lib (libpfdu and libpfutil are compiled into one lib)
We need to add PFROOT to the search path for libs and includes (default
environment variable for Performer path)
And at last we need to put PFROOT/include and PFROOT/include/Performer
as include dir for compiling."
2007-09-07 10:15:39 +00:00
Robert Osfield
9704ded891 From Maria Ten, fix lat/long usage. 2007-09-07 09:53:40 +00:00
Robert Osfield
b13a1957b0 From Mattias Linde, "Have made the updates now. Added a std::map for easy lookup if a visual node
is targeted by a rigid body which is the reason why the .h-file was changed too.
So now there'll be Group as often as possible, otherwise PostitionAttitudeTransform."
2007-09-07 09:49:31 +00:00
Robert Osfield
14b0ef597b Added osg lib 2007-09-06 08:23:21 +00:00
Robert Osfield
b20d542317 From David Callu, improved consistency of Version strings and add version support
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
92b1e7d53f Changed tabs to four spaces to make merges more straight forward 2007-09-05 17:03:43 +00:00
Robert Osfield
4b84acbec6 Added automatic removal of .qt extension that allows one to automatically select
the quicktime plugin.
2007-09-05 16:47:43 +00:00
Robert Osfield
0372825d9b Added setting of locator source 2007-09-05 16:36:36 +00:00
Robert Osfield
a2447d493c Added option to Locator to help specify here the locator value was defined from.
Update wrappers and Gdal plugin to use this new parameter
2007-09-05 14:15:55 +00:00
Robert Osfield
9e7a944639 Improved Terrain IO 2007-09-04 14:00:27 +00:00
Robert Osfield
c2156f12ff Added mutex to DefaultFont::instance(). 2007-09-04 12:38:42 +00:00
Robert Osfield
c9f6a3f7ca Added mutex into osgText::Font::GlphTexture to marshel adding to and reading
from glyph list
2007-09-04 12:32:47 +00:00
Robert Osfield
4330993f1f Updated wrappers 2007-09-03 15:47:28 +00:00
Robert Osfield
8414a16e52 From Sherman Wilcox, added extension checking support for compressed texture subloading. 2007-09-03 15:43:58 +00:00
Robert Osfield
be11672769 From Jan Peciva, build fix 2007-09-03 15:22:23 +00:00
Robert Osfield
39d0788d5b From Jan Peciva, improvement to the FindInventor. 2007-09-03 13:59:25 +00:00
Robert Osfield
bd845a7b23 From Jan Peciva, Added write support into Inventor plugin.
Note from Robert Osfield.  A couple of lines of code in ConvertToInventor.cpp
would not compile under g++ 4.1.2, so rather than hold back the dev release till
this is resolved I've optional compiled out the problem section.
The #define DISABLE_PROBLEM_COMPILE_SECTIONS is used to compile out the problem
section, this define is add via the CMakeLists.txt file.
2007-09-03 13:52:19 +00:00
Robert Osfield
de19fb3737 From Ralf Kern, "the attached color mapped TIFF file klink1_l.tif is incorrectly read as
GL_LUMINANCE data instead of GL_RGB data. You can easily check with
"osgViewer --image klink1_l.tif".

The bug is in ReaderWriterTIFF.cpp function simage_tiff_load, where
numComponents_ret is incorrectly set to 1 instead of 3 for color mapped
data."
2007-09-03 10:12:26 +00:00
Robert Osfield
027158b441 From Laurens Voerman, "I hit a bug when making a copy of a PagedLOD node, the copy has lost
it's _databasePath and can no longer load it's childen. " 

Added _databasePath(plod._databasePath), in the copy copy construcutor.
2007-09-03 09:56:30 +00:00
Robert Osfield
d730559ade Fixed spacing. 2007-09-03 09:54:24 +00:00
Robert Osfield
c83bc830cd From Sherman Wilcox, "I modified texturerectangle.cpp to address this issue. I used a DXT5 DDS
file to test the change."
2007-09-03 09:50:50 +00:00
Robert Osfield
408eceac24 Updated wrapper 2007-09-03 09:47:43 +00:00
Robert Osfield
a97afbb009 Added convinience methods for setting up 3d spherical displays. 2007-09-01 16:56:53 +00:00
Robert Osfield
3304646c4c Changed Font's mutex to become a static mutex shared between all instances of Font.
This ensures single threaded access of the freetype plugin.
2007-09-01 15:24:22 +00:00
Robert Osfield
13faad13e8 Changed mutex reference to a mutex pointer to avoid problems with wrappers 2007-08-31 20:30:45 +00:00
Robert Osfield
76063a94bd Updated wrappers 2007-08-31 20:21:45 +00:00
Robert Osfield
5ae1eb711a To solve creations with multi-threaded creation of text, added mutex to Font, and use of this mutex in Text, and added mutex to the reading
of fonts.
2007-08-31 20:16:02 +00:00
Robert Osfield
86e998f64c Added mutex locking add addParents/removeParents in Drawable, Node and StateSet. 2007-08-31 20:14:36 +00:00
Robert Osfield
1bc6d0bae4 Added mutex to protect the readFontFile calls 2007-08-31 18:56:22 +00:00
Robert Osfield
4ba3f3c1a1 Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. 2007-08-31 16:05:24 +00:00
Robert Osfield
99f6865d4d From Luigi Calori, fixed Windows install of wrappers 2007-08-31 15:49:17 +00:00
Robert Osfield
817f316e2a From Luigi Calori, added support for Win32 versioning/new buid placement. 2007-08-31 11:04:06 +00:00
Robert Osfield
f4d2d1241d Further work on osgTerrain::Locator and GDAL plugin 2007-08-30 19:26:52 +00:00
Robert Osfield
b0f21e9a39 From Luigi Calori, add osgText to geo plugin build 2007-08-30 12:18:45 +00:00
Robert Osfield
4328bdacc2 From Luigi Calori, introduction of versioning of dll's and placement of dll and plugins into bin directory during build. 2007-08-30 10:41:15 +00:00
Robert Osfield
712dbacda3 Updated wrappers 2007-08-30 10:17:34 +00:00
Robert Osfield
667be8bb57 Further refinement of ProxyLayer API 2007-08-30 10:15:35 +00:00
Robert Osfield
9a9ffbe229 Further work on new ProxyLayer 2007-08-29 16:29:05 +00:00
Robert Osfield
2f895b839e Added ProxyLayer support into osgTerrain plugin 2007-08-29 12:18:41 +00:00
Robert Osfield
63c283ad03 Added support for post fixing filenames with .gdal to force use of gdal plugin. 2007-08-29 11:51:22 +00:00
Robert Osfield
71e7a65cca Added preliminary ProxLayer and DataSetLayer in GDAL plugin to aid integration
of GDAL reading into osgTerrain.
2007-08-29 10:52:03 +00:00
Robert Osfield
f6650dd3bf Changed the error code reporting to use hex to match up with freetype headers 2007-08-28 16:12:10 +00:00
Robert Osfield
a98daccd03 Improved formatting. 2007-08-28 15:35:24 +00:00
Robert Osfield
bf8f2eec85 Removed the OSG_INCLUDE 2007-08-28 15:35:09 +00:00
Robert Osfield
5b1b648ef5 Replaced CartesianLocator and EllipsoidLocator by a single general purpose
Locator class
2007-08-27 16:59:51 +00:00
Robert Osfield
020d7a5651 Added support for controlling the draw order on Cameras on each GraphcisContext
via the Camera::setRenderOrder parameters
2007-08-27 13:29:09 +00:00
Robert Osfield
5ce34fd7f3 Cleaned up the getRotate implementation selection using #defines, and made the
COMPILE_getRotate_David_Spillings_Mk1 the default.
2007-08-27 10:00:09 +00:00
Robert Osfield
cb5fb828d0 From Jan Ciger, warning fixes 2007-08-26 10:27:31 +00:00
Robert Osfield
06a0ca8d06 From Jean-Sebastien Guay, fixed comment 2007-08-26 10:24:18 +00:00
Robert Osfield
8a4db98e2b Change char* to const char* to fix warnings 2007-08-26 09:59:39 +00:00
Robert Osfield
b2d131c143 Updated wrappers, and change Renderer so that private: to proteccted:. 2007-08-26 09:46:49 +00:00
Robert Osfield
f9ab446512 Changed debug comments to output to notify level and tweaked the handling of the .terrain file. 2007-08-24 19:16:35 +00:00
Robert Osfield
09f63eebbb Added support for reading a .osg style data from a file string when trailed by a .osgs extension i.e.
osgviewer "osgTerrain::Terrain { ElevationLayer { CartesianLocator 0 0 1000000 1000000 Image ps_height_512.tif } ColorLayer { CartesianLocator 0 0 1000000 1000000 Image ps_texture_1k.tif } }".osgs
2007-08-24 19:16:02 +00:00
Robert Osfield
b0bede80c5 Added writing out of Terrain, Layer and Locators, and reading in of .terrain string. 2007-08-24 18:48:26 +00:00
Robert Osfield
a981202953 Set the debug out to info notification level 2007-08-24 16:16:08 +00:00
Robert Osfield
1273c814d1 Added better handling of OSG_TEXT_INCREMENTAL_SUBLOADING env var. 2007-08-24 16:12:22 +00:00
Robert Osfield
9489eef1cf Added default disabling of incremental subload for ATI cards. 2007-08-24 16:10:43 +00:00
Robert Osfield
056a9bc491 Added support for setting DatabasePager thread priority via OSG_DATABASE_PAGER_PRIORITY. 2007-08-24 14:00:44 +00:00
Robert Osfield
54202aae0d Cleaned up the thread priority management in DatabasePager and added
support for paging stats.
2007-08-24 13:33:35 +00:00
Robert Osfield
cc6ac2704e Added setting of block into the ThreadSafeQueue's contructor. 2007-08-24 10:58:08 +00:00
Robert Osfield
9a73a3f461 Made plugin build names lowercase 2007-08-23 16:56:06 +00:00
Robert Osfield
85ef819827 Changed the plugin name to openflight instead of OpenFlight to avoid problems
with osgDB looking for just lower case plugin names
2007-08-23 16:33:39 +00:00
Robert Osfield
a3ce9f680a From Stephan Huber, fix for crash on exit 2007-08-23 14:35:04 +00:00
Robert Osfield
6827104532 From Galen Faidley," Please find attached the modifications to get the new checkerboard
stereo format to work.  It's a good thing I tested these on a TV
before submitting them since I did indeed have a bug.  One thing I
did not test was to see how this would work in windowed mode.  Does
the interlaced stereo code have support for 'absolute' positions?
For example a given pixel on the screen is always shown in a given
eye no matter where the graphics context is placed?
"
2007-08-23 14:31:23 +00:00
Robert Osfield
616f64cf2c From Jean-Sebastien Guay,"As discussed yesterday on the osg-users list, I have altered
src/osgDB/FileUtils.cpp to implement the official Windows DLL search
order as described on the page
http://msdn2.microsoft.com/en-us/library/ms682586.aspx . As mentioned,
the search order is now:
    1. The directory from which the application loaded.
    2. The system directory. (C:\Windows\System32 by default, gotten using the
       GetSystemDirectory function)
    3. The 16-bit system directory. (C:\Windows\System by default, gotten by
       adding "\System" to the path gotten in the next step...)
    4. The Windows directory. (C:\Windows by default, gotten using the
       GetWindowsDirectory function)
    5. The current directory. (".")
    6. The directories that are listed in the PATH environment variable. (as
       before)

The first four directories are obtained using Win32 API calls, so they
should work correctly even on non-standard Windows installs.

The changes are well commented and should be clear, even to someone
not familiar with the Win32 API.

I have tested in a few scenarios and it works as expected. Serge Lages
has also tested the changes and confirmed they worked as described. I
have not had any other reports though (positive or negative).

I also fixed the issue with a trailing semicolon on the PATH adding an
empty string to the end of the search paths, as this was an
inconsistent side effect rather than a desirable effect. This change
will take effect on other platforms as well, but since it tests for an
empty string in the last item added to the search paths, it should
have no adverse effect.
"
2007-08-23 14:10:31 +00:00
Robert Osfield
a86c3dd314 Updated wrappers 2007-08-23 11:06:16 +00:00
Robert Osfield
f8ac71d7e5 Addd control for serializing draw dispatch. 2007-08-23 11:00:12 +00:00
Robert Osfield
bdb2a6b9d7 From Jean-Sebastien Guay, "After a bit more testing, it was still not 100% robust, so this fix
will bring the change in line with what is done on other OSes (Linux)
and works in all tested cases.

For reference, this was tested with:

osgviewer <file>.wrl                (file in current directory)
osgviewer <dir>\<file>.wrl          (file in child directory, relative)
osgviewer .\<dir>\<file>.wrl        (file in child directory, specify current)
osgviewer <drive>:\<dir>\<file>.wrl (absolute path)
"
2007-08-22 19:31:58 +00:00
Robert Osfield
f6d342af6f Updated wrappers 2007-08-22 19:26:25 +00:00
Robert Osfield
9c4fd5ec82 Updated wrappers 2007-08-22 17:18:27 +00:00
Robert Osfield
1694cf9625 Refactored the implementation of cull/draw for DrawThreadPerContex and CullThreadPerCameraDrawThreadPerContex
and added an experimental draw serialization.
2007-08-22 17:17:25 +00:00
Robert Osfield
41d15384cc Updated wrappers 2007-08-22 12:33:39 +00:00
Robert Osfield
bb7368a321 Cleaned up the thread setup and fixed the CullThreadPerCameraDrawThreadPerContext path 2007-08-22 12:21:01 +00:00
Robert Osfield
4f97cdca96 Added thread safe ref/unref by default. 2007-08-22 12:14:15 +00:00
Robert Osfield
de4a4042f7 Set main scene graph elements to use thread safe ref/unref by default 2007-08-22 10:34:11 +00:00
Robert Osfield
ef4dafaea1 Cleaned up copy constructor and switched on thread safe ref/unref. 2007-08-22 09:50:09 +00:00
Robert Osfield
5196b09672 Added debug ENFORCE_THREADSAFE paths into osg::Referenced, these are off by default. 2007-08-22 09:48:39 +00:00
Robert Osfield
bb886e8c94 Simplified the thread set up. 2007-08-22 09:46:38 +00:00
Robert Osfield
94db040884 Added thread safe ref/unref 2007-08-22 09:45:20 +00:00
Robert Osfield
7f43f55a44 Added debug message to destructor 2007-08-22 09:44:55 +00:00
Robert Osfield
94af61ed01 Added setting of thread safe ref/unref. 2007-08-22 09:43:24 +00:00
Robert Osfield
57a18ff112 Added default setting of use of thread safe ref/unref. 2007-08-22 09:42:27 +00:00
Robert Osfield
c1dc079f56 Added missing clear() implementation 2007-08-21 09:32:16 +00:00
Robert Osfield
5e7a7f6b3c Updated version number for 2.1.6 release and updated wrappers 2007-08-20 09:28:03 +00:00
Robert Osfield
cde5e45ac7 From Antione Hue and Robert Osfield, moved prepend in front of lib entry. 2007-08-19 19:22:14 +00:00
Robert Osfield
9d0e273a15 Changed ++_modifedCount cases to dirty(). 2007-08-17 09:37:49 +00:00
Robert Osfield
ffc8123a73 Changed the tolower of the file extension into the plugin name construction code.
Added support for CompositeLayer.
2007-08-16 18:49:46 +00:00
Robert Osfield
3c82058c68 Updated wrappers 2007-08-16 15:29:50 +00:00
Robert Osfield
2f41234793 From Maria Ten, "I divide the init method of the
geometrytechnique in submethods to made more easy the inheritance
between the user and osg-class. This is a first step to add more
functions in osgTerrain. Maybe the subdivision of the method have to
be in the terraintechnique because is the base class of
GeometryTechnique. If Robert or anyone think that this is better i
change this class too."
2007-08-16 14:13:10 +00:00
Robert Osfield
65ecea4e4a From Jan Ciger, "I am attaching a little hack from Jean-Sebastien Guay which allows
absolute paths to work on Windows."
2007-08-15 15:11:48 +00:00
Robert Osfield
fe66501c47 From Stephan Huber, "the softshadowmap-implementation does not compile on os x, to be more
precise, the shader does not compile on os x because of some
type-conflicts ala "can not convert from const int to const float"

So I changed the offending lines to force the type of the vars. It works
now on OS X (albeit very slowly, 3fps on a 7300), perhaps you find the
changes useful. Note: perhaps there is a better way in shaders to
cast/convert from int to float and viceversa."
2007-08-15 15:07:56 +00:00
Robert Osfield
57e7aa31fa From Brede Johansen, "The attached file updates the framestamp and traversal number of the
updatevisitor in osgViewer::Viewer.

The bug prevented DOF animations because osgSim::DOFTransform checks
the traversal number before doing any updates."
2007-08-15 15:03:26 +00:00
Robert Osfield
9291d9699f Changed the plugin name to lower case to be consistent with the way that osgDB::Registry
searches for only lower case plugin names.
2007-08-14 17:13:54 +00:00
Robert Osfield
17521f338a Added string to keyword map parser. 2007-08-14 17:04:27 +00:00
Robert Osfield
e4e89101b6 Replaced uint with unsigned int 2007-08-14 08:41:43 +00:00
Robert Osfield
21f65054a0 From Jan Ciger, "I am attaching an improved version of the OpenVRML plugin. It still uses
OpenVRML 0.14.3 and is without the Boost dependency.

The changes:
- - Fixed loading of textures and normals when no corresponding indices
are specified. It uses vertex indices now, compliant with the VRML spec.
- - Added colour per vertex support.
- - Added group node support.
- - Changed the code to use osg::ref_ptr instead of naked pointers to
avoid memory leaks.
- - Fixed breakage for loading files specified by relative path."
2007-08-13 10:27:35 +00:00
Robert Osfield
4c443bf843 From Brad Christiansen, "I added the ability to set the render target implementaion on the
osgSim::OverlayNode. The attached changes were made against the 2.0
release."
2007-08-13 10:17:18 +00:00
Robert Osfield
60a62b11df Updated wrappers 2007-08-12 13:30:00 +00:00
Robert Osfield
932608f804 From Bruno Hebelin,
"I have adapted to osgShadow the soft shadow map technique described in  "Efficient Soft-Edged Shadows Using Pixel Shader Branching" by Yury Uralsky, Chapter 17 of GPU Gems 2 (Matt Pharr ed. Addison-Wesley).

Here is my code in attachment: basically, it works in the same way as osgShadow/ShadowMap (core code is copied from it) but implements a specific GLSL shader for the soft rendering of penumbra.

I have tested it under Linux with a NVidia graphic card, but there should be no dependency on platform nor on the graphics driver (as far as they support GLSL 2). Screenshots attached show the current results (frame rate bound to v-sync, but the shader takes actually not much time)."
2007-08-12 12:12:55 +00:00
Robert Osfield
babe9f6de0 Added preprending of osgPlugins-version to plugin names 2007-08-11 17:44:06 +00:00
Robert Osfield
d57a16e023 Added DisplaySetting::s/getCompileContextHint() and use of this hint in osgViewer::Viewer/CompositeViewer.
Removed the CustomViewer in osgterrain example as the above now removes the need for it.
2007-08-11 14:49:14 +00:00
Robert Osfield
e5a365afee Added support for an update OperationQueue to Viewer and CompositeViewer to allow asyncrnous adding of operations to be added
to the view to be done during syncronous updateTraversal().

This feature can be used for doing things like merging subgraphs that have been loaded
in a background thread.
2007-08-11 10:28:14 +00:00
Robert Osfield
0e475106dc Updated wrappers 2007-08-10 17:44:54 +00:00
Robert Osfield
ece6c2f672 Updated wrappers 2007-08-10 10:58:25 +00:00
Robert Osfield
845fbf2358 Added View::setDatabasePager(..) 2007-08-10 10:57:00 +00:00
Robert Osfield
7366daca91 Refactored the way the Scene is used in Viewer and CompositeViewer to ensure
that only on Scene exists per scene graph.
2007-08-10 10:52:35 +00:00
Robert Osfield
b778fcd994 Updated wrappers 2007-08-08 09:12:02 +00:00
Robert Osfield
e3b7b2f617 Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations 2007-08-08 08:10:38 +00:00
Robert Osfield
58db6fd81a Removed unneeeded includes 2007-08-08 05:59:01 +00:00
Robert Osfield
8f03255f71 Updated wrappers 2007-08-07 22:56:09 +00:00
Robert Osfield
1049bd2939 Updated CMakeLists.txt to reflect renaming of TerrainNode. 2007-08-07 22:31:43 +00:00
Robert Osfield
1c6193ba78 Renamed osgTerrain::TerrainNode to osgTerrain::Terrain and introduced basic
.osg read support for osgTerrain::Terrain.
2007-08-07 19:53:57 +00:00
Robert Osfield
1fc50423c6 Removed TerrainNode.cpp from CMakeLists.txt 2007-08-07 15:51:49 +00:00
Robert Osfield
0ac8f5e556 Added preliminary shell of osgTerrain plugin 2007-08-07 15:30:05 +00:00
Robert Osfield
f4b549ba8f From Luc Fruciel, "Gdal plugins reads lots of information that is not taken into account in ReadHeigthField for example.
Attached a modification that read the HeigthField position and X,Yintervals.
I also removed the limitation to 1024*1024 to 4096*4096, because when you are preprocessing your data with OSG, it can be useful to read large images/heigthfields. Is there a reason (other than hardware limitations for textures) for this limit ?"
2007-08-07 14:49:37 +00:00
Robert Osfield
b34c3e3ba2 Re-introduceed GDAL plugin 2007-08-07 10:37:42 +00:00
Robert Osfield
2ec9fa7ea9 Re-introduced GDAL plugin. 2007-08-07 10:33:25 +00:00
Robert Osfield
eecd3e9257 From Andy Skinner, The attached file adds #include <stdlib.h> to GraphicsContext.cpp, so that it compiles with the solaris compiler we use. 2007-08-07 08:18:15 +00:00
Robert Osfield
3eb6e67bfa Updated ChangeLog, and AUTHORS file for release 2007-08-06 11:50:40 +00:00
Robert Osfield
81986f4387 Changed debug message to INFO level 2007-08-06 09:28:28 +00:00
Robert Osfield
0cad7018a6 Added support for enabling the stencil buffer when horizontal and vertical split stereo are used. 2007-08-05 17:06:16 +00:00
Robert Osfield
175bb58b58 From Tim More, "This patch causes GraphicsWindowX11 to not send key release events when a key
press / release is caused by auto-repeat. This is consistent with Windows and Mac
behavior, as well as other toolkits such as SDL."
2007-08-05 14:59:17 +00:00
Robert Osfield
4c3a13c3a1 From Andy Skinner, fixes for avoiding warnings about mixing c and c++ versions of c libs. 2007-08-05 14:51:56 +00:00
Robert Osfield
6d0f828524 Disable the selection of CullPerCameraDrawPerContext until I am able to fix this
threading model
2007-08-04 17:04:37 +00:00
Robert Osfield
f528ba8937 From John Shue, "Recent changes to sockstream.cpp and sockinet.cpp to better deal with
various operating system differences between socklen_t and int have
broken the FreeBSD build.  Change was to add __FreeBSD__ to the list of
defines that are checked."
2007-08-04 10:30:04 +00:00