From: Oliver O. <fr...@us...> - 2007-03-30 01:56:24
|
Update of /cvsroot/simspark/simspark/spark/kerosin/renderserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10241 Modified Files: Tag: projectx renderserver.cpp Log Message: changes due to split off of the baserenderserver Index: renderserver.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/renderserver/renderserver.cpp,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.3.2.1 diff -C2 -d -r1.2.2.3 -r1.2.2.3.2.1 *** renderserver.cpp 23 Feb 2007 19:21:10 -0000 1.2.2.3 --- renderserver.cpp 30 Mar 2007 01:56:19 -0000 1.2.2.3.2.1 *************** *** 25,28 **** --- 25,29 ---- #include <oxygen/sceneserver/scene.h> #include <oxygen/sceneserver/camera.h> + #include <oxygen/physicsserver/spherecollider.h> #include <kerosin/openglserver/openglwrapper.h> #include <kerosin/sceneserver/staticmesh.h> *************** *** 36,95 **** using namespace zeitgeist; ! RenderServer::RenderServer() : Leaf() { mAmbientColor = RGBA(0.0,0.0,0.0,0.0); } - RenderServer::~RenderServer() - { - } - - void - RenderServer::OnLink() - { - // setup SceneServer reference - RegisterCachedPath(mSceneServer, "/sys/server/scene"); - - if (mSceneServer.expired()) - { - GetLog()->Error() - << "(RenderServer) ERROR: SceneServer not found\n"; - } - } - - void - RenderServer::OnUnlink() - { - mActiveScene.reset(); - Leaf::OnUnlink(); - } - - bool - RenderServer::GetActiveScene() - { - if (mSceneServer.expired()) - { - mActiveScene.reset(); - } - - mActiveScene = mSceneServer->GetActiveScene(); - - if (mActiveScene.get() == 0) - { - GetLog()->Error() << - "(RenderServer) ERROR: found no active scene\n"; - return false; - } - - return true; - } - void RenderServer::Render() { if (! GetActiveScene()) ! { ! return; ! } // get a camera to render with --- 37,52 ---- using namespace zeitgeist; ! RenderServer::RenderServer() : BaseRenderServer() { mAmbientColor = RGBA(0.0,0.0,0.0,0.0); } void RenderServer::Render() { if (! GetActiveScene()) ! { ! return; ! } // get a camera to render with *************** *** 98,106 **** if (camera.get() == 0) ! { ! GetLog()->Error() ! << "(RenderServer) ERROR: found no camera node in the active scene\n"; ! return; ! } glClearColor( --- 55,63 ---- if (camera.get() == 0) ! { ! GetLog()->Error() ! << "(RenderServer) ERROR: found no camera node in the active scene\n"; ! return; ! } glClearColor( *************** *** 129,150 **** if (lights.size() == 0) ! { ! // no lights in the scene, disable lighting ! glDisable(GL_LIGHTING); ! } else ! { ! glEnable(GL_LIGHTING); ! glShadeModel (GL_SMOOTH); ! // prepare all lights ! for ( ! TLeafList::iterator iter = lights.begin(); ! iter != lights.end(); ! ++iter ! ) ! { ! (shared_static_cast<Light>(*iter))->Prepare(); ! } ! } // standard rendering --- 86,108 ---- if (lights.size() == 0) ! { ! // no lights in the scene, disable lighting ! glDisable(GL_LIGHTING); ! } ! else ! { ! glEnable(GL_LIGHTING); ! glShadeModel (GL_SMOOTH); ! // prepare all lights ! for ( ! TLeafList::iterator iter = lights.begin(); ! iter != lights.end(); ! ++iter ! ) ! { ! (shared_static_cast<Light>(*iter))->Prepare(); ! } ! } // standard rendering *************** *** 158,184 **** RenderServer::RenderScene(boost::shared_ptr<BaseNode> node) { ! // test for and render using a RenderNode shared_ptr<RenderNode> renderNode = shared_dynamic_cast<RenderNode>(node); if (renderNode.get() != 0) ! { ! glPushMatrix(); ! glMultMatrixf(node->GetWorldTransform().m); ! renderNode->RenderInternal(); ! glPopMatrix(); ! } // traverse the the hierarchy for (TLeafList::iterator i = node->begin(); i!= node->end(); ++i) { ! shared_ptr<BaseNode> node = shared_dynamic_cast<BaseNode>(*i); ! if (node.get() == 0) ! { ! continue; ! } ! ! RenderScene(node); } } --- 116,148 ---- RenderServer::RenderScene(boost::shared_ptr<BaseNode> node) { ! #if 0 ! shared_ptr<SphereCollider> collider = shared_dynamic_cast<SphereCollider>(node); ! if (collider != 0) ! { ! std::cerr << "RenderScene (spherecollider radius: " << collider->GetRadius() << ")\n"; ! } ! #endif shared_ptr<RenderNode> renderNode = shared_dynamic_cast<RenderNode>(node); if (renderNode.get() != 0) ! { ! glPushMatrix(); ! glMultMatrixf(node->GetWorldTransform().m); ! renderNode->RenderInternal(); ! glPopMatrix(); ! } // traverse the the hierarchy for (TLeafList::iterator i = node->begin(); i!= node->end(); ++i) + { + shared_ptr<BaseNode> node = shared_dynamic_cast<BaseNode>(*i); + if (node.get() == 0) { ! continue; } + + RenderScene(node); + } } *************** *** 210,220 **** } ! void RenderServer::SetAmbientColor(const RGBA& ambient) { mAmbientColor = ambient; } - - void RenderServer::UpdateCached() - { - mActiveScene.reset(); - } --- 174,180 ---- } ! void ! RenderServer::SetAmbientColor(const RGBA& ambient) { mAmbientColor = ambient; } |