Fix typos and spelling.
This commit is contained in:
parent
c3008512f1
commit
02c310982e
@ -5,7 +5,7 @@
|
|||||||
android:versionCode="1"
|
android:versionCode="1"
|
||||||
android:versionName="1.0">
|
android:versionName="1.0">
|
||||||
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
||||||
<uses-feature android:glEsVersion="0x00010001"/> <!-- OpenGL min requierements (1.1) -->
|
<uses-feature android:glEsVersion="0x00010001"/> <!-- OpenGL min requirements (1.1) -->
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
|
||||||
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
android:versionCode="1"
|
android:versionCode="1"
|
||||||
android:versionName="1.0">
|
android:versionName="1.0">
|
||||||
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
||||||
<uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requierements (2.0) -->
|
<uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requirements (2.0) -->
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
|
||||||
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
||||||
|
@ -84,7 +84,7 @@ struct MyRigTransformHardware : public osgAnimation::RigTransformHardware
|
|||||||
CommonProgram = new osg::Program;
|
CommonProgram = new osg::Program;
|
||||||
CommonProgram->setName("HardwareSkinning");
|
CommonProgram->setName("HardwareSkinning");
|
||||||
|
|
||||||
//set default source if _shader is not user setted
|
//set default source if _shader is not user set
|
||||||
if (!vertexshader.valid())
|
if (!vertexshader.valid())
|
||||||
{
|
{
|
||||||
vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"skinning.vert");
|
vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"skinning.vert");
|
||||||
|
@ -245,7 +245,7 @@ int main( int argc, char **argv )
|
|||||||
traits->depth = src_traits->depth;
|
traits->depth = src_traits->depth;
|
||||||
traits->pbuffer = true;
|
traits->pbuffer = true;
|
||||||
} else {
|
} else {
|
||||||
//viewer would use fullscreen size (unknown here) pbuffer will use 4096 x4096 (or best avaiable)
|
//viewer would use fullscreen size (unknown here) pbuffer will use 4096 x4096 (or best available)
|
||||||
traits->width = 1 << 12;
|
traits->width = 1 << 12;
|
||||||
traits->height = 1 << 12;
|
traits->height = 1 << 12;
|
||||||
traits->pbuffer = true;
|
traits->pbuffer = true;
|
||||||
|
@ -509,7 +509,7 @@ int main( int argc, char **argv )
|
|||||||
// any option left unread are converted into errors to write out later.
|
// any option left unread are converted into errors to write out later.
|
||||||
arguments.reportRemainingOptionsAsUnrecognized();
|
arguments.reportRemainingOptionsAsUnrecognized();
|
||||||
|
|
||||||
// report any errors if they have occurred when parsing the program aguments.
|
// report any errors if they have occurred when parsing the program arguments.
|
||||||
if (arguments.errors())
|
if (arguments.errors())
|
||||||
{
|
{
|
||||||
arguments.writeErrorMessages(std::cout);
|
arguments.writeErrorMessages(std::cout);
|
||||||
|
@ -91,7 +91,7 @@ private:
|
|||||||
bool createMap(MapMode mapMode, bool first=false);
|
bool createMap(MapMode mapMode, bool first=false);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Creates a two dimensional noise map and initalizes _noiseMap with it
|
Creates a two dimensional noise map and initializes _noiseMap with it
|
||||||
*/
|
*/
|
||||||
bool createNoiseMap();
|
bool createNoiseMap();
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class DePeePass
|
|||||||
DePeePass();
|
DePeePass();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Desctructor cleans the whole depth peeling pass
|
Destructor cleans the whole depth peeling pass
|
||||||
*/
|
*/
|
||||||
~DePeePass();
|
~DePeePass();
|
||||||
|
|
||||||
|
@ -381,7 +381,7 @@ AppState::AppState(osgViewer::Viewer* viewer_)
|
|||||||
textProjection = new Projection;
|
textProjection = new Projection;
|
||||||
textProjection->setMatrix(Matrix::ortho2D(0,1280,0,1024));
|
textProjection->setMatrix(Matrix::ortho2D(0,1280,0,1024));
|
||||||
textProjection->addChild(textGeode);
|
textProjection->addChild(textGeode);
|
||||||
// "texture not available" text displayed when the user trys to
|
// "texture not available" text displayed when the user tries to
|
||||||
// display the depth texture while multisampling.
|
// display the depth texture while multisampling.
|
||||||
osgText::Text* noCanDo = new osgText::Text;
|
osgText::Text* noCanDo = new osgText::Text;
|
||||||
noCanDo->setFont(fontName);
|
noCanDo->setFont(fontName);
|
||||||
|
@ -74,7 +74,7 @@ int main( int argc, char **argv )
|
|||||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options]");
|
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options]");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-i <filename>","Input scene (or presentation) filename.");
|
arguments.getApplicationUsage()->addCommandLineOption("-i <filename>","Input scene (or presentation) filename.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-o <filename>","Base ouput filename of the images, recommended to use something like Images/image.png");
|
arguments.getApplicationUsage()->addCommandLineOption("-o <filename>","Base output filename of the images, recommended to use something like Images/image.png");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--cs <filename>","Load pre-generated configuration file for run.");
|
arguments.getApplicationUsage()->addCommandLineOption("--cs <filename>","Load pre-generated configuration file for run.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--ouput-cs <filename>","Output configuration file with settings provided on commandline.");
|
arguments.getApplicationUsage()->addCommandLineOption("--ouput-cs <filename>","Output configuration file with settings provided on commandline.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-p <filename>","Use specificied camera path file to control camera position.");
|
arguments.getApplicationUsage()->addCommandLineOption("-p <filename>","Use specificied camera path file to control camera position.");
|
||||||
|
@ -96,7 +96,7 @@ int main(int argc, char *argv[])
|
|||||||
osg::ArgumentParser arguments(&argc,argv);
|
osg::ArgumentParser arguments(&argc,argv);
|
||||||
|
|
||||||
// set up the usage document, in case we need to print out how to use this program.
|
// set up the usage document, in case we need to print out how to use this program.
|
||||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates ping pong rendering with FBOs and mutliple rendering branches. It uses Conway's Game of Life to illustrate the concept.");
|
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates ping pong rendering with FBOs and multiple rendering branches. It uses Conway's Game of Life to illustrate the concept.");
|
||||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] --startim start_image");
|
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] --startim start_image");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--startim","The initial image to seed the game of life with.");
|
arguments.getApplicationUsage()->addCommandLineOption("--startim","The initial image to seed the game of life with.");
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
but if Robert will accept its current implementations ( I mean - primitive
|
but if Robert will accept its current implementations ( I mean - primitive
|
||||||
sets that have osg::TextureBuffer in constructor ), I may add it to
|
sets that have osg::TextureBuffer in constructor ), I may add it to
|
||||||
osg/include/PrimitiveSet header.
|
osg/include/PrimitiveSet header.
|
||||||
- I used BufferTemplate class writen and published by Aurelien in submission forum
|
- I used BufferTemplate class written and published by Aurelien in submission forum
|
||||||
some time ago. For some reason this class never got into osg/include, but is
|
some time ago. For some reason this class never got into osg/include, but is
|
||||||
really needed during creation of UBOs, TBOs, and possibly SSBOs in the future.
|
really needed during creation of UBOs, TBOs, and possibly SSBOs in the future.
|
||||||
I added std::vector specialization to that template class.
|
I added std::vector specialization to that template class.
|
||||||
@ -1145,7 +1145,7 @@ osg::Group* createAirplane( float detailRatio, const osg::Vec4& hullColor, const
|
|||||||
return root.release();
|
return root.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
// createStaticRendering() shows how to use any OSG graph ( wheter it is single osg::Geode, or sophisticated osg::PagedLOD tree covering whole earth )
|
// createStaticRendering() shows how to use any OSG graph ( whether it is single osg::Geode, or sophisticated osg::PagedLOD tree covering whole earth )
|
||||||
// as a source of instance data. This way, the OSG graph of arbitrary size is at first culled using typical OSG mechanisms, then remaining osg::Geometries
|
// as a source of instance data. This way, the OSG graph of arbitrary size is at first culled using typical OSG mechanisms, then remaining osg::Geometries
|
||||||
// are sent to cull shader ( cullProgram ). Cull shader does not draw anything to screen ( thanks to GL_RASTERIZER_DISCARD mode ), but calculates if particular
|
// are sent to cull shader ( cullProgram ). Cull shader does not draw anything to screen ( thanks to GL_RASTERIZER_DISCARD mode ), but calculates if particular
|
||||||
// instances - sourced from above mentioned osg::Geometries - are visible and what LODs for these instances should be rendered.
|
// instances - sourced from above mentioned osg::Geometries - are visible and what LODs for these instances should be rendered.
|
||||||
|
@ -125,7 +125,7 @@ int main( int argc, char **argv )
|
|||||||
osg::ArgumentParser arguments(&argc,argv);
|
osg::ArgumentParser arguments(&argc,argv);
|
||||||
|
|
||||||
// set up the usage document, in case we need to print out how to use this program.
|
// set up the usage document, in case we need to print out how to use this program.
|
||||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates how to create a scene programatically, in this case a hang gliding flying site.");
|
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates how to create a scene programmatically, in this case a hang gliding flying site.");
|
||||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
|
|
||||||
|
|
||||||
// callback to make the loaded model oscilate up and down.
|
// callback to make the loaded model oscillate up and down.
|
||||||
class ModelTransformCallback : public osg::NodeCallback
|
class ModelTransformCallback : public osg::NodeCallback
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -326,7 +326,7 @@ int main( int argc, char **argv )
|
|||||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height> <depth>","Allocate a 3D texture of specified dimensions.");
|
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height> <depth>","Allocate a 3D texture of specified dimensions.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height>","Allocate a 2D texture of specified dimensions.");
|
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height>","Allocate a 2D texture of specified dimensions.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width>","Allocate a 1D texture of specified dimensions.");
|
arguments.getApplicationUsage()->addCommandLineOption("--texture <width>","Allocate a 1D texture of specified dimensions.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using OpenGL Dislay Lists.");
|
arguments.getApplicationUsage()->addCommandLineOption("--geometry <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using OpenGL Display Lists.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry-va <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Arrays.");
|
arguments.getApplicationUsage()->addCommandLineOption("--geometry-va <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Arrays.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry-vbo <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Buffer Objects.");
|
arguments.getApplicationUsage()->addCommandLineOption("--geometry-vbo <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Buffer Objects.");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("--fbo <width> <height>","Allocate a FrameBufferObject of specified dimensions.");
|
arguments.getApplicationUsage()->addCommandLineOption("--fbo <width> <height>","Allocate a FrameBufferObject of specified dimensions.");
|
||||||
|
@ -290,7 +290,7 @@ int main( int argc, char **argv )
|
|||||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates use of convex planer occluders.");
|
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates use of convex planer occluders.");
|
||||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||||
arguments.getApplicationUsage()->addCommandLineOption("-m","Mannually create occluders");
|
arguments.getApplicationUsage()->addCommandLineOption("-m","Manually create occluders");
|
||||||
|
|
||||||
// initialize the viewer.
|
// initialize the viewer.
|
||||||
osgViewer::Viewer viewer;
|
osgViewer::Viewer viewer;
|
||||||
|
@ -444,7 +444,7 @@ void build_world(osg::Group *root)
|
|||||||
// the second one will be a little bit more complex, showing how to
|
// the second one will be a little bit more complex, showing how to
|
||||||
// create custom operators.
|
// create custom operators.
|
||||||
// To avoid inserting too much code in a single function, we have
|
// To avoid inserting too much code in a single function, we have
|
||||||
// splitted the work into two functions which accept a Group node as
|
// split the work into two functions which accept a Group node as
|
||||||
// parameter, and return a pointer to the particle system they created.
|
// parameter, and return a pointer to the particle system they created.
|
||||||
|
|
||||||
osgParticle::ParticleSystem *ps1 = create_simple_particle_system(root);
|
osgParticle::ParticleSystem *ps1 = create_simple_particle_system(root);
|
||||||
|
@ -317,7 +317,7 @@ public:
|
|||||||
// insert particle effects alongside the hit node, therefore able to track that nodes movement,
|
// insert particle effects alongside the hit node, therefore able to track that nodes movement,
|
||||||
// however, this does require us to insert the ParticleSystem itself into the root of the scene graph
|
// however, this does require us to insert the ParticleSystem itself into the root of the scene graph
|
||||||
// separately from the main particle effects group which contains the emitters and programs.
|
// separately from the main particle effects group which contains the emitters and programs.
|
||||||
// the follow code block implements this, note the path for handling particle effects which arn't attached to
|
// the follow code block implements this, note the path for handling particle effects which aren't attached to
|
||||||
// moving models is easy - just a single line of code!
|
// moving models is easy - just a single line of code!
|
||||||
|
|
||||||
// tell the effects not to attach to the particle system locally for rendering, as we'll handle add it into the
|
// tell the effects not to attach to the particle system locally for rendering, as we'll handle add it into the
|
||||||
|
@ -155,7 +155,7 @@ int main( int argc, char** argv )
|
|||||||
root->addChild( parent.get() );
|
root->addChild( parent.get() );
|
||||||
root->addChild( updater.get() );
|
root->addChild( updater.get() );
|
||||||
|
|
||||||
// FIXME 2010.9.19: the updater can't be a drawable; otehrwise the ParticleEffect will not work properly. why?
|
// FIXME 2010.9.19: the updater can't be a drawable; otherwise the ParticleEffect will not work properly. why?
|
||||||
updater->addParticleSystem( ps.get() );
|
updater->addParticleSystem( ps.get() );
|
||||||
|
|
||||||
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
|
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
|
||||||
|
@ -747,7 +747,7 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
osg::ref_ptr<Album> album = new Album(arguments,width,height);
|
osg::ref_ptr<Album> album = new Album(arguments,width,height);
|
||||||
|
|
||||||
// creat the scene from the file list.
|
// create the scene from the file list.
|
||||||
osg::ref_ptr<osg::Group> rootNode = album->getScene();
|
osg::ref_ptr<osg::Group> rootNode = album->getScene();
|
||||||
|
|
||||||
if (!rootNode) return 0;
|
if (!rootNode) return 0;
|
||||||
|
@ -50,7 +50,7 @@ int main(int argc, char** argv)
|
|||||||
if (script.valid()) scripts.push_back(script.get());
|
if (script.valid()) scripts.push_back(script.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
// assgin script engine to scene graphs
|
// assign script engine to scene graphs
|
||||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.lua"));
|
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.lua"));
|
||||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.python"));
|
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.python"));
|
||||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.js"));
|
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.js"));
|
||||||
|
@ -120,7 +120,7 @@ int main(int argc, char* argv[])
|
|||||||
sampler2=(osg::Sampler*)(*it)->getTextureAttribute(0, osg::StateAttribute::SAMPLER);
|
sampler2=(osg::Sampler*)(*it)->getTextureAttribute(0, osg::StateAttribute::SAMPLER);
|
||||||
}
|
}
|
||||||
if(sampler1.valid()&&sampler2.valid()){
|
if(sampler1.valid()&&sampler2.valid()){
|
||||||
OSG_WARN<<"2samplers manipulator setted"<<std::endl;
|
OSG_WARN<<"2samplers manipulator set"<<std::endl;
|
||||||
viewer.addEventHandler(new SamplersKeyboardEventHandler(sampler1.get(), sampler2.get()));
|
viewer.addEventHandler(new SamplersKeyboardEventHandler(sampler1.get(), sampler2.get()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ int main(int argc, char* argv[])
|
|||||||
im->dirty();
|
im->dirty();
|
||||||
tex2->setImage(im);
|
tex2->setImage(im);
|
||||||
}
|
}
|
||||||
///Overrided Filtering setup
|
///Overridden Filtering setup
|
||||||
tex1->setFilter(osg::Texture::MAG_FILTER,osg::Texture::NEAREST);
|
tex1->setFilter(osg::Texture::MAG_FILTER,osg::Texture::NEAREST);
|
||||||
tex1->setFilter(osg::Texture::MIN_FILTER,osg::Texture::NEAREST);
|
tex1->setFilter(osg::Texture::MIN_FILTER,osg::Texture::NEAREST);
|
||||||
|
|
||||||
|
@ -187,7 +187,7 @@ int main( int argc, char **argv )
|
|||||||
// pass frame stamp to the SceneView so that the update, cull and draw traversals all use the same FrameStamp
|
// pass frame stamp to the SceneView so that the update, cull and draw traversals all use the same FrameStamp
|
||||||
sceneView->setFrameStamp(frameStamp.get());
|
sceneView->setFrameStamp(frameStamp.get());
|
||||||
|
|
||||||
// update the viewport dimensions, incase the window has been resized.
|
// update the viewport dimensions, in case the window has been resized.
|
||||||
sceneView->setViewport(0,0,traits->width,traits->height);
|
sceneView->setViewport(0,0,traits->width,traits->height);
|
||||||
|
|
||||||
|
|
||||||
|
@ -610,7 +610,7 @@ int main( int argc, char **argv )
|
|||||||
osg::TexMat* texmatLeft = new osg::TexMat;
|
osg::TexMat* texmatLeft = new osg::TexMat;
|
||||||
osg::TexMat* texmatRight = new osg::TexMat;
|
osg::TexMat* texmatRight = new osg::TexMat;
|
||||||
|
|
||||||
// creat the scene from the file list.
|
// create the scene from the file list.
|
||||||
osg::ref_ptr<osg::Switch> rootNode;
|
osg::ref_ptr<osg::Switch> rootNode;
|
||||||
if (!onDisk) rootNode = createScene(fileList,texmatLeft,texmatRight,radius,height,length);
|
if (!onDisk) rootNode = createScene(fileList,texmatLeft,texmatRight,radius,height,length);
|
||||||
else rootNode=new osg::Switch();
|
else rootNode=new osg::Switch();
|
||||||
|
@ -235,7 +235,7 @@ class Teapot : public osg::Drawable
|
|||||||
// of OpenGL primitives.
|
// of OpenGL primitives.
|
||||||
virtual void drawImplementation(osg::RenderInfo&) const
|
virtual void drawImplementation(osg::RenderInfo&) const
|
||||||
{
|
{
|
||||||
// teapot(..) doens't use vertex arrays at all so we don't need to toggle their state
|
// teapot(..) doesn't use vertex arrays at all so we don't need to toggle their state
|
||||||
// if we did we'd need to something like following call
|
// if we did we'd need to something like following call
|
||||||
// state.disableAllVertexArrays(), see src/osg/Geometry.cpp for the low down.
|
// state.disableAllVertexArrays(), see src/osg/Geometry.cpp for the low down.
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ class /*OSGTEXT_EXPORT*/ TextTechnique : public osg::Object
|
|||||||
/// default TextTechnique implementation used if no other is specified on TextNode
|
/// default TextTechnique implementation used if no other is specified on TextNode
|
||||||
static osg::ref_ptr<TextTechnique>& getDefaultTextTechinque();
|
static osg::ref_ptr<TextTechnique>& getDefaultTextTechinque();
|
||||||
|
|
||||||
/// start building a new charater layout
|
/// start building a new character layout
|
||||||
virtual void start();
|
virtual void start();
|
||||||
|
|
||||||
/// called by Layout engine to place individual characters
|
/// called by Layout engine to place individual characters
|
||||||
@ -70,7 +70,7 @@ class /*OSGTEXT_EXPORT*/ TextTechnique : public osg::Object
|
|||||||
/// called by Layout engine to place individual characters
|
/// called by Layout engine to place individual characters
|
||||||
virtual void addCharacter(const osg::Vec3& position, const osg::Vec3& size, Glyph3D* glyph, Style* style);
|
virtual void addCharacter(const osg::Vec3& position, const osg::Vec3& size, Glyph3D* glyph, Style* style);
|
||||||
|
|
||||||
/// finish building new charater layout
|
/// finish building new character layout
|
||||||
virtual void finish();
|
virtual void finish();
|
||||||
|
|
||||||
/// provide traversal control
|
/// provide traversal control
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <osgGA/TrackballManipulator>
|
#include <osgGA/TrackballManipulator>
|
||||||
|
|
||||||
// This is an implementation of SimpleViewer that is designed to be subclassed
|
// This is an implementation of SimpleViewer that is designed to be subclassed
|
||||||
// and used as a GtkDrawingArea in a GTK application. Because of the implemention
|
// and used as a GtkDrawingArea in a GTK application. Because of the implementation
|
||||||
// of GTK, I was unable to derive from GtkWidget and instead had to "wrap" it.
|
// of GTK, I was unable to derive from GtkWidget and instead had to "wrap" it.
|
||||||
// Conceptually, however, you can think of an OSGGTKDrawingArea as both an OSG
|
// Conceptually, however, you can think of an OSGGTKDrawingArea as both an OSG
|
||||||
// Viewer AND GtkDrawingArea.
|
// Viewer AND GtkDrawingArea.
|
||||||
|
@ -211,7 +211,7 @@ osg::Node * CreateAdvancedHierarchy( osg::Node * model )
|
|||||||
|
|
||||||
// Set default VirtualProgram in root StateSet
|
// Set default VirtualProgram in root StateSet
|
||||||
// With main vertex and main fragment shaders calling
|
// With main vertex and main fragment shaders calling
|
||||||
// lighting and texture functions defined in aditional shaders
|
// lighting and texture functions defined in additional shaders
|
||||||
// Lighting is done per vertex using simple directional light
|
// Lighting is done per vertex using simple directional light
|
||||||
// Texture uses stage 0 TexCoords and TexMap
|
// Texture uses stage 0 TexCoords and TexMap
|
||||||
|
|
||||||
|
@ -45,10 +45,10 @@ public:
|
|||||||
Affinity& operator = (const Affinity& rhs) { if (&rhs!=this) { activeCPUs = rhs.activeCPUs; } return *this; }
|
Affinity& operator = (const Affinity& rhs) { if (&rhs!=this) { activeCPUs = rhs.activeCPUs; } return *this; }
|
||||||
|
|
||||||
|
|
||||||
/** add a specfied cpu core from the list to have affinity to. */
|
/** add a specified cpu core from the list to have affinity to. */
|
||||||
void add(unsigned int cpuNmber) { activeCPUs.insert(cpuNmber); }
|
void add(unsigned int cpuNmber) { activeCPUs.insert(cpuNmber); }
|
||||||
|
|
||||||
/** remove a specfied cpu core from the list to have affinity to. */
|
/** remove a specified cpu core from the list to have affinity to. */
|
||||||
void remove(unsigned int cpuNmber) { activeCPUs.erase(cpuNmber); }
|
void remove(unsigned int cpuNmber) { activeCPUs.erase(cpuNmber); }
|
||||||
|
|
||||||
/** return true if affinity has been provided for specific CPU cores.*/
|
/** return true if affinity has been provided for specific CPU cores.*/
|
||||||
|
@ -190,7 +190,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Set the thread's schedule priority. This is a complex method.
|
* Set the thread's schedule priority. This is a complex method.
|
||||||
* Beware of thread priorities when using a many-to-many kernel
|
* Beware of thread priorities when using a many-to-many kernel
|
||||||
* entity implemenation (such as IRIX pthreads). If one is not careful
|
* entity implementation (such as IRIX pthreads). If one is not careful
|
||||||
* to manage the thread priorities, a priority inversion deadlock can
|
* to manage the thread priorities, a priority inversion deadlock can
|
||||||
* easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier
|
* easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier
|
||||||
* constructs have been designed with this scenario in mind). Unless
|
* constructs have been designed with this scenario in mind). Unless
|
||||||
|
@ -437,10 +437,10 @@ class OSG_EXPORT BufferObject : public Object
|
|||||||
const BufferObjectProfile& getProfile() const { return _profile; }
|
const BufferObjectProfile& getProfile() const { return _profile; }
|
||||||
|
|
||||||
|
|
||||||
/** Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused.*/
|
/** Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immediately so that it may be reused.*/
|
||||||
void setCopyDataAndReleaseGLBufferObject(bool copyAndRelease) { _copyDataAndReleaseGLBufferObject = copyAndRelease; }
|
void setCopyDataAndReleaseGLBufferObject(bool copyAndRelease) { _copyDataAndReleaseGLBufferObject = copyAndRelease; }
|
||||||
|
|
||||||
/** Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately.*/
|
/** Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immediately.*/
|
||||||
bool getCopyDataAndReleaseGLBufferObject() const { return _copyDataAndReleaseGLBufferObject; }
|
bool getCopyDataAndReleaseGLBufferObject() const { return _copyDataAndReleaseGLBufferObject; }
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/
|
/** Convenience function for getting the CallbackObject associated with specified name from an Object's UserDataContainer.*/
|
||||||
inline CallbackObject* getCallbackObject(osg::Object* object, const std::string& name)
|
inline CallbackObject* getCallbackObject(osg::Object* object, const std::string& name)
|
||||||
{
|
{
|
||||||
osg::UserDataContainer* udc = object->getUserDataContainer();
|
osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||||
@ -171,7 +171,7 @@ inline CallbackObject* getCallbackObject(osg::Object* object, const std::string&
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/
|
/** Convenience function for getting the CallbackObject associated with specified name from an Object's UserDataContainer.*/
|
||||||
inline const CallbackObject* getCallbackObject(const osg::Object* object, const std::string& name)
|
inline const CallbackObject* getCallbackObject(const osg::Object* object, const std::string& name)
|
||||||
{
|
{
|
||||||
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||||
|
@ -433,7 +433,7 @@ class OSG_EXPORT Image : public BufferData
|
|||||||
|
|
||||||
/** Ensure image dimensions are a power of two.
|
/** Ensure image dimensions are a power of two.
|
||||||
* Mipmapped textures require the image dimensions to be
|
* Mipmapped textures require the image dimensions to be
|
||||||
* power of two and are within the maxiumum texture size for
|
* power of two and are within the maximum texture size for
|
||||||
* the host machine.
|
* the host machine.
|
||||||
*/
|
*/
|
||||||
void ensureValidSizeForTexturing(GLint maxTextureSize);
|
void ensureValidSizeForTexturing(GLint maxTextureSize);
|
||||||
|
@ -194,11 +194,11 @@ class OSG_EXPORT Node : public Object
|
|||||||
|
|
||||||
|
|
||||||
/** Get the list of node paths parent paths.
|
/** Get the list of node paths parent paths.
|
||||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */
|
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node. */
|
||||||
NodePathList getParentalNodePaths(osg::Node* haltTraversalAtNode=0) const;
|
NodePathList getParentalNodePaths(osg::Node* haltTraversalAtNode=0) const;
|
||||||
|
|
||||||
/** Get the list of matrices that transform this node from local coordinates to world coordinates.
|
/** Get the list of matrices that transform this node from local coordinates to world coordinates.
|
||||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */
|
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node. */
|
||||||
MatrixList getWorldMatrices(const osg::Node* haltTraversalAtNode=0) const;
|
MatrixList getWorldMatrices(const osg::Node* haltTraversalAtNode=0) const;
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ class OSG_EXPORT PagedLOD : public LOD
|
|||||||
/** Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.*/
|
/** Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.*/
|
||||||
unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
|
unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
|
||||||
|
|
||||||
/** Set wether you want to disable the paging in of external nodes.*/
|
/** Set whether you want to disable the paging in of external nodes.*/
|
||||||
void setDisableExternalChildrenPaging(bool flag) { _disableExternalChildrenPaging = flag; }
|
void setDisableExternalChildrenPaging(bool flag) { _disableExternalChildrenPaging = flag; }
|
||||||
|
|
||||||
bool getDisableExternalChildrenPaging() const { return _disableExternalChildrenPaging; }
|
bool getDisableExternalChildrenPaging() const { return _disableExternalChildrenPaging; }
|
||||||
|
@ -47,7 +47,7 @@ class OSG_EXPORT Referenced
|
|||||||
|
|
||||||
Referenced();
|
Referenced();
|
||||||
|
|
||||||
/** Deprecated, Referenced is now always uses thread safe ref/unref, use default Refernced() constructor instead */
|
/** Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead */
|
||||||
explicit Referenced(bool threadSafeRefUnref);
|
explicit Referenced(bool threadSafeRefUnref);
|
||||||
|
|
||||||
Referenced(const Referenced&);
|
Referenced(const Referenced&);
|
||||||
|
@ -747,7 +747,7 @@ class TessellationHints : public Object
|
|||||||
// forward declare;
|
// forward declare;
|
||||||
class Geometry;
|
class Geometry;
|
||||||
|
|
||||||
/** Convenience class for populating an Geomtry with vertex, normals, texture coords and primitives that can render a Shape. */
|
/** Convenience class for populating an Geometry with vertex, normals, texture coords and primitives that can render a Shape. */
|
||||||
class OSG_EXPORT BuildShapeGeometryVisitor : public ConstShapeVisitor
|
class OSG_EXPORT BuildShapeGeometryVisitor : public ConstShapeVisitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -203,14 +203,14 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/** Convenience function for getting the User Object associated with specificed name from an Object's UserDataContainer.*/
|
/** Convenience function for getting the User Object associated with specified name from an Object's UserDataContainer.*/
|
||||||
inline Object* getUserObject(osg::Object* object, const std::string& name)
|
inline Object* getUserObject(osg::Object* object, const std::string& name)
|
||||||
{
|
{
|
||||||
osg::UserDataContainer* udc = object->getUserDataContainer();
|
osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||||
return udc ? udc->getUserObject(name) : 0;
|
return udc ? udc->getUserObject(name) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Convenience function for getting the User Object associated with specificed name from an Object's UserDataContainer.*/
|
/** Convenience function for getting the User Object associated with specified name from an Object's UserDataContainer.*/
|
||||||
inline const Object* getUserObject(const osg::Object* object, const std::string& name)
|
inline const Object* getUserObject(const osg::Object* object, const std::string& name)
|
||||||
{
|
{
|
||||||
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||||
|
@ -28,7 +28,7 @@ class Vec2i
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 2 };
|
enum { num_components = 2 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[2];
|
value_type _v[2];
|
||||||
|
|
||||||
Vec2i() { _v[0]=0; _v[1]=0; }
|
Vec2i() { _v[0]=0; _v[1]=0; }
|
||||||
|
@ -28,7 +28,7 @@ class Vec2ui
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 2 };
|
enum { num_components = 2 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[2];
|
value_type _v[2];
|
||||||
|
|
||||||
Vec2ui() { _v[0]=0; _v[1]=0; }
|
Vec2ui() { _v[0]=0; _v[1]=0; }
|
||||||
|
@ -28,7 +28,7 @@ class Vec3i
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 3 };
|
enum { num_components = 3 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[3];
|
value_type _v[3];
|
||||||
|
|
||||||
Vec3i() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
Vec3i() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
||||||
|
@ -28,7 +28,7 @@ class Vec3ui
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 3 };
|
enum { num_components = 3 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[3];
|
value_type _v[3];
|
||||||
|
|
||||||
Vec3ui() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
Vec3ui() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
||||||
|
@ -28,7 +28,7 @@ class Vec4i
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 4 };
|
enum { num_components = 4 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[4];
|
value_type _v[4];
|
||||||
|
|
||||||
Vec4i() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
Vec4i() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
||||||
|
@ -28,7 +28,7 @@ class Vec4ui
|
|||||||
/** Number of vector components. */
|
/** Number of vector components. */
|
||||||
enum { num_components = 4 };
|
enum { num_components = 4 };
|
||||||
|
|
||||||
/** Vec member varaible. */
|
/** Vec member variable. */
|
||||||
value_type _v[4];
|
value_type _v[4];
|
||||||
|
|
||||||
Vec4ui() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
Vec4ui() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
||||||
|
@ -81,7 +81,7 @@ class ref_ptr
|
|||||||
bool operator < (const ref_ptr& rp) const { return (_ptr<rp._ptr); }
|
bool operator < (const ref_ptr& rp) const { return (_ptr<rp._ptr); }
|
||||||
|
|
||||||
|
|
||||||
// follows is an implmentation of the "safe bool idiom", details can be found at:
|
// follows is an implementation of the "safe bool idiom", details can be found at:
|
||||||
// http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Safe_bool
|
// http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Safe_bool
|
||||||
// http://lists.boost.org/Archives/boost/2003/09/52856.php
|
// http://lists.boost.org/Archives/boost/2003/09/52856.php
|
||||||
|
|
||||||
|
@ -135,15 +135,15 @@ namespace osgAnimation
|
|||||||
template <class V>
|
template <class V>
|
||||||
inline void compute(const osg::Matrix& transform, const osg::Matrix& invTransform, const V* src, V* dst)
|
inline void compute(const osg::Matrix& transform, const osg::Matrix& invTransform, const V* src, V* dst)
|
||||||
{
|
{
|
||||||
// the result of matrix mult should be cached to be used for vertexes transform and normal transform and maybe other computation
|
// the result of matrix mult should be cached to be used for vertices transform and normal transform and maybe other computation
|
||||||
for(VertexGroupList::iterator itvg=_uniqVertexGroupList.begin(); itvg!=_uniqVertexGroupList.end(); ++itvg)
|
for(VertexGroupList::iterator itvg=_uniqVertexGroupList.begin(); itvg!=_uniqVertexGroupList.end(); ++itvg)
|
||||||
{
|
{
|
||||||
VertexGroup& uniq = *itvg;
|
VertexGroup& uniq = *itvg;
|
||||||
uniq.computeMatrixForVertexSet();
|
uniq.computeMatrixForVertexSet();
|
||||||
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
||||||
|
|
||||||
const IndexList& vertexes = uniq.getVertices();
|
const IndexList& vertices = uniq.getVertices();
|
||||||
for(IndexList::const_iterator vertIDit=vertexes.begin(); vertIDit!=vertexes.end(); ++vertIDit)
|
for(IndexList::const_iterator vertIDit=vertices.begin(); vertIDit!=vertices.end(); ++vertIDit)
|
||||||
{
|
{
|
||||||
dst[*vertIDit] = src[*vertIDit] * matrix;
|
dst[*vertIDit] = src[*vertIDit] * matrix;
|
||||||
}
|
}
|
||||||
@ -160,8 +160,8 @@ namespace osgAnimation
|
|||||||
uniq.computeMatrixForVertexSet();
|
uniq.computeMatrixForVertexSet();
|
||||||
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
||||||
|
|
||||||
const IndexList& vertexes = uniq.getVertices();
|
const IndexList& vertices = uniq.getVertices();
|
||||||
for(IndexList::const_iterator vertIDit=vertexes.begin(); vertIDit!=vertexes.end(); ++vertIDit)
|
for(IndexList::const_iterator vertIDit=vertices.begin(); vertIDit!=vertices.end(); ++vertIDit)
|
||||||
{
|
{
|
||||||
dst[*vertIDit] = osg::Matrix::transform3x3(src[*vertIDit],matrix);
|
dst[*vertIDit] = osg::Matrix::transform3x3(src[*vertIDit],matrix);
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ namespace osgAnimation
|
|||||||
///normalize per vertex weights given numvert of the attached mesh
|
///normalize per vertex weights given numvert of the attached mesh
|
||||||
void normalize(unsigned int numvert);
|
void normalize(unsigned int numvert);
|
||||||
|
|
||||||
///remove weakest influences in order to fit targetted numbonepervertex
|
///remove weakest influences in order to fit targeted numbonepervertex
|
||||||
void cullInfluenceCountPerVertex(unsigned int maxnumbonepervertex, float minweight=0, bool renormalize=true);
|
void cullInfluenceCountPerVertex(unsigned int maxnumbonepervertex, float minweight=0, bool renormalize=true);
|
||||||
|
|
||||||
//compute PerVertexInfluenceList
|
//compute PerVertexInfluenceList
|
||||||
|
@ -110,12 +110,12 @@ DECLARE_TYPE(osg::BoundingBoxd, BOUNDINGBOXD)
|
|||||||
DECLARE_TYPE(osg::BoundingSpheref, BOUNDINGSPHEREF)
|
DECLARE_TYPE(osg::BoundingSpheref, BOUNDINGSPHEREF)
|
||||||
DECLARE_TYPE(osg::BoundingSphered, BOUNDINGSPHERED)
|
DECLARE_TYPE(osg::BoundingSphered, BOUNDINGSPHERED)
|
||||||
|
|
||||||
// forward decalare
|
// forward declare
|
||||||
class PropertyOutputIterator;
|
class PropertyOutputIterator;
|
||||||
class PropertyInputIterator;
|
class PropertyInputIterator;
|
||||||
|
|
||||||
|
|
||||||
/** ClassInterface provides a general means of checking for supported properties of classes, and getting/setting thoses properties.
|
/** ClassInterface provides a general means of checking for supported properties of classes, and getting/setting those properties.
|
||||||
Uses the osgDB serializers to do the actual object query/get/set.
|
Uses the osgDB serializers to do the actual object query/get/set.
|
||||||
*/
|
*/
|
||||||
class OSGDB_EXPORT ClassInterface
|
class OSGDB_EXPORT ClassInterface
|
||||||
@ -166,10 +166,10 @@ public:
|
|||||||
/// run method of object
|
/// run method of object
|
||||||
bool run(osg::Object* object, const std::string& methodName, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const;
|
bool run(osg::Object* object, const std::string& methodName, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const;
|
||||||
|
|
||||||
/// checked for support of specificed method
|
/// checked for support of specified method
|
||||||
bool hasMethod(const std::string& compoundClassName, const std::string& methodName) const;
|
bool hasMethod(const std::string& compoundClassName, const std::string& methodName) const;
|
||||||
|
|
||||||
/// checked for support of specificed method
|
/// checked for support of specified method
|
||||||
bool hasMethod(const osg::Object* object, const std::string& methodName) const;
|
bool hasMethod(const osg::Object* object, const std::string& methodName) const;
|
||||||
|
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
|
|||||||
void compileCompleted(DatabaseRequest* databaseRequest);
|
void compileCompleted(DatabaseRequest* databaseRequest);
|
||||||
|
|
||||||
/** Iterate through the active PagedLOD nodes children removing
|
/** Iterate through the active PagedLOD nodes children removing
|
||||||
* children which havn't been visited since specified expiryTime.
|
* children which haven't been visited since specified expiryTime.
|
||||||
* note, should be only be called from the update thread. */
|
* note, should be only be called from the update thread. */
|
||||||
virtual void removeExpiredSubgraphs(const osg::FrameStamp &frameStamp);
|
virtual void removeExpiredSubgraphs(const osg::FrameStamp &frameStamp);
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ extern OSGDB_EXPORT std::string getNameLessAllExtensions(const std::string& file
|
|||||||
extern OSGDB_EXPORT std::string getStrippedName(const std::string& fileName);
|
extern OSGDB_EXPORT std::string getStrippedName(const std::string& fileName);
|
||||||
/** If 'to' is in a subdirectory of 'from' then this function returns the subpath, otherwise it just returns the file name.
|
/** If 'to' is in a subdirectory of 'from' then this function returns the subpath, otherwise it just returns the file name.
|
||||||
* The function does \b not automagically resolve paths as the system does, so be careful to give canonical paths.
|
* The function does \b not automagically resolve paths as the system does, so be careful to give canonical paths.
|
||||||
* However, the function interprets slashes ('/') ans backslashes ('\') as they were equal.
|
* However, the function interprets slashes ('/') and backslashes ('\') as they were equal.
|
||||||
*/
|
*/
|
||||||
extern OSGDB_EXPORT std::string getPathRelative(const std::string& from, const std::string& to);
|
extern OSGDB_EXPORT std::string getPathRelative(const std::string& from, const std::string& to);
|
||||||
/** Gets root part of a path ("/" or "C:"), or an empty string if none found. */
|
/** Gets root part of a path ("/" or "C:"), or an empty string if none found. */
|
||||||
|
@ -181,10 +181,10 @@ public:
|
|||||||
else return 0;
|
else return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// set an input iterator, used directly when not using InputStream with a traditional file releated stream.
|
/// set an input iterator, used directly when not using InputStream with a traditional file related stream.
|
||||||
void setInputIterator( InputIterator* ii ) { _in = ii; }
|
void setInputIterator( InputIterator* ii ) { _in = ii; }
|
||||||
|
|
||||||
/// start reading from InputStream treating it as a traditional file releated stream, handles headers and versioning
|
/// start reading from InputStream treating it as a traditional file related stream, handles headers and versioning
|
||||||
ReadType start( InputIterator* );
|
ReadType start( InputIterator* );
|
||||||
|
|
||||||
void decompress();
|
void decompress();
|
||||||
|
@ -173,10 +173,10 @@ public:
|
|||||||
void writeObjectFields( const osg::Object* obj );
|
void writeObjectFields( const osg::Object* obj );
|
||||||
void writeObjectFields( const osg::Object* obj, const std::string& compoundName );
|
void writeObjectFields( const osg::Object* obj, const std::string& compoundName );
|
||||||
|
|
||||||
/// set an output iterator, used directly when not using OutputStream with a traditional file releated stream.
|
/// set an output iterator, used directly when not using OutputStream with a traditional file related stream.
|
||||||
void setOutputIterator( OutputIterator* oi ) { _out = oi; }
|
void setOutputIterator( OutputIterator* oi ) { _out = oi; }
|
||||||
|
|
||||||
/// start writing to OutputStream treating it as a traditional file releated stream, handles headers and versioning
|
/// start writing to OutputStream treating it as a traditional file related stream, handles headers and versioning
|
||||||
void start( OutputIterator* outIterator, WriteType type );
|
void start( OutputIterator* outIterator, WriteType type );
|
||||||
|
|
||||||
void compress( std::ostream* ostream );
|
void compress( std::ostream* ostream );
|
||||||
|
@ -37,7 +37,7 @@ namespace osgFX
|
|||||||
Cartoon();
|
Cartoon();
|
||||||
Cartoon(const Cartoon& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
Cartoon(const Cartoon& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
||||||
|
|
||||||
// effect class informations
|
// effect class information
|
||||||
META_Effect(
|
META_Effect(
|
||||||
osgFX,
|
osgFX,
|
||||||
Cartoon,
|
Cartoon,
|
||||||
|
@ -36,7 +36,7 @@ namespace osgFX
|
|||||||
Scribe();
|
Scribe();
|
||||||
Scribe(const Scribe& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
Scribe(const Scribe& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
||||||
|
|
||||||
// effect class informations
|
// effect class information
|
||||||
META_Effect(
|
META_Effect(
|
||||||
osgFX,
|
osgFX,
|
||||||
Scribe,
|
Scribe,
|
||||||
|
@ -107,7 +107,7 @@ class OSGGA_EXPORT EventVisitor : public osg::NodeVisitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The following overrides are technically redundant as the default implementation would eventually trickle down to
|
// The following overrides are technically redundant as the default implementation would eventually trickle down to
|
||||||
// apply(osg::Node&); - however defining these explicitely should save a couple of virtual function calls
|
// apply(osg::Node&); - however defining these explicitly should save a couple of virtual function calls
|
||||||
virtual void apply(osg::Geode& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::Geode& node) { handle_callbacks_and_traverse(node); }
|
||||||
virtual void apply(osg::Billboard& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::Billboard& node) { handle_callbacks_and_traverse(node); }
|
||||||
virtual void apply(osg::LightSource& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::LightSource& node) { handle_callbacks_and_traverse(node); }
|
||||||
|
@ -66,7 +66,7 @@ as appropriate for the viewer.
|
|||||||
|
|
||||||
Events from the windowing environment are adpated, and then fed into the GUIEventHandlers.
|
Events from the windowing environment are adpated, and then fed into the GUIEventHandlers.
|
||||||
The GUIEventHandlers analyse and take action, and make requests of the windowing
|
The GUIEventHandlers analyse and take action, and make requests of the windowing
|
||||||
environemnt via the GUIActionAdapter. The viewer writer should then honour these
|
environment via the GUIActionAdapter. The viewer writer should then honour these
|
||||||
requests, translating them into calls to the windowing API.
|
requests, translating them into calls to the windowing API.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -44,7 +44,7 @@ class OSGGA_EXPORT KeySwitchMatrixManipulator : public CameraManipulator
|
|||||||
void addMatrixManipulator(int key, std::string name, CameraManipulator *cm);
|
void addMatrixManipulator(int key, std::string name, CameraManipulator *cm);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registerd.
|
Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registered.
|
||||||
*/
|
*/
|
||||||
void addNumberedMatrixManipulator(CameraManipulator *cm);
|
void addNumberedMatrixManipulator(CameraManipulator *cm);
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ class OSGSHADOW_EXPORT MinimalShadowMap : public StandardShadowMap
|
|||||||
// when scene objects are put on earth ellipsoid surface.
|
// when scene objects are put on earth ellipsoid surface.
|
||||||
|
|
||||||
// Other scenarios are also possible for example when models are
|
// Other scenarios are also possible for example when models are
|
||||||
// built in XZY space which would require identity matrix with swapped colums
|
// built in XZY space which would require identity matrix with swapped columns
|
||||||
|
|
||||||
osg::Matrix _modellingSpaceToWorld;
|
osg::Matrix _modellingSpaceToWorld;
|
||||||
float _maxFarPlane;
|
float _maxFarPlane;
|
||||||
|
@ -61,7 +61,7 @@ class OSGSHADOW_EXPORT StandardShadowMap : public DebugShadowMap
|
|||||||
// Example: Imagine we want to swap base(0) and shadow(1) indices:
|
// Example: Imagine we want to swap base(0) and shadow(1) indices:
|
||||||
// We have to do an extra step to make sure both do not end up as 1
|
// We have to do an extra step to make sure both do not end up as 1
|
||||||
//
|
//
|
||||||
// // initialy change base to something else than 1
|
// // initially change base to something else than 1
|
||||||
// setBaseTextureCoordIndex( 100 );
|
// setBaseTextureCoordIndex( 100 );
|
||||||
// // now search and replace all gl_TexCord[1] to gl_TexCord[0]
|
// // now search and replace all gl_TexCord[1] to gl_TexCord[0]
|
||||||
// setShadowTextureCoordIndex( 0 );
|
// setShadowTextureCoordIndex( 0 );
|
||||||
|
@ -53,7 +53,7 @@ Caveats:
|
|||||||
- It's possible to render the whole sphere by specifying elevation
|
- It's possible to render the whole sphere by specifying elevation
|
||||||
and azimuth ranges round the full 360 degrees. When doing
|
and azimuth ranges round the full 360 degrees. When doing
|
||||||
so you may consider switching the planes, spokes, and edge lines
|
so you may consider switching the planes, spokes, and edge lines
|
||||||
off, to avoid rendering artefacts, e.g. the upper and lower
|
off, to avoid rendering artifacts, e.g. the upper and lower
|
||||||
planes will be coincident.
|
planes will be coincident.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -214,27 +214,27 @@ public:
|
|||||||
/** A list of vertex arrays representing a list of lines.*/
|
/** A list of vertex arrays representing a list of lines.*/
|
||||||
typedef std::vector< osg::ref_ptr<osg::Vec3Array> > LineList;
|
typedef std::vector< osg::ref_ptr<osg::Vec3Array> > LineList;
|
||||||
|
|
||||||
/** Compute the interesection lines between subgraph and this sphere segment.
|
/** Compute the intersection lines between subgraph and this sphere segment.
|
||||||
* The matrix is the transform that takes the subgraph into the same coordiante frame as the sphere segment.
|
* The matrix is the transform that takes the subgraph into the same coordinate frame as the sphere segment.
|
||||||
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
||||||
LineList computeIntersection(const osg::Matrixd& matrix, osg::Node* subgraph);
|
LineList computeIntersection(const osg::Matrixd& matrix, osg::Node* subgraph);
|
||||||
|
|
||||||
/** Compute the interesection lines between specified drawable and this sphere segment.
|
/** Compute the intersection lines between specified drawable and this sphere segment.
|
||||||
* The matrix is the transform that takes the subgraph into the same coordiante frame as the sphere segment.
|
* The matrix is the transform that takes the subgraph into the same coordinate frame as the sphere segment.
|
||||||
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
||||||
LineList computeIntersection(const osg::Matrixd& matrix, osg::Drawable* drawable);
|
LineList computeIntersection(const osg::Matrixd& matrix, osg::Drawable* drawable);
|
||||||
|
|
||||||
/** Compute the interesection lines between subgraph and this sphere segment.
|
/** Compute the intersection lines between subgraph and this sphere segment.
|
||||||
* The matrix is the transform that takes the subgraph into the same coordiante frame as the sphere segment.
|
* The matrix is the transform that takes the subgraph into the same coordinate frame as the sphere segment.
|
||||||
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
||||||
osg::Node* computeIntersectionSubgraph(const osg::Matrixd& matrix, osg::Node* subgraph);
|
osg::Node* computeIntersectionSubgraph(const osg::Matrixd& matrix, osg::Node* subgraph);
|
||||||
|
|
||||||
/** Compute the interesection lines between specified drawable and this sphere segment.
|
/** Compute the intersection lines between specified drawable and this sphere segment.
|
||||||
* The matrix is the transform that takes the subgraph into the same coordiante frame as the sphere segment.
|
* The matrix is the transform that takes the subgraph into the same coordinate frame as the sphere segment.
|
||||||
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
* The resulting intersections are in the coordinate frame of the sphere segment. */
|
||||||
osg::Node* computeIntersectionSubgraph(const osg::Matrixd& matrix, osg::Drawable* drawable);
|
osg::Node* computeIntersectionSubgraph(const osg::Matrixd& matrix, osg::Drawable* drawable);
|
||||||
|
|
||||||
/** recompute the vertex positions of the rendering meshes/lines thtat represent the sphere segment.*/
|
/** recompute the vertex positions of the rendering meshes/lines that represent the sphere segment.*/
|
||||||
void updatePositions();
|
void updatePositions();
|
||||||
|
|
||||||
/** recompute the primitives rendering meshes/lines thtat represent the sphere segment.*/
|
/** recompute the primitives rendering meshes/lines thtat represent the sphere segment.*/
|
||||||
|
@ -73,7 +73,7 @@ public:
|
|||||||
* placing text against noisy backgrounds.
|
* placing text against noisy backgrounds.
|
||||||
* The color of the background shadow text is specified by setBackdropColor().
|
* The color of the background shadow text is specified by setBackdropColor().
|
||||||
* DROP_SHADOW_BOTTOM_RIGHT will draw backdrop text to the right and down of
|
* DROP_SHADOW_BOTTOM_RIGHT will draw backdrop text to the right and down of
|
||||||
* the normal text. Other DROW_SHADOW_* modes do the same for their repective directions.
|
* the normal text. Other DROW_SHADOW_* modes do the same for their respective directions.
|
||||||
* OUTLINE will draw backdrop text so that it appears the text has an outline
|
* OUTLINE will draw backdrop text so that it appears the text has an outline
|
||||||
* or border around the normal text. This mode is particularly useful against
|
* or border around the normal text. This mode is particularly useful against
|
||||||
* really noisy backgrounds that may put text on top of things that have
|
* really noisy backgrounds that may put text on top of things that have
|
||||||
|
@ -466,7 +466,7 @@ inline RenderLeaf* CullVisitor::createOrReuseRenderLeaf(osg::Drawable* drawable,
|
|||||||
while (_currentReuseRenderLeafIndex<_reuseRenderLeafList.size() &&
|
while (_currentReuseRenderLeafIndex<_reuseRenderLeafList.size() &&
|
||||||
_reuseRenderLeafList[_currentReuseRenderLeafIndex]->referenceCount()>1)
|
_reuseRenderLeafList[_currentReuseRenderLeafIndex]->referenceCount()>1)
|
||||||
{
|
{
|
||||||
osg::notify(osg::NOTICE)<<"Warning:createOrReuseRenderLeaf() skipping multiply refrenced entry."<< std::endl;
|
osg::notify(osg::NOTICE)<<"Warning:createOrReuseRenderLeaf() skipping multiply referenced entry."<< std::endl;
|
||||||
++_currentReuseRenderLeafIndex;
|
++_currentReuseRenderLeafIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ public:
|
|||||||
virtual bool outside(const osg::Vec3 &testpoint) const;
|
virtual bool outside(const osg::Vec3 &testpoint) const;
|
||||||
|
|
||||||
/** Tessellate the constraint loops so that the crossing points are interpolated
|
/** Tessellate the constraint loops so that the crossing points are interpolated
|
||||||
* and added to the contraints for the triangulation. */
|
* and added to the constraints for the triangulation. */
|
||||||
void handleOverlaps(void);
|
void handleOverlaps(void);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -107,7 +107,7 @@ class OSGUTIL_EXPORT IncrementalCompileOperation : public osg::GraphicsOperation
|
|||||||
/** ConservativeTimeRatio governs how much of the measured spare time in each frame is used for flushing deleted and compile new OpenGL objects.
|
/** ConservativeTimeRatio governs how much of the measured spare time in each frame is used for flushing deleted and compile new OpenGL objects.
|
||||||
* Default value is 0.5, valid range is 0.1 to 1.0.
|
* Default value is 0.5, valid range is 0.1 to 1.0.
|
||||||
* A ratio near 1.0 will lead to paged databases being compiled and merged quicker but increase the chances of frame drop.
|
* A ratio near 1.0 will lead to paged databases being compiled and merged quicker but increase the chances of frame drop.
|
||||||
* A ratio near 0.1 will lead to paged databases being compiled and merged closer but reduse the chances of frame drop.*/
|
* A ratio near 0.1 will lead to paged databases being compiled and merged closer but reduce the chances of frame drop.*/
|
||||||
void setConservativeTimeRatio(double ratio) { _conservativeTimeRatio = ratio; }
|
void setConservativeTimeRatio(double ratio) { _conservativeTimeRatio = ratio; }
|
||||||
double getConservativeTimeRatio() const { return _conservativeTimeRatio; }
|
double getConservativeTimeRatio() const { return _conservativeTimeRatio; }
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ class OSGUTIL_EXPORT SceneView : public osg::Object, public osg::CullSettings
|
|||||||
/** search through any pre and post RenderStages that reference a Camera, and take a reference to each of these cameras to prevent them being deleted while they are still be used by the drawing thread.*/
|
/** search through any pre and post RenderStages that reference a Camera, and take a reference to each of these cameras to prevent them being deleted while they are still be used by the drawing thread.*/
|
||||||
void collateReferencesToDependentCameras();
|
void collateReferencesToDependentCameras();
|
||||||
|
|
||||||
/** clear the refence to any any dependent cameras.*/
|
/** clear the reference to any any dependent cameras.*/
|
||||||
void clearReferencesToDependentCameras();
|
void clearReferencesToDependentCameras();
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifndef CALLBACK
|
#ifndef CALLBACK
|
||||||
/* Win32 calling conventions. (or a least thats what the GLUT example tess.c uses.)*/
|
/* Win32 calling conventions. (or a least that's what the GLUT example tess.c uses.)*/
|
||||||
#define CALLBACK
|
#define CALLBACK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ class OSGUTIL_EXPORT UpdateVisitor : public osg::NodeVisitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The following overrides are technically redundant as the default implementation would eventually trickle down to
|
// The following overrides are technically redundant as the default implementation would eventually trickle down to
|
||||||
// apply(osg::Node&); - however defining these explicitely should save a couple of virtual function calls
|
// apply(osg::Node&); - however defining these explicitly should save a couple of virtual function calls
|
||||||
virtual void apply(osg::Geode& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::Geode& node) { handle_callbacks_and_traverse(node); }
|
||||||
virtual void apply(osg::Billboard& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::Billboard& node) { handle_callbacks_and_traverse(node); }
|
||||||
virtual void apply(osg::LightSource& node) { handle_callbacks_and_traverse(node); }
|
virtual void apply(osg::LightSource& node) { handle_callbacks_and_traverse(node); }
|
||||||
|
@ -47,7 +47,7 @@ class OSGVIEWER_EXPORT ViewConfig : public osg::Object
|
|||||||
/** configure method that is overridden by Config subclasses.*/
|
/** configure method that is overridden by Config subclasses.*/
|
||||||
virtual void configure(osgViewer::View& /*view*/) const {}
|
virtual void configure(osgViewer::View& /*view*/) const {}
|
||||||
|
|
||||||
/** convenience method for getting the relavent display settings to use.*/
|
/** convenience method for getting the relevant display settings to use.*/
|
||||||
virtual osg::DisplaySettings* getActiveDisplaySetting(osgViewer::View& view) const;
|
virtual osg::DisplaySettings* getActiveDisplaySetting(osgViewer::View& view) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ namespace osgWidget {
|
|||||||
// Externally defined; does this work in Windows?
|
// Externally defined; does this work in Windows?
|
||||||
struct LuaEngineData;
|
struct LuaEngineData;
|
||||||
|
|
||||||
// The actual Engine itself. Every attempt is made to export the implemenation into the
|
// The actual Engine itself. Every attempt is made to export the implementation into the
|
||||||
// source file, rather than having it here.
|
// source file, rather than having it here.
|
||||||
class OSGWIDGET_EXPORT LuaEngine: public ScriptEngine
|
class OSGWIDGET_EXPORT LuaEngine: public ScriptEngine
|
||||||
{
|
{
|
||||||
|
@ -638,7 +638,7 @@ class OSGWIDGET_EXPORT Window:
|
|||||||
// This method is passed the additional values by which width and height should be
|
// This method is passed the additional values by which width and height should be
|
||||||
// modified as calculed by the parent method, Window::resize. Keep in mind that these
|
// modified as calculed by the parent method, Window::resize. Keep in mind that these
|
||||||
// values can be negative (indicating a potential "shrink" request) or positive (which
|
// values can be negative (indicating a potential "shrink" request) or positive (which
|
||||||
// would indicate a "grow" reqeust).
|
// would indicate a "grow" request).
|
||||||
virtual void _resizeImplementation(point_type, point_type) = 0;
|
virtual void _resizeImplementation(point_type, point_type) = 0;
|
||||||
|
|
||||||
// These are made into implementation functions since getting the width or height
|
// These are made into implementation functions since getting the width or height
|
||||||
|
@ -401,7 +401,7 @@ int Thread::GetConcurrency()
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Constructor
|
// Description: Constructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -418,7 +418,7 @@ Thread::Thread()
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Destructor
|
// Description: Destructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
|
@ -97,7 +97,7 @@ Barrier::Barrier(int numThreads) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // ] Priority sheduling
|
#endif // ] Priority scheduling
|
||||||
|
|
||||||
#endif // ] ALLOW_PRIORITY_SCHEDULING
|
#endif // ] ALLOW_PRIORITY_SCHEDULING
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ void condition_cleanup_handler(void *arg) {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Constructor
|
// Description: Constructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -97,7 +97,7 @@ Condition::Condition() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Destructor
|
// Description: Destructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -118,7 +118,7 @@ Condition::~Condition() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: wait on a condition
|
// Description: wait on a condition
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -145,7 +145,7 @@ int Condition::wait(Mutex *mutex) {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: wait on a condition, for a specified period of time
|
// Description: wait on a condition, for a specified period of time
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -191,7 +191,7 @@ int Condition::wait(Mutex *mutex, unsigned long int ms) {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: signal a thread to wake up.
|
// Description: signal a thread to wake up.
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -205,7 +205,7 @@ int Condition::signal() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: signal many threads to wake up.
|
// Description: signal many threads to wake up.
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
|
@ -26,7 +26,7 @@ using namespace OpenThreads;
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Constructor
|
// Description: Constructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -101,7 +101,7 @@ Mutex::Mutex(MutexType type):
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: Destructor
|
// Description: Destructor
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -118,7 +118,7 @@ Mutex::~Mutex() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: lock the mutex
|
// Description: lock the mutex
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -133,7 +133,7 @@ int Mutex::lock() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: unlock the mutex
|
// Description: unlock the mutex
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
@ -148,7 +148,7 @@ int Mutex::unlock() {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Decription: test if the mutex may be locked
|
// Description: test if the mutex may be locked
|
||||||
//
|
//
|
||||||
// Use: public.
|
// Use: public.
|
||||||
//
|
//
|
||||||
|
@ -622,7 +622,7 @@ void ArgumentParser::reportRemainingOptionsAsUnrecognized(ErrorSeverity severity
|
|||||||
|
|
||||||
for(int pos=1;pos<argc();++pos)
|
for(int pos=1;pos<argc();++pos)
|
||||||
{
|
{
|
||||||
// if an option and havn't been previous querried for report as unrecognized.
|
// if an option and haven't been previous querried for report as unrecognized.
|
||||||
if (isOption(pos) && options.find(_argv[pos])==options.end())
|
if (isOption(pos) && options.find(_argv[pos])==options.end())
|
||||||
{
|
{
|
||||||
reportError(std::string("unrecognized option ")+std::string(_argv[pos]),severity);
|
reportError(std::string("unrecognized option ")+std::string(_argv[pos]),severity);
|
||||||
|
@ -620,7 +620,7 @@ osg::ref_ptr<GLBufferObject> GLBufferObjectSet::takeFromOrphans(BufferObject* bu
|
|||||||
|
|
||||||
osg::ref_ptr<GLBufferObject> GLBufferObjectSet::takeOrGenerate(BufferObject* bufferObject)
|
osg::ref_ptr<GLBufferObject> GLBufferObjectSet::takeOrGenerate(BufferObject* bufferObject)
|
||||||
{
|
{
|
||||||
// see if we can recyle GLBufferObject from the orphan list
|
// see if we can recycle GLBufferObject from the orphan list
|
||||||
{
|
{
|
||||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_mutex);
|
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_mutex);
|
||||||
if (!_pendingOrphanedGLBufferObjects.empty())
|
if (!_pendingOrphanedGLBufferObjects.empty())
|
||||||
|
@ -156,7 +156,7 @@ void CollectOccludersVisitor::apply(osg::OccluderNode& node)
|
|||||||
if (node.getOccluder())
|
if (node.getOccluder())
|
||||||
{
|
{
|
||||||
// computeOccluder will check if the occluder is the view frustum,
|
// computeOccluder will check if the occluder is the view frustum,
|
||||||
// if it ins't then the it will return false, when in it will
|
// if it isn't then the it will return false, when in it will
|
||||||
// clip the occluder's polygons in clip space, then create occluder
|
// clip the occluder's polygons in clip space, then create occluder
|
||||||
// planes, all with their normals facing inward towards the volume,
|
// planes, all with their normals facing inward towards the volume,
|
||||||
// and then transform them back into projection space.
|
// and then transform them back into projection space.
|
||||||
|
@ -16,7 +16,7 @@ using namespace osg;
|
|||||||
|
|
||||||
DrawPixels::DrawPixels()
|
DrawPixels::DrawPixels()
|
||||||
{
|
{
|
||||||
// turn off display lists right now, just incase we want to modify the projection matrix along the way.
|
// turn off display lists right now, just in case we want to modify the projection matrix along the way.
|
||||||
setSupportsDisplayList(false);
|
setSupportsDisplayList(false);
|
||||||
|
|
||||||
_position.set(0.0f,0.0f,0.0f);
|
_position.set(0.0f,0.0f,0.0f);
|
||||||
|
@ -127,7 +127,7 @@ public:
|
|||||||
|
|
||||||
virtual void deleteAllGLObjects()
|
virtual void deleteAllGLObjects()
|
||||||
{
|
{
|
||||||
OSG_INFO<<"DisplayListManager::deleteAllGLObjects() Not currently implementated"<<std::endl;
|
OSG_INFO<<"DisplayListManager::deleteAllGLObjects() Not currently implemented"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void discardAllGLObjects()
|
virtual void discardAllGLObjects()
|
||||||
|
@ -122,7 +122,7 @@ void GLObjectManager::flushAllDeletedGLObjects()
|
|||||||
|
|
||||||
void GLObjectManager::deleteAllGLObjects()
|
void GLObjectManager::deleteAllGLObjects()
|
||||||
{
|
{
|
||||||
OSG_INFO<<"void "<<_name<<"::deleteAllGLObjects() : Not Implementated"<<std::endl;
|
OSG_INFO<<"void "<<_name<<"::deleteAllGLObjects() : Not Implemented"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLObjectManager::discardAllGLObjects()
|
void GLObjectManager::discardAllGLObjects()
|
||||||
@ -145,6 +145,6 @@ void GLObjectManager::scheduleGLObjectForDeletion(GLuint globj)
|
|||||||
|
|
||||||
GLuint GLObjectManager::createGLObject()
|
GLuint GLObjectManager::createGLObject()
|
||||||
{
|
{
|
||||||
OSG_INFO<<"void "<<_name<<"::createGLObject() : Not Implementated"<<std::endl;
|
OSG_INFO<<"void "<<_name<<"::createGLObject() : Not Implemented"<<std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -683,7 +683,7 @@ unsigned int Image::computePixelSizeInBits(GLenum format,GLenum type)
|
|||||||
// which raises the question of how to actually query for these sizes...
|
// which raises the question of how to actually query for these sizes...
|
||||||
// will need to revisit this issue, for now just report an error.
|
// will need to revisit this issue, for now just report an error.
|
||||||
// this is possible a bit of mute point though as since the ARB compressed formats
|
// this is possible a bit of mute point though as since the ARB compressed formats
|
||||||
// arn't yet used for storing images to disk, so its likely that users wont have
|
// aren't yet used for storing images to disk, so its likely that users wont have
|
||||||
// osg::Image's for pixel formats set the ARB compressed formats, just using these
|
// osg::Image's for pixel formats set the ARB compressed formats, just using these
|
||||||
// compressed formats as internal texture modes. This is very much speculation though
|
// compressed formats as internal texture modes. This is very much speculation though
|
||||||
// if get the below error then its time to revist this issue :-)
|
// if get the below error then its time to revist this issue :-)
|
||||||
@ -998,7 +998,7 @@ int Image::computeNearestPowerOfTwo(int s,float bias)
|
|||||||
{
|
{
|
||||||
// it isn't so lets find the closest power of two.
|
// it isn't so lets find the closest power of two.
|
||||||
// yes, logf and powf are slow, but this code should
|
// yes, logf and powf are slow, but this code should
|
||||||
// only be called during scene graph initilization,
|
// only be called during scene graph initialization,
|
||||||
// if at all, so not critical in the greater scheme.
|
// if at all, so not critical in the greater scheme.
|
||||||
float p2 = logf((float)s)/logf(2.0f);
|
float p2 = logf((float)s)/logf(2.0f);
|
||||||
float rounded_p2 = floorf(p2+bias);
|
float rounded_p2 = floorf(p2+bias);
|
||||||
|
@ -222,7 +222,7 @@ Quat Matrix_implementation::getRotate() const
|
|||||||
QZ = 0.5 * sqrt( osg::maximum( 0.0, 1.0 - _mat[0][0] - _mat[1][1] + _mat[2][2] ) );
|
QZ = 0.5 * sqrt( osg::maximum( 0.0, 1.0 - _mat[0][0] - _mat[1][1] + _mat[2][2] ) );
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// Robert Osfield, June 7th 2007, arggg this new implementation produces many many errors, so have to revert to sign(..) orignal below.
|
// Robert Osfield, June 7th 2007, arggg this new implementation produces many many errors, so have to revert to sign(..) original below.
|
||||||
QX = QX * osg::signOrZero( _mat[1][2] - _mat[2][1]) ;
|
QX = QX * osg::signOrZero( _mat[1][2] - _mat[2][1]) ;
|
||||||
QY = QY * osg::signOrZero( _mat[2][0] - _mat[0][2]) ;
|
QY = QY * osg::signOrZero( _mat[2][0] - _mat[0][2]) ;
|
||||||
QZ = QZ * osg::signOrZero( _mat[0][1] - _mat[1][0]) ;
|
QZ = QZ * osg::signOrZero( _mat[0][1] - _mat[1][0]) ;
|
||||||
|
@ -92,7 +92,7 @@ Node::Node(const Node& node,const CopyOp& copyop):
|
|||||||
|
|
||||||
Node::~Node()
|
Node::~Node()
|
||||||
{
|
{
|
||||||
// cleanly detatch any associated stateset (include remove parent links)
|
// cleanly detach any associated stateset (include remove parent links)
|
||||||
setStateSet(0);
|
setStateSet(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ void DrawElementsIndirectUInt::draw(State& state, bool /*useVertexBufferObjects*
|
|||||||
state.bindElementBufferObject(ebo);
|
state.bindElementBufferObject(ebo);
|
||||||
|
|
||||||
state.get<GLExtensions>()-> glDrawElementsIndirect(mode, GL_UNSIGNED_INT,
|
state.get<GLExtensions>()-> glDrawElementsIndirect(mode, GL_UNSIGNED_INT,
|
||||||
(const GLvoid *)(dibo->getOffset(_indirectCommandArray->getBufferIndex()) //command array adress
|
(const GLvoid *)(dibo->getOffset(_indirectCommandArray->getBufferIndex()) //command array address
|
||||||
+_firstCommand* _indirectCommandArray->getElementSize())// runtime offset computaion can be sizeof(*_indirectCommandArray->begin())
|
+_firstCommand* _indirectCommandArray->getElementSize())// runtime offset computaion can be sizeof(*_indirectCommandArray->begin())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -209,7 +209,7 @@ bool ShadowVolumeOccluder::computeOccluder(const NodePath& nodePath,const Convex
|
|||||||
// first transform occluder polygon into clipspace by multiple it by c[i] = v[i]*(MV*P)
|
// first transform occluder polygon into clipspace by multiple it by c[i] = v[i]*(MV*P)
|
||||||
// then push to coords to far plane by setting its coord to c[i].z = -1.
|
// then push to coords to far plane by setting its coord to c[i].z = -1.
|
||||||
// then transform far plane polygon back into projection space, by p[i]*inv(P)
|
// then transform far plane polygon back into projection space, by p[i]*inv(P)
|
||||||
// compute orientation of front plane, if normal.z()<0 then facing away from eye pont, so reverse the polygons, or simply invert planes.
|
// compute orientation of front plane, if normal.z()<0 then facing away from eye point, so reverse the polygons, or simply invert planes.
|
||||||
// compute volume (quality) between front polygon in projection space and back polygon in projection space.
|
// compute volume (quality) between front polygon in projection space and back polygon in projection space.
|
||||||
|
|
||||||
|
|
||||||
|
@ -373,7 +373,7 @@ void State::reset()
|
|||||||
as.changed = true;
|
as.changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we can do a straight clear, we arn't interested in GL_DEPTH_TEST defaults in texture modes.
|
// we can do a straight clear, we aren't interested in GL_DEPTH_TEST defaults in texture modes.
|
||||||
for(TextureModeMapList::iterator tmmItr=_textureModeMapList.begin();
|
for(TextureModeMapList::iterator tmmItr=_textureModeMapList.begin();
|
||||||
tmmItr!=_textureModeMapList.end();
|
tmmItr!=_textureModeMapList.end();
|
||||||
++tmmItr)
|
++tmmItr)
|
||||||
@ -1316,7 +1316,7 @@ bool State::convertVertexShaderSourceToOsgBuiltIns(std::string& source) const
|
|||||||
std::string attributeQualifier("attribute ");
|
std::string attributeQualifier("attribute ");
|
||||||
|
|
||||||
// find the first legal insertion point for replacement declarations. GLSL requires that nothing
|
// find the first legal insertion point for replacement declarations. GLSL requires that nothing
|
||||||
// precede a "#verson" compiler directive, so we must insert new declarations after it.
|
// precede a "#version" compiler directive, so we must insert new declarations after it.
|
||||||
std::string::size_type declPos = source.rfind( "#version " );
|
std::string::size_type declPos = source.rfind( "#version " );
|
||||||
if ( declPos != std::string::npos )
|
if ( declPos != std::string::npos )
|
||||||
{
|
{
|
||||||
|
@ -1186,7 +1186,7 @@ void StateSet::addUniform(Uniform* uniform, StateAttribute::OverrideValue value)
|
|||||||
{
|
{
|
||||||
if (itr->second.first==uniform)
|
if (itr->second.first==uniform)
|
||||||
{
|
{
|
||||||
// chaning just override
|
// changing just override
|
||||||
itr->second.second = value&(StateAttribute::OVERRIDE|StateAttribute::PROTECTED);
|
itr->second.second = value&(StateAttribute::OVERRIDE|StateAttribute::PROTECTED);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1301,7 +1301,7 @@ int Texture::compareTexture(const Texture& rhs) const
|
|||||||
COMPARE_StateAttribute_Parameter(_useHardwareMipMapGeneration)
|
COMPARE_StateAttribute_Parameter(_useHardwareMipMapGeneration)
|
||||||
COMPARE_StateAttribute_Parameter(_internalFormatMode)
|
COMPARE_StateAttribute_Parameter(_internalFormatMode)
|
||||||
|
|
||||||
// only compare _internalFomat is it has alrady been set in both lhs, and rhs
|
// only compare _internalFomat is it has already been set in both lhs, and rhs
|
||||||
if (_internalFormat!=0 && rhs._internalFormat!=0)
|
if (_internalFormat!=0 && rhs._internalFormat!=0)
|
||||||
{
|
{
|
||||||
COMPARE_StateAttribute_Parameter(_internalFormat)
|
COMPARE_StateAttribute_Parameter(_internalFormat)
|
||||||
|
@ -211,7 +211,7 @@ void Texture1D::apply(State& state) const
|
|||||||
|
|
||||||
applyTexParameters(GL_TEXTURE_1D,state);
|
applyTexParameters(GL_TEXTURE_1D,state);
|
||||||
|
|
||||||
// update the modified count to show that it is upto date.
|
// update the modified count to show that it is up to date.
|
||||||
getModifiedCount(contextID) = _image->getModifiedCount();
|
getModifiedCount(contextID) = _image->getModifiedCount();
|
||||||
|
|
||||||
applyTexImage1D(GL_TEXTURE_1D,_image.get(),state, _textureWidth, _numMipmapLevels);
|
applyTexImage1D(GL_TEXTURE_1D,_image.get(),state, _textureWidth, _numMipmapLevels);
|
||||||
|
@ -83,7 +83,7 @@ public:
|
|||||||
|
|
||||||
virtual void deleteAllGLObjects()
|
virtual void deleteAllGLObjects()
|
||||||
{
|
{
|
||||||
OSG_INFO<<"VertexArrayStateManager::deleteAllGLObjects() Not currently implementated"<<std::endl;
|
OSG_INFO<<"VertexArrayStateManager::deleteAllGLObjects() Not currently implemented"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void discardAllGLObjects()
|
virtual void discardAllGLObjects()
|
||||||
|
@ -48,7 +48,7 @@ bool MorphTransformHardware::init(MorphGeometry& morphGeometry)
|
|||||||
if(pos)
|
if(pos)
|
||||||
{
|
{
|
||||||
pos->setDataVariance(osg::Object::STATIC);
|
pos->setDataVariance(osg::Object::STATIC);
|
||||||
///check if source is setted correctly
|
///check if source is set correctly
|
||||||
if (!vertexSource|| vertexSource->size() != pos->size())
|
if (!vertexSource|| vertexSource->size() != pos->size())
|
||||||
{
|
{
|
||||||
vertexSource =(static_cast<osg::Vec3Array*>( pos->clone(osg::CopyOp::DEEP_COPY_ARRAYS)));
|
vertexSource =(static_cast<osg::Vec3Array*>( pos->clone(osg::CopyOp::DEEP_COPY_ARRAYS)));
|
||||||
@ -116,7 +116,7 @@ bool MorphTransformHardware::init(MorphGeometry& morphGeometry)
|
|||||||
osg::ref_ptr<osg::Program> program ;
|
osg::ref_ptr<osg::Program> program ;
|
||||||
osg::ref_ptr<osg::Shader> vertexshader;
|
osg::ref_ptr<osg::Shader> vertexshader;
|
||||||
osg::ref_ptr<osg::StateSet> stateset = morphGeometry.getOrCreateStateSet();
|
osg::ref_ptr<osg::StateSet> stateset = morphGeometry.getOrCreateStateSet();
|
||||||
//grab geom source program and vertex shader if _shader is not setted
|
//grab geom source program and vertex shader if _shader is not set
|
||||||
if(!_shader.valid() && (program = (osg::Program*)stateset->getAttribute(osg::StateAttribute::PROGRAM)))
|
if(!_shader.valid() && (program = (osg::Program*)stateset->getAttribute(osg::StateAttribute::PROGRAM)))
|
||||||
{
|
{
|
||||||
for(unsigned int i=0;i<program->getNumShaders();++i)
|
for(unsigned int i=0;i<program->getNumShaders();++i)
|
||||||
@ -135,7 +135,7 @@ bool MorphTransformHardware::init(MorphGeometry& morphGeometry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
program->setName("HardwareMorphing");
|
program->setName("HardwareMorphing");
|
||||||
//set default source if _shader is not user setted
|
//set default source if _shader is not user set
|
||||||
if (!vertexshader.valid())
|
if (!vertexshader.valid())
|
||||||
{
|
{
|
||||||
if (!_shader.valid()) vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"morphing.vert");
|
if (!_shader.valid()) vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"morphing.vert");
|
||||||
|
@ -211,7 +211,7 @@ bool RigTransformHardware::buildPalette(const BoneMap& boneMap, const RigGeometr
|
|||||||
|
|
||||||
if (bonename.empty())
|
if (bonename.empty())
|
||||||
{
|
{
|
||||||
OSG_WARN << "RigTransformHardware::VertexInfluenceMap contains unamed bone IndexWeightList" << std::endl;
|
OSG_WARN << "RigTransformHardware::VertexInfluenceMap contains unnamed bone IndexWeightList" << std::endl;
|
||||||
}
|
}
|
||||||
BoneMap::const_iterator bmit = boneMap.find(bonename);
|
BoneMap::const_iterator bmit = boneMap.find(bonename);
|
||||||
if (bmit == boneMap.end() )
|
if (bmit == boneMap.end() )
|
||||||
@ -297,7 +297,7 @@ bool RigTransformHardware::init(RigGeometry& rig)
|
|||||||
osg::ref_ptr<osg::Shader> vertexshader;
|
osg::ref_ptr<osg::Shader> vertexshader;
|
||||||
osg::ref_ptr<osg::StateSet> stateset = rig.getOrCreateStateSet();
|
osg::ref_ptr<osg::StateSet> stateset = rig.getOrCreateStateSet();
|
||||||
|
|
||||||
//grab geom source program and vertex shader if _shader is not setted
|
//grab geom source program and vertex shader if _shader is not set
|
||||||
if(!_shader.valid() && (program = (osg::Program*)stateset->getAttribute(osg::StateAttribute::PROGRAM)))
|
if(!_shader.valid() && (program = (osg::Program*)stateset->getAttribute(osg::StateAttribute::PROGRAM)))
|
||||||
{
|
{
|
||||||
for(unsigned int i = 0; i<program->getNumShaders(); ++i)
|
for(unsigned int i = 0; i<program->getNumShaders(); ++i)
|
||||||
@ -312,7 +312,7 @@ bool RigTransformHardware::init(RigGeometry& rig)
|
|||||||
program = new osg::Program;
|
program = new osg::Program;
|
||||||
program->setName("HardwareSkinning");
|
program->setName("HardwareSkinning");
|
||||||
}
|
}
|
||||||
//set default source if _shader is not user setted
|
//set default source if _shader is not user set
|
||||||
if (!vertexshader.valid())
|
if (!vertexshader.valid())
|
||||||
{
|
{
|
||||||
if (!_shader.valid()) vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"skinning.vert");
|
if (!_shader.valid()) vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"skinning.vert");
|
||||||
|
@ -55,7 +55,7 @@ void RigTransformSoftware::buildMinimumUpdateSet( const RigGeometry&rig )
|
|||||||
|
|
||||||
if (bonename.empty())
|
if (bonename.empty())
|
||||||
{
|
{
|
||||||
OSG_WARN << "RigTransformSoftware::VertexInfluenceMap contains unamed bone IndexWeightList" << std::endl;
|
OSG_WARN << "RigTransformSoftware::VertexInfluenceMap contains unnamed bone IndexWeightList" << std::endl;
|
||||||
}
|
}
|
||||||
for(IndexWeightList::const_iterator infit = inflist.begin(); infit!=inflist.end(); ++infit)
|
for(IndexWeightList::const_iterator infit = inflist.begin(); infit!=inflist.end(); ++infit)
|
||||||
{
|
{
|
||||||
@ -165,7 +165,7 @@ bool RigTransformSoftware::init(RigGeometry&rig)
|
|||||||
|
|
||||||
if (bonename.empty())
|
if (bonename.empty())
|
||||||
{
|
{
|
||||||
OSG_WARN << "RigTransformSoftware::VertexInfluenceMap contains unamed bone IndexWeightList" << std::endl;
|
OSG_WARN << "RigTransformSoftware::VertexInfluenceMap contains unnamed bone IndexWeightList" << std::endl;
|
||||||
}
|
}
|
||||||
BoneMap::const_iterator bmit = boneMap.find(bonename);
|
BoneMap::const_iterator bmit = boneMap.find(bonename);
|
||||||
if (bmit == boneMap.end() )
|
if (bmit == boneMap.end() )
|
||||||
|
@ -71,7 +71,7 @@ void VertexInfluenceMap::normalize(unsigned int numvert)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
///remove weakest influences in order to fit targetted numbonepervertex
|
///remove weakest influences in order to fit targeted numbonepervertex
|
||||||
void VertexInfluenceMap::cullInfluenceCountPerVertex(unsigned int numbonepervertex,float minweight, bool renormalize)
|
void VertexInfluenceMap::cullInfluenceCountPerVertex(unsigned int numbonepervertex,float minweight, bool renormalize)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ void VertexInfluenceMap::computePerVertexInfluenceList(std::vector<BoneWeightLis
|
|||||||
const IndexWeightList& inflist = it->second;
|
const IndexWeightList& inflist = it->second;
|
||||||
if (it->first.empty())
|
if (it->first.empty())
|
||||||
{
|
{
|
||||||
OSG_WARN << "VertexInfluenceMap::computePerVertexInfluenceList contains unamed bone IndexWeightList" << std::endl;
|
OSG_WARN << "VertexInfluenceMap::computePerVertexInfluenceList contains unnamed bone IndexWeightList" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(IndexWeightList::const_iterator infit = inflist.begin(); infit != inflist.end(); ++infit)
|
for(IndexWeightList::const_iterator infit = inflist.begin(); infit != inflist.end(); ++infit)
|
||||||
|
@ -308,7 +308,7 @@ osg::Object* ClassInterface::createObject(const std::string& compoundClassName)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
OSG_NOTICE<<"ClassInterface::createObject("<<compoundClassName<<"), No object wrapper avaiable."<<std::endl;
|
OSG_NOTICE<<"ClassInterface::createObject("<<compoundClassName<<"), No object wrapper available."<<std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// return (ow!=0) ? ow->createInstance() : 0;
|
// return (ow!=0) ? ow->createInstance() : 0;
|
||||||
|
@ -79,7 +79,7 @@ DynamicLibrary* DynamicLibrary::loadLibrary(const std::string& libraryName)
|
|||||||
|
|
||||||
std::string fullLibraryName = osgDB::findLibraryFile(libraryName);
|
std::string fullLibraryName = osgDB::findLibraryFile(libraryName);
|
||||||
if (!fullLibraryName.empty()) handle = getLibraryHandle( fullLibraryName ); // try the lib we have found
|
if (!fullLibraryName.empty()) handle = getLibraryHandle( fullLibraryName ); // try the lib we have found
|
||||||
else handle = getLibraryHandle( libraryName ); // havn't found a lib ourselves, see if the OS can find it simply from the library name.
|
else handle = getLibraryHandle( libraryName ); // haven't found a lib ourselves, see if the OS can find it simply from the library name.
|
||||||
|
|
||||||
if (handle) return new DynamicLibrary(libraryName,handle);
|
if (handle) return new DynamicLibrary(libraryName,handle);
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ std::string osgDB::getNameLessExtension(const std::string& fileName)
|
|||||||
// strip all extensions from the filename.
|
// strip all extensions from the filename.
|
||||||
std::string osgDB::getNameLessAllExtensions(const std::string& fileName)
|
std::string osgDB::getNameLessAllExtensions(const std::string& fileName)
|
||||||
{
|
{
|
||||||
// Finds start serach position: from last slash, or the beginning of the string if none found
|
// Finds start search position: from last slash, or the beginning of the string if none found
|
||||||
std::string::size_type startPos = fileName.find_last_of(PATH_SEPARATORS); // Finds forward slash *or* back slash
|
std::string::size_type startPos = fileName.find_last_of(PATH_SEPARATORS); // Finds forward slash *or* back slash
|
||||||
if (startPos == std::string::npos) startPos = 0;
|
if (startPos == std::string::npos) startPos = 0;
|
||||||
std::string::size_type dot = fileName.find_first_of('.', startPos); // Finds *FIRST* dot from start pos
|
std::string::size_type dot = fileName.find_first_of('.', startPos); // Finds *FIRST* dot from start pos
|
||||||
@ -449,7 +449,7 @@ std::string osgDB::getPathRelative(const std::string& from, const std::string& t
|
|||||||
|
|
||||||
// Definition: an "element" is a part between slashes. Ex: "/a/b" has two elements ("a" and "b").
|
// Definition: an "element" is a part between slashes. Ex: "/a/b" has two elements ("a" and "b").
|
||||||
// Algorithm:
|
// Algorithm:
|
||||||
// 1. If paths are neither both absolute nor both relative, then we cannot do anything (we need to make them absolute, but need additionnal info on how to make it). Return.
|
// 1. If paths are neither both absolute nor both relative, then we cannot do anything (we need to make them absolute, but need additional info on how to make it). Return.
|
||||||
// 2. If both paths are absolute and root isn't the same (for Windows only, as roots are of the type "C:", "D:"), then the operation is impossible. Return.
|
// 2. If both paths are absolute and root isn't the same (for Windows only, as roots are of the type "C:", "D:"), then the operation is impossible. Return.
|
||||||
// 3. Iterate over two paths elements until elements are equal
|
// 3. Iterate over two paths elements until elements are equal
|
||||||
// 4. For each remaining element in "from", add ".." to result
|
// 4. For each remaining element in "from", add ".." to result
|
||||||
|
@ -831,8 +831,8 @@ bool StandardManipulator::setCenterByMousePointerIntersection( const GUIEventAda
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Makes mouse pointer intersection test with the geometry bellow the pointer
|
/** Makes mouse pointer intersection test with the geometry below the pointer
|
||||||
and starts animation to center camera to look at the closest hit bellow the mouse pointer.
|
and starts animation to center camera to look at the closest hit below the mouse pointer.
|
||||||
|
|
||||||
If there is a hit, animation is started and true is returned.
|
If there is a hit, animation is started and true is returned.
|
||||||
Otherwise, the method returns false.*/
|
Otherwise, the method returns false.*/
|
||||||
|
@ -49,7 +49,7 @@ Particle* ConnectedParticleSystem::createParticle(const Particle* ptemplate)
|
|||||||
|
|
||||||
if (_startParticle == Particle::INVALID_INDEX)
|
if (_startParticle == Particle::INVALID_INDEX)
|
||||||
{
|
{
|
||||||
// we are the fisrt particle create, so start the connect particle list
|
// we are the first particle create, so start the connect particle list
|
||||||
_startParticle = particleIndex;
|
_startParticle = particleIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ void osgParticle::ParticleProcessor::traverse(osg::NodeVisitor& nv)
|
|||||||
ParticleSystem::ScopedWriteLock lock(*(_ps->getReadWriteMutex()));
|
ParticleSystem::ScopedWriteLock lock(*(_ps->getReadWriteMutex()));
|
||||||
|
|
||||||
//added- 1/17/06- bgandere@nps.edu
|
//added- 1/17/06- bgandere@nps.edu
|
||||||
//a check to make sure we havent updated yet this frame
|
//a check to make sure we haven't updated yet this frame
|
||||||
if(_frameNumber < nv.getFrameStamp()->getFrameNumber())
|
if(_frameNumber < nv.getFrameStamp()->getFrameNumber())
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ void osgParticle::ParticleSystem::drawImplementation(osg::RenderInfo& renderInfo
|
|||||||
|
|
||||||
if (_useVertexArray)
|
if (_useVertexArray)
|
||||||
{
|
{
|
||||||
// note from Robert Osfield, September 2016, this block implementated for backwards compatibility but is pretty way vertex array/shaders were hacked into osgParticle
|
// note from Robert Osfield, September 2016, this block implemented for backwards compatibility but is pretty way vertex array/shaders were hacked into osgParticle
|
||||||
|
|
||||||
// set up arrays and primitives ready to fill in
|
// set up arrays and primitives ready to fill in
|
||||||
if (!ad.vertices.valid())
|
if (!ad.vertices.valid())
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user