Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2010-03-28 14:20:26 +0400
committerDalai Felinto <dfelinto@gmail.com>2010-03-28 14:20:26 +0400
commit822dcc48cd6c362ef0a154ae07c17137e9e33b76 (patch)
tree4f2b959f580c86927f139ba558086296d13acdf9 /source/gameengine
parentddbb2bdaa57b69839e835c68c32086883a377560 (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.cpp7
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();
}