[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17253] trunk/blender: Preparation to VideoTexture: everything but the VideoTexture module itself .
Benoit Bolsee
benoit.bolsee at online.be
Fri Oct 31 22:06:48 CET 2008
Revision: 17253
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17253
Author: ben2610
Date: 2008-10-31 22:06:48 +0100 (Fri, 31 Oct 2008)
Log Message:
-----------
Preparation to VideoTexture: everything but the VideoTexture module itself.
Rename PHY_GetActiveScene() to KX_GetActiveScene(): more logical name
Add KX_GetActiveEngine()
new KX_KetsjiEngine::GetClockTime(void) to return current
render frame time: if the CPU does not keep up with the
frame rate, up to 5 consecutive logic frames are processed
between each render frame, so that the logic system stays
accurate even if the graphic system is slow. For the video
texture module, it is important to stay in sync with the
render frame: no need to update the texture for logic frame.
BL_Texture::swapTexture(): texture id manipulation
BL_Texture::getTex() : return material texture
Enable video support in ffmpeg for Linux.
Modified Paths:
--------------
trunk/blender/extern/ffmpeg/Makefile
trunk/blender/extern/ffmpeg/SConscript
trunk/blender/projectfiles_vc7/blender/blender.vcproj
trunk/blender/source/blender/imbuf/intern/util.c
trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
trunk/blender/source/gameengine/Ketsji/BL_Texture.h
trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h
trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h
trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp
trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
trunk/blender/source/gameengine/Ketsji/KX_PythonInit.h
Modified: trunk/blender/extern/ffmpeg/Makefile
===================================================================
--- trunk/blender/extern/ffmpeg/Makefile 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/extern/ffmpeg/Makefile 2008-10-31 21:06:48 UTC (rev 17253)
@@ -35,7 +35,7 @@
ALLDIRS = libavcodec libavformat libavutil libswscale
config::
- ./configure --disable-shared --enable-liba52bin --enable-gpl --disable-network --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-pthreads
+ ./configure --disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-pthreads
all::
@for i in $(ALLDIRS); do \
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
Modified: trunk/blender/extern/ffmpeg/SConscript
===================================================================
--- trunk/blender/extern/ffmpeg/SConscript 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/extern/ffmpeg/SConscript 2008-10-31 21:06:48 UTC (rev 17253)
@@ -7,9 +7,9 @@
root = "extern/ffmpeg"
if env['OURPLATFORM'] == 'win32-mingw':
- ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-network --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-pthreads --enable-libx264 --enable-libxvid --enable-libmp3lame"
+ ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-pthreads --enable-libx264 --enable-libxvid --enable-libmp3lame"
else:
- ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-network --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-memalign-hack --enable-libx264 --enable-libxvid --enable-libmp3lame"
+ ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscaler --enable-memalign-hack --enable-libx264 --enable-libxvid --enable-libmp3lame"
if env['WITH_BF_OGG']:
ffmpeg_switches += " --enable-libogg --enable-libtheora --enable-libvorbis"
Modified: trunk/blender/projectfiles_vc7/blender/blender.vcproj
===================================================================
--- trunk/blender/projectfiles_vc7/blender/blender.vcproj 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/projectfiles_vc7/blender/blender.vcproj 2008-10-31 21:06:48 UTC (rev 17253)
@@ -124,7 +124,7 @@
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386
"
- AdditionalDependencies="SDL.lib freetype2ST.lib ftgl_static.lib gnu_gettext.lib qtmlClient.lib openal_static.lib libsoundsystem.lib libopenalsoundsystem.lib libdummysoundsystem.lib libguardedalloc.lib libbsp.lib libbmfont.lib libghost.lib libstring.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libdecimation.lib libiksolver.lib libpng_st.lib zlib.lib libmoto.lib solid.lib qhull.lib libopennl.lib Bullet.lib python25_d.lib libelbeem.lib libboolop.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib broad.lib complex.lib convex.lib memutil.lib verse.lib Half.lib Iex.lib Imath.lib IlmImf.lib IlmThread.lib avcodec-51.lib avformat-52.lib avutil-49.lib swscale-0.lib glew.lib"
+ AdditionalDependencies="SDL.lib freetype2ST.lib ftgl_static.lib gnu_gettext.lib qtmlClient.lib openal_static.lib libsoundsystem.lib libopenalsoundsystem.lib libdummysoundsystem.lib libguardedalloc.lib libbsp.lib libbmfont.lib libghost.lib libstring.lib ws2_32.lib dxguid.lib opengl32.lib libjpeg.lib glu32.lib vfw32.lib winmm.lib libdecimation.lib libiksolver.lib libpng_st.lib zlib.lib libmoto.lib solid.lib qhull.lib libopennl.lib Bullet.lib python25_d.lib libelbeem.lib libboolop.lib pthreadVSE2.lib pthreadVC2.lib libtiff.lib broad.lib complex.lib convex.lib memutil.lib verse.lib Half.lib Iex.lib Imath.lib IlmImf.lib IlmThread.lib avcodec-51.lib avformat-52.lib avdevice-52.lib avutil-49.lib swscale-0.lib glew.lib"
ShowProgress="0"
OutputFile="..\..\bin\debug\blender.exe"
LinkIncremental="2"
Modified: trunk/blender/source/blender/imbuf/intern/util.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/util.c 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/blender/imbuf/intern/util.c 2008-10-31 21:06:48 UTC (rev 17253)
@@ -64,6 +64,7 @@
#ifdef WITH_FFMPEG
#include <ffmpeg/avcodec.h>
#include <ffmpeg/avformat.h>
+#include <ffmpeg/avdevice.h>
#if LIBAVFORMAT_VERSION_INT < (49 << 16)
#define FFMPEG_OLD_FRAME_RATE 1
@@ -236,6 +237,7 @@
if (!ffmpeg_init) {
ffmpeg_init = 1;
av_register_all();
+ avdevice_register_all();
}
}
Modified: trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp 2008-10-31 21:06:48 UTC (rev 17253)
@@ -364,6 +364,7 @@
initGameKeys();
initPythonConstraintBinding();
initMathutils();
+ //initVideoTexture();
if (sceneconverter)
{
Modified: trunk/blender/source/gameengine/Ketsji/BL_Texture.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/BL_Texture.h 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/BL_Texture.h 2008-10-31 21:06:48 UTC (rev 17253)
@@ -59,6 +59,14 @@
void SetMapping(int mode);
void DisableUnit();
void setTexEnv(BL_Material *mat, bool modulate=false);
+ unsigned int swapTexture (unsigned int newTex) {
+ // swap texture codes
+ unsigned int tmp = mTexture;
+ mTexture = newTex;
+ // return original texture code
+ return tmp;
+ }
+
};
#endif//__BL_TEXTURE_H__
Modified: trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h 2008-10-31 21:06:48 UTC (rev 17253)
@@ -67,6 +67,9 @@
MTFace* GetMTFace(void) const;
unsigned int* GetMCol(void) const;
+ BL_Texture * getTex (unsigned int idx) {
+ return (idx < MAXTEX) ? mTextures + idx : NULL;
+ }
// for ipos
void UpdateIPO(
Modified: trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp 2008-10-31 21:06:48 UTC (rev 17253)
@@ -793,7 +793,7 @@
{
class KX_Scene* scene;
- scene = PHY_GetActiveScene();
+ scene = KX_GetActiveScene();
MT_assert(scene);
scene->SetCameraOnTop(this);
Py_Return;
Modified: trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp 2008-10-31 21:06:48 UTC (rev 17253)
@@ -1027,7 +1027,7 @@
PyObject* KX_GameObject::PyReplaceMesh(PyObject* self, PyObject* value)
{
- KX_Scene *scene = PHY_GetActiveScene();
+ KX_Scene *scene = KX_GetActiveScene();
char* meshname;
void* mesh_pt;
@@ -1050,7 +1050,7 @@
PyObject* KX_GameObject::PyEndObject(PyObject* self)
{
- KX_Scene *scene = PHY_GetActiveScene();
+ KX_Scene *scene = KX_GetActiveScene();
scene->DelayedRemoveObject(this);
Py_RETURN_NONE;
@@ -1447,7 +1447,7 @@
// The object we want to set as parent
CValue *m_ob = (CValue*)value;
KX_GameObject *obj = ((KX_GameObject*)m_ob);
- KX_Scene *scene = PHY_GetActiveScene();
+ KX_Scene *scene = KX_GetActiveScene();
this->SetParent(scene, obj);
@@ -1456,7 +1456,7 @@
PyObject* KX_GameObject::PyRemoveParent(PyObject* self)
{
- KX_Scene *scene = PHY_GetActiveScene();
+ KX_Scene *scene = KX_GetActiveScene();
this->RemoveParent(scene);
Py_RETURN_NONE;
}
Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2008-10-31 21:06:48 UTC (rev 17253)
@@ -470,7 +470,7 @@
m_logger->StartLog(tc_physics, m_kxsystem->GetTimeInSeconds(), true);
// set Python hooks for each scene
PHY_SetActiveEnvironment(scene->GetPhysicsEnvironment());
- PHY_SetActiveScene(scene);
+ KX_SetActiveScene(scene);
scene->GetPhysicsEnvironment()->endFrame();
@@ -568,7 +568,7 @@
// set Python hooks for each scene
PHY_SetActiveEnvironment(scene->GetPhysicsEnvironment());
- PHY_SetActiveScene(scene);
+ KX_SetActiveScene(scene);
m_logger->StartLog(tc_scenegraph, m_kxsystem->GetTimeInSeconds(), true);
scene->UpdateParents(m_clockTime);
@@ -1540,6 +1540,11 @@
return m_anim_framerate;
}
+double KX_KetsjiEngine::GetClockTime(void) const
+{
+ return m_clockTime;
+}
+
void KX_KetsjiEngine::SetAnimFrameRate(double framerate)
{
m_anim_framerate = framerate;
Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h 2008-10-31 20:50:07 UTC (rev 17252)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.h 2008-10-31 21:06:48 UTC (rev 17253)
@@ -254,6 +254,11 @@
bool GetUseFixedTime(void) const;
/**
+ * Returns current render frame clock time
+ */
+ double GetClockTime(void) const;
+
+ /**
* Returns the difference between the local time of the scene (when it
* was running and not suspended) and the "curtime"
*/
Modified: trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp 2008-10-31 20:50:07 UTC (rev 17252)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list