diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2010-03-28 14:20:26 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2010-03-28 14:20:26 +0400 |
commit | 822dcc48cd6c362ef0a154ae07c17137e9e33b76 (patch) | |
tree | 4f2b959f580c86927f139ba558086296d13acdf9 /source/gameengine | |
parent | ddbb2bdaa57b69839e835c68c32086883a377560 (diff) |
bgl/BGE: glCopyTexImage2D + bgl.buffer creation error more verbose + dome post_draw (it draw only for the last overlayed scene)
1) glCopyTexImage2D - www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml
2) dome post_draw. Now dome mode can also use scene.post_draw. It only runs for the last scene. It's really useful. I'm working on a nice showcase for this (a dome visualizer for the dome mode running with bgl. In the mean time this is a (lame) example of both working together (the buffer is being copied and draw on top of the window):
http://blenderecia.orgfree.com/blender/tmp/dome_bgl_copytex2d.jpg
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index dfac6e1b816..a13cd71fdac 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -285,6 +285,7 @@ void KX_KetsjiEngine::RenderDome() return; KX_SceneList::iterator sceneit; + KX_Scene* scene; int n_renders=m_dome->GetNumberRenders();// usually 4 or 6 for (int i=0;i<n_renders;i++){ @@ -292,7 +293,7 @@ void KX_KetsjiEngine::RenderDome() for (sceneit = m_scenes.begin();sceneit != m_scenes.end(); sceneit++) // for each scene, call the proceed functions { - KX_Scene* scene = *sceneit; + scene = *sceneit; KX_Camera* cam = scene->GetActiveCamera(); m_rendertools->BeginFrame(m_rasterizer); @@ -368,6 +369,10 @@ void KX_KetsjiEngine::RenderDome() ); } m_dome->Draw(); + // Draw Callback for the last scene +#ifndef DISABLE_PYTHON + scene->RunDrawingCallbacks(scene->GetPostDrawCB()); +#endif EndFrame(); } |