Performance optimizations in deferred lighting shaders
Created structures for alpha transparency and occlusion culling Fixed memory allocation issue in KREngine.mm (pointer to NSDictionary allocated on stack retained and later dereferenced when popped) --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4074
This commit is contained in:
@@ -88,6 +88,9 @@ void KRContext::loadResource(std::string path) {
|
||||
void KRContext::registerNotified(KRNotified *pNotified)
|
||||
{
|
||||
m_notifiedObjects.insert(pNotified);
|
||||
for(std::set<KRNode *>::iterator itr=m_allNodes.begin(); itr != m_allNodes.end(); itr++) {
|
||||
pNotified->notify_sceneGraphCreate(*itr);
|
||||
}
|
||||
}
|
||||
|
||||
void KRContext::unregisterNotified(KRNotified *pNotified)
|
||||
@@ -95,18 +98,25 @@ void KRContext::unregisterNotified(KRNotified *pNotified)
|
||||
m_notifiedObjects.erase(pNotified);
|
||||
}
|
||||
|
||||
|
||||
void KRContext::notify_sceneGraphCreate(KRNode *pNode)
|
||||
{
|
||||
m_allNodes.insert(pNode);
|
||||
for(std::set<KRNotified *>::iterator itr = m_notifiedObjects.begin(); itr != m_notifiedObjects.end(); itr++) {
|
||||
(*itr)->notify_sceneGraphCreate(pNode);
|
||||
}
|
||||
}
|
||||
|
||||
void KRContext::notify_sceneGraphDelete(KRNode *pNode)
|
||||
{
|
||||
|
||||
for(std::set<KRNotified *>::iterator itr = m_notifiedObjects.begin(); itr != m_notifiedObjects.end(); itr++) {
|
||||
(*itr)->notify_sceneGraphDelete(pNode);
|
||||
}
|
||||
m_allNodes.erase(pNode);
|
||||
}
|
||||
|
||||
void KRContext::notify_sceneGraphModify(KRNode *pNode)
|
||||
{
|
||||
|
||||
for(std::set<KRNotified *>::iterator itr = m_notifiedObjects.begin(); itr != m_notifiedObjects.end(); itr++) {
|
||||
(*itr)->notify_sceneGraphModify(pNode);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user