Added support for osg::State::s/getInitialViewMatrix();
Added slideshow3D examples to the runexamples.bat. Fixed DatabasePager to work with the latest OpenThreads.
This commit is contained in:
parent
00e7e10a26
commit
ee30f2e30c
@ -87,6 +87,14 @@ class SG_EXPORT State : public Referenced
|
||||
}
|
||||
|
||||
|
||||
inline void setInitialViewMatrix(const osg::RefMatrix* matrix)
|
||||
{
|
||||
if (matrix) _initialViewMatrix = matrix;
|
||||
else _initialViewMatrix = _identity;
|
||||
}
|
||||
|
||||
inline const osg::Matrix& getInitialViewMatrix() const { return *_initialViewMatrix; }
|
||||
|
||||
inline void applyProjectionMatrix(const osg::RefMatrix* matrix)
|
||||
{
|
||||
if (_projection!=matrix)
|
||||
@ -106,7 +114,7 @@ class SG_EXPORT State : public Referenced
|
||||
}
|
||||
}
|
||||
|
||||
const osg::Matrix& getProjectionMatrix() const
|
||||
inline const osg::Matrix& getProjectionMatrix() const
|
||||
{
|
||||
return *_projection;
|
||||
}
|
||||
@ -630,6 +638,7 @@ class SG_EXPORT State : public Referenced
|
||||
ref_ptr<FrameStamp> _frameStamp;
|
||||
|
||||
ref_ptr<const RefMatrix> _identity;
|
||||
ref_ptr<const RefMatrix> _initialViewMatrix;
|
||||
ref_ptr<const RefMatrix> _projection;
|
||||
ref_ptr<const RefMatrix> _modelView;
|
||||
|
||||
|
@ -4,6 +4,12 @@ osgversion
|
||||
echo osglogo
|
||||
osglogo
|
||||
|
||||
echo slideshow3D introduction.xml
|
||||
slideshow3D introduction.xml
|
||||
|
||||
echo slideshow3D models.xml
|
||||
slideshow3D models.xml
|
||||
|
||||
echo osgviewer cow.osg
|
||||
osgviewer cow.osg
|
||||
|
||||
|
@ -23,6 +23,7 @@ State::State()
|
||||
{
|
||||
_contextID = 0;
|
||||
_identity = new osg::RefMatrix(); // default RefMatrix constructs to identity.
|
||||
_initialViewMatrix = _identity;
|
||||
_projection = _identity;
|
||||
_modelView = _identity;
|
||||
|
||||
|
@ -260,14 +260,8 @@ void DatabasePager::run()
|
||||
|
||||
}
|
||||
|
||||
// // hack hack hack... sleep for 1ms so we give other threads a chance..
|
||||
// #ifdef WIN32
|
||||
// Sleep(1);
|
||||
// #else
|
||||
// usleep(1000);
|
||||
// #endif
|
||||
|
||||
yield();
|
||||
// go to sleep till our the next time our thread gets scheduled.
|
||||
Yield();
|
||||
|
||||
}
|
||||
|
||||
|
@ -553,6 +553,7 @@ void SceneView::draw()
|
||||
//osg::Timer_t tend = timer.tick();
|
||||
//std::cout<<"time to flush rendering objects"<<timer.delta_m(tstart,tend)<<std::endl;
|
||||
|
||||
if (_viewMatrix.valid()) _state->setInitialViewMatrix(_viewMatrix.get());
|
||||
|
||||
RenderLeaf* previous = NULL;
|
||||
if (_displaySettings.valid() && _displaySettings->getStereo())
|
||||
|
Loading…
Reference in New Issue
Block a user