Commit Graph

1887 Commits

Author SHA1 Message Date
Robert Osfield
c8190d9c54 Cleaned up osgWidget::VncClient and osgWidget::Browser so that their implementations are all more consitent with the osgWidget::PdfReader. 2008-12-09 11:05:04 +00:00
Robert Osfield
d8c17e4c4c Added support for setting background colour of Pdf document. 2008-12-09 09:26:51 +00:00
Robert Osfield
45160a2129 Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader 2008-12-07 17:37:26 +00:00
Robert Osfield
6f356aeb97 Intoduce new osgWidget::PdfReader and osgWidget::VncClient front ends to osgWidget,
with new pdf plugin and updated vnc plugin that now support these front ends.

Updated osgpdf and osgvnc examples to new these new interfaces.
2008-12-07 17:02:30 +00:00
Robert Osfield
0114ac4734 Fixed build problem 2008-12-06 11:03:32 +00:00
Robert Osfield
25eff6e27c From Jason Daly, added support for reading Valve's texture format files 2008-12-04 10:27:29 +00:00
Robert Osfield
9d92a26693 Revised the DYNAMIC vs STATIC library setup of COLLADA. 2008-12-02 10:42:58 +00:00
Robert Osfield
91f8dbb583 From Wang Rui, "Attachment is a plugin reading Biovision hierarchical files (.BVH) to generate character motion animations. BVH format is widely used by Character Studio of 3dsmax, MotionBuilder and other softwares, also supported by most motion capture devices. The plugin is based on the latest osgAnimation library of OSG 2.7.6 and will return a osgAnimation::AnimationManager pointer if using readNodeFile() to load it.
Source and CMake files are:
 
CMakeLists.txt
ReaderWriterBVH.cpp
 
Also there are 3 example BVH files. The first two are captured from motions of human beings - maybe a kung-fu master here. PLEASE use command below to see the results:
 
# osgviewer example1.bvh -O solids
 
This will demonstrate the animating of a skeleton and render bones as solid boxes. Note that the motion assumes XOZ is the ground and has an offset from the center, so we should adjust our view to get best effects.
 
You may also use "-O contours" to render bones as lines. The viewer shows nothing if without any options because osgAnimation::Bone does not render itself. User may add customized models to each named bones as osganimationskinning does to make uses of this plugin in their own applications.

I was wondering to support a BvhNode in my osgModeling peoject before, but soon found it better be a plugin for animation. A problem is, how to bind real geometry models to the skeleton. Maybe we could have a bindingToNode() visitor in future to find geodes matching names of bones and add them as bones' children."
2008-12-01 14:07:20 +00:00
Robert Osfield
78a808e444 Changed OPENEXR_LIBRARY to OPENEXR_LIBRARIES to pick up on Ulrich's changes to the FindOpenEXR.cmake 2008-11-30 16:33:55 +00:00
Robert Osfield
37682c6668 From Cedric Pinson, "updated the CMakelist.txt of curl plugin to compile with the static library of curl.
I added the external dependency wldap32"
2008-11-27 17:31:49 +00:00
Robert Osfield
cf440dfec3 Changed unsigned long to unsigned int to avoid 64bit portability issue. 2008-11-27 14:05:30 +00:00
Robert Osfield
25ec33d863 Enabled the build of exr plugin 2008-11-27 09:36:35 +00:00
Robert Osfield
db572a9142 Build fixes 2008-11-27 09:36:18 +00:00
Robert Osfield
c0e7e733ec Removed the use of = operator. 2008-11-27 09:33:06 +00:00
Robert Osfield
51fee6f75c From Ragnar Hammarqvist, "I wrote an EXR image plug-in to osg, I would like to contribute this plug-in to the osg project if you find it useful.
The plug-in is a wrapper around open-exr (http://www.openexr.com) that consists of two projects, ilmbase-1.0.1 and openexr-1.6.1.

I have only tested it on windows XP 32 machine. So there might be some work making it work on other platforms.

The plug-in supports writing and reading EXR files. When writing it can use the data type GL_HALF_FLOAT_ARB(se ilmbase-1.0.1) and GL_FLOAT. When reading the data type always becomes GL_HALF_FLOAT_ARB. It supports textures with three and four channels.

When reading an exr file it automatically removes Alfa channel if it didn't store any information."

--

From Robert Osfield, started work on ported it to other platforms, but could fix some problems relating to error: 

        ?Imf::OStream::OStream(const Imf::OStream&)? is private

I'm checking in now so that others can have a bash at completing the port.
2008-11-26 12:35:25 +00:00
Robert Osfield
b147a22af1 From BjornHein, "attached a proposal for an extension for the the stl-File ReaderWriter. It allows saving of an osg node tree as stl file in ASCII-Format.
Standard is to generate one stl file.

With an additional option it is possible to write one file per Geode. This option is not very "useful" for typical application, I use it for separating and conversion of geometric data. So it could be removed if considered to special."
2008-11-26 11:45:33 +00:00
Robert Osfield
b6fe330b85 Added support for unsigned int uniforms 2008-11-25 14:15:55 +00:00
Robert Osfield
a751eb0326 From Urlich Hertlein, "Attached is a patched version that replaces calls to atof() with osg::asciiToFloat()." 2008-11-25 13:45:27 +00:00
Robert Osfield
b7882c57f8 Fixed warning and some unitialized variables. 2008-11-25 12:22:33 +00:00
Robert Osfield
a1f59b6241 Fixed warning 2008-11-25 11:09:40 +00:00
Robert Osfield
f92baedf2b From Marco Jez, "The DDS plugin currently prints too many NOTICE messages that, given their nature and frequency, should really be demoted to INFO or DEBUG severity. Fix is attached." 2008-11-24 16:26:15 +00:00
Robert Osfield
9addcc050d From Rolad Smeenk, "Forgot a call to uniqify when generating an Id based on osg::Node name." 2008-11-24 15:27:19 +00:00
Robert Osfield
6bdd83413d From Roland Smeenk, "Overview of the Collada/dae plugin changes
New features
+Read and write of osg::LOD, osg::Switch, osgSim::Sequence, osgim::MultiSwitch and osgSim::DOFTransform data in <extra>
+Read and write of osg::Node description data in <extra>
+Plugin option "NoExtras" to prevent writing of <extra> data and only traverse the active children when saving
 
Changes/additions
+instanced_geometry and instanced_controller are now loaded in a single Geode with multiple Geometries instead of multiple geodes with a single Geometry
+Changed all calls to the deprecated createAndPlace() to the new add() methods
+All transformation elements <scale>, <rotate>, <translate>, <lookat>, <matrix>, <skew> are now concatenated properly in to a single MatrixTransform.
 Previously this was not done in order as required by Collada and and not all elements were included.
+Complete skew matrix creation
+Automatically add GL_RESCALE_NORMAL if scale is non-identity
+Blinn shininess remapping to [0,128] when in range [0,1]
+Changes to CMake file to make it compile on Windows
+Coding style and code documentation
 
Bug fixes
+Transparent texture writing fixed
+Fixed bug in using osg node name as collada node ID
+Fixed usage of double sided faces in GOOGLEEARTH extra
+Not adding blendfunc and blendcolor when opaque
 
TODO/Wishlist
-solve differences in drawables, DAE reader should place multiple collation elements into multiple primitivesets in a single geometry where possible (only when same material)
-solve differences in matrices
-multitexture support
-skinned mesh and generic animations using osgAnimation
-profile_GLSL based on COLLADA OpenGL Effects Viewer http://ati.amd.com/developer/rendermonkey/downloads.html
-handling more <extra> to more closely mimic the intended lighting"
2008-11-24 14:26:04 +00:00
Robert Osfield
bf8c3cc07e From Jason Daly, "This is a plugin (two, actually) that will allow OSG to load .bsp map files from Valve's Source Engine games (Half-Life 2, etc.). One plugin (called "vbsp" to distinguish it from the Quake 3 bsp loader) reads the .bsp file itself, and the other ("vtf") reads the texture files.
The set up for this to work is a bit more complex than most files, since the engine expects all files to be in a certain place, and it tends to mix case a lot.  I tried to explain everything in the VBSP_README.txt file."

This plugin has been integrated with the pre-exisiting bsp plugin.
2008-11-24 11:39:02 +00:00
Robert Osfield
38f7fabb10 Renamig of files in prep of merge of valve bsp support 2008-11-24 10:28:19 +00:00
Robert Osfield
f1b5b75128 Added mechnism for tracking when a VncImage is inactive or not. 2008-11-23 17:28:13 +00:00
Robert Osfield
5b15436935 Added mechanism for tracking when interactive images are being rendered to
enable their backends to only rendered them when they are actively being rendered
in the OpenGL window.
2008-11-23 15:51:43 +00:00
Robert Osfield
d946a6536e From Ulrich Hertlein, "I noticed some regression in the BMP loader - some 8-bit (paletted) files wouldn't load anymore but simply crash.
After taking a look at the current state of the BMP loader I decided it might be worth a shot at reimplementing that part.  For example: the current loader doesn't properly handle 1- and 4-bit files, incorrectly loads 16-bit files as intensity-alpha (they are RGB555), is full of dead code, and generally not in very good shape.

Attached is my re-implementation for review.

I've checked it against the test images from http://wvnvaxa.wvnet.edu/vmswww/bmp.html and models that use BMP files.
"
2008-11-23 10:20:50 +00:00
Robert Osfield
9f55408ca3 Removed the optional build for osgWidget and plugins as these are options that are appropriate for building all the time 2008-11-22 14:30:21 +00:00
Robert Osfield
56a2cc65d0 From Cedric Pinson, Pulled in osgAnimation from OpenSceneGraph-osgWidget-dev into svn/trunk. 2008-11-22 12:14:19 +00:00
Robert Osfield
d423aff288 Build fix 2008-11-21 17:10:41 +00:00
Robert Osfield
e158c78ffa From David Spilling, better support for multitexture in obj loader. 2008-11-21 13:23:55 +00:00
Robert Osfield
6962b9e49f From Joakim Simonsson, fixed warning. 2008-11-21 12:05:03 +00:00
Robert Osfield
1fa288a399 From Jim Vaughan, "I found a bug in the code I sent you last month. It was working for SoVRMLTransform nodes, but
SOTransform nodes are not in the IV scenegraph the way I thought they were.  The attached file
contains a fix for this."
2008-11-20 17:27:21 +00:00
Robert Osfield
9da7bbf802 Added readNodeFile support the gecko plugin. 2008-11-20 13:07:21 +00:00
Robert Osfield
7bf815332e Moved browser code from osgbrowser example into gecko plugin to make the browser functionality accessible to other OSG applications 2008-11-20 11:27:36 +00:00
Robert Osfield
5d975da41a Removed reduncent #includes 2008-11-14 18:15:12 +00:00
Robert Osfield
7255a23b03 Added commented out flt entry for compiling the old deprecated flight plugin (useful for testing purposes). 2008-11-10 13:56:59 +00:00
Robert Osfield
f5e1d17c13 Fix to traversal of children of an LOD - based on a suggestion from Katharina Plugge. 2008-11-10 13:48:36 +00:00
Robert Osfield
5bb6fe2ee7 Added support for Camera::PACKED_DEPTH_STENCIL_BUFFER to .osg and .ive formats 2008-11-09 11:56:02 +00:00
Robert Osfield
720551d549 From Michael Platings, Converted std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream and
fopen to osgDB::fopen to facilitate support for wide character filenames using UT8 encoding.
2008-11-07 15:08:08 +00:00
Robert Osfield
0ccf7d8383 Converted tabs to four spaces 2008-11-07 15:01:15 +00:00
Robert Osfield
822b1c9566 Added extra data types info to debug message 2008-11-05 10:29:45 +00:00
Robert Osfield
80a6e5eb2a Compiled fix for gcc 4.3.2 2008-11-04 16:31:47 +00:00
Robert Osfield
2f541fc076 Added GPL copyright notice 2008-11-03 16:55:06 +00:00
Robert Osfield
5e56fb6eb6 Added vnc plugin. 2008-11-03 15:57:21 +00:00
Robert Osfield
4741893563 Changed Tiff plugin to link to TIFF_LIBRARIES to handle case where JPEG and ZLIB are dependencies. 2008-11-03 10:17:26 +00:00
Robert Osfield
5034e223ec From Lionel Lagrade, "I've replaced readsome by read+gcount."
From Robert Osfeld, added throw on uncompress error.
2008-10-28 17:28:14 +00:00
Robert Osfield
10834cdea4 Merged in comment split code from the old flt plugin so that FLT comments string with returns
in them are put into separate description entries.
2008-10-27 17:11:01 +00:00
Robert Osfield
72200de866 From Katharina Plugge, "I found a bug in the OpenFlight-Plugin. When exporting to OpenFlight it could happen that palettes of an external reference like the texture palette are set wrong, because they are overwritten by parent settings (userData), which actually do not refer to palette entries respectively ParentPools (happens for example if a Transform is parent of a ProxyNode). The static cast from userData to ParentPools should therefore be a dynamic cast.
---------------------------

function FltExportVisitor::writeExternalReference( const osg::ProxyNode& proxy ):

Line 423 in file expPrimaryRecords.cpp has to be changed from

const ParentPools* pp = static_cast<const ParentPools*>(proxy.getUserData() );

to

const ParentPools* pp = dynamic_cast<const ParentPools*>(proxy.getUserData() );
"
2008-10-27 15:26:53 +00:00