[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57594] trunk/blender/source/gameengine: BGE: Fix for [#34781] "bge.texture.ImageRender does not show Font object" reported by Monster.
Mitchell Stokes
mogurijin at gmail.com
Thu Jun 20 05:50:02 CEST 2013
Revision: 57594
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57594
Author: moguri
Date: 2013-06-20 03:50:02 +0000 (Thu, 20 Jun 2013)
Log Message:
-----------
BGE: Fix for [#34781] "bge.texture.ImageRender does not show Font object" reported by Monster.
This fix is mostly based off of HG1's patch from the bug report, which had ImageRender::Render() call KX_KetsjiEngine::RenderFonts(). However, I have moved RenderFonts() from KX_KetsjiEngine to KX_Scene where all of the other font and rendering functions are. The real fix for this mess would be to not have ImageRender::Render() have so much duplicate code from KX_KetsjiEngine::Render(), but that's a code cleanup problem for another day.
Modified Paths:
--------------
trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h
trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
trunk/blender/source/gameengine/Ketsji/KX_Scene.h
trunk/blender/source/gameengine/VideoTexture/ImageRender.cpp
Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2013-06-20 03:22:55 UTC (rev 57593)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2013-06-20 03:50:02 UTC (rev 57594)
@@ -54,7 +54,6 @@
#include "MT_Transform.h"
#include "SCA_IInputDevice.h"
#include "KX_Camera.h"
-#include "KX_FontObject.h"
#include "KX_Dome.h"
#include "KX_Light.h"
#include "KX_PythonInit.h"
@@ -340,7 +339,7 @@
// do the rendering
m_dome->RenderDomeFrame(scene,cam, i);
//render all the font objects for this scene
- RenderFonts(scene);
+ scene->RenderFonts();
}
list<class KX_Camera*>* cameras = scene->GetCameras();
@@ -358,7 +357,7 @@
// do the rendering
m_dome->RenderDomeFrame(scene, (*it),i);
//render all the font objects for this scene
- RenderFonts(scene);
+ scene->RenderFonts();
}
it++;
@@ -1339,23 +1338,12 @@
scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
//render all the font objects for this scene
- RenderFonts(scene);
+ scene->RenderFonts();
if (scene->GetPhysicsEnvironment())
scene->GetPhysicsEnvironment()->debugDrawWorld();
}
-void KX_KetsjiEngine::RenderFonts(KX_Scene* scene)
-{
- list<class KX_FontObject*>* fonts = scene->GetFonts();
-
- list<KX_FontObject*>::iterator it = fonts->begin();
- while (it != fonts->end()) {
- (*it)->DrawText();
- ++it;
- }
-}
-
/*
* To run once per scene
*/
Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h 2013-06-20 03:22:55 UTC (rev 57593)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h 2013-06-20 03:50:02 UTC (rev 57594)
@@ -205,7 +205,6 @@
void RenderDebugProperties();
void RenderShadowBuffers(KX_Scene *scene);
void SetBackGround(KX_WorldInfo* worldinfo);
- void RenderFonts(KX_Scene* scene);
public:
KX_KetsjiEngine(class KX_ISystem* system);
Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2013-06-20 03:22:55 UTC (rev 57593)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2013-06-20 03:50:02 UTC (rev 57594)
@@ -40,6 +40,7 @@
#include "MT_assert.h"
#include "KX_KetsjiEngine.h"
#include "KX_BlenderMaterial.h"
+#include "KX_FontObject.h"
#include "RAS_IPolygonMaterial.h"
#include "ListValue.h"
#include "SCA_LogicManager.h"
@@ -352,11 +353,6 @@
return &m_cameras;
}
-list<class KX_FontObject*>* KX_Scene::GetFonts()
-{
- return &m_fonts;
-}
-
void KX_Scene::SetFramingType(RAS_FrameSettings & frame_settings)
{
m_frame_settings = frame_settings;
@@ -1639,6 +1635,15 @@
KX_BlenderMaterial::EndFrame();
}
+void KX_Scene::RenderFonts()
+{
+ list<KX_FontObject*>::iterator it = m_fonts.begin();
+ while (it != m_fonts.end()) {
+ (*it)->DrawText();
+ ++it;
+ }
+}
+
void KX_Scene::UpdateObjectActivity(void)
{
if (m_activity_culling) {
Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.h 2013-06-20 03:22:55 UTC (rev 57593)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.h 2013-06-20 03:50:02 UTC (rev 57594)
@@ -381,10 +381,6 @@
);
/** Font Routines */
-
- std::list<class KX_FontObject*>*
- GetFonts(
- );
/** Find a font in the scene by pointer. */
KX_FontObject*
@@ -398,6 +394,10 @@
KX_FontObject*
);
+ /** Render the fonts in this scene. */
+ void
+ RenderFonts(
+ );
/** Camera Routines */
Modified: trunk/blender/source/gameengine/VideoTexture/ImageRender.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/ImageRender.cpp 2013-06-20 03:22:55 UTC (rev 57593)
+++ trunk/blender/source/gameengine/VideoTexture/ImageRender.cpp 2013-06-20 03:50:02 UTC (rev 57594)
@@ -275,6 +275,8 @@
m_scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
+ m_scene->RenderFonts();
+
// restore the canvas area now that the render is completed
m_canvas->GetWindowArea() = area;
}
More information about the Bf-blender-cvs
mailing list