Update of /cvsroot/simspark/simspark/spark/kerosin/sceneserver
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24230/sceneserver
Modified Files:
Tag: WIN32
light.cpp light.h
Log Message:
- cleanup
- use CachedPath objects to cache references
Index: light.h
===================================================================
RCS file: /cvsroot/simspark/simspark/spark/kerosin/sceneserver/light.h,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** light.h 5 Dec 2005 21:38:23 -0000 1.1
--- light.h 16 Feb 2007 15:40:49 -0000 1.1.2.1
***************
*** 24,27 ****
--- 24,28 ----
#include <kerosin/openglserver/glbase.h>
+ #include <kerosin/openglserver/openglserver.h>
#include "staticmesh.h"
#include "oxygen/geometryserver/indexbuffer.h"
***************
*** 121,126 ****
std::vector<oxygen::IndexBuffer> mCachedIndices;
! /** reference to the RenderServer */
! boost::shared_ptr<OpenGLServer> mOpenGLServer;
};
--- 122,127 ----
std::vector<oxygen::IndexBuffer> mCachedIndices;
! /** reference to the OpenGLServer */
! CachedPath<OpenGLServer> mOpenGLServer;
};
Index: light.cpp
===================================================================
RCS file: /cvsroot/simspark/simspark/spark/kerosin/sceneserver/light.cpp,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** light.cpp 10 Feb 2007 16:18:24 -0000 1.1.2.1
--- light.cpp 16 Feb 2007 15:40:48 -0000 1.1.2.2
***************
*** 26,30 ****
#include "light.h"
#include <kerosin/renderserver/renderserver.h>
- #include <kerosin/openglserver/openglserver.h>
#include <zeitgeist/logserver/logserver.h>
--- 26,29 ----
***************
*** 159,163 ****
void Light::FlushCache()
{
! const unsigned int n
= static_cast<unsigned int>(mCachedIndices.size());
--- 158,162 ----
void Light::FlushCache()
{
! const unsigned int n
= static_cast<unsigned int>(mCachedIndices.size());
***************
*** 177,215 ****
void Light::OnLink()
{
! mOpenGLServer = shared_dynamic_cast<OpenGLServer>
! (GetCore()->Get("sys/server/opengl"));
! if (mOpenGLServer.get() == 0)
{
GetLog()->Error()
<< "(Light) ERROR: OpenGLServer not found\n";
! } else
! {
! mGLLight = mOpenGLServer->AllocLight();
!
! if (mGLLight < 0)
! {
! GetLog()->Error()
! << "(Light) ERROR: No more OpenGL lights available\n";
! }
!
! #if 0
! mVP = mOpenGLServer->LoadARBVertexProgram("sys/program/omnilight.vp");
! if (mVP == 0)
! {
! GetLog()->Error()
! << "(Light) ERROR: Could not load vertex program\n";
! }
!
! mFP = mOpenGLServer->LoadARBFragmentProgram("sys/program/omnilight.fp");
! if (mFP == 0)
! {
! GetLog()->Error()
! << "(Light) ERROR: Could not load fragment program\n";
! }
! #endif
! }
}
--- 176,195 ----
void Light::OnLink()
{
! RegisterCachedPath(mOpenGLServer, "sys/server/opengl");
! if (mOpenGLServer.expired())
{
GetLog()->Error()
<< "(Light) ERROR: OpenGLServer not found\n";
! return;
! }
! mGLLight = mOpenGLServer->AllocLight();
+ if (mGLLight < 0)
+ {
+ GetLog()->Error()
+ << "(Light) ERROR: No more OpenGL lights available\n";
+ }
}
***************
*** 217,221 ****
{
if (
! (mOpenGLServer.get() != 0) &&
(mGLLight >= 0)
)
--- 197,201 ----
{
if (
! (! mOpenGLServer.expired()) &&
(mGLLight >= 0)
)
***************
*** 225,229 ****
}
! mOpenGLServer.reset();
}
--- 205,209 ----
}
! BaseNode::OnUnlink();
}
|