UPBGEĀ Documentation

0.0.9

http://i.imgur.com/aXhtCxU.png

Cube map seamless

Previously the mipmapping for cube maps on cube edge was causing seam. This is a know bug due to a lack of filtering on edge for old OpenGL versions. This bug was fixed in later OpenGL version by enabling a special option.

For example with a lod bias of 7 on a cube map, previously the render was:
http://i.imgur.com/MJcmtyf.png

Now, the render is:
http://i.imgur.com/OHRlbwc.png


Python console interpreter

The user is now able to launch a python interpreter in the blender process main console to debugging the game from python. This console always exists on windows and it is pop, but is not always the case on linux. The user should just press a shortcut defined in UI in the panel:

http://i.imgur.com/jnNxgsT.png
This panel also enable or not python interpreter capability, this is to false as default. The shortcut is by default Ctrl+Shift+Alt+T

When the user press the right shortcut the game is paused and the interpreter is launch in the main console, if the main console doesn't exist the game is not paused and nothing happen.
This interpreter behave like a normal python interpreter with extra autocompletion for every python types and persistent local variables, the only predefined value is the imported bge module.

After all the works of the user on debugging. The game is continued by simply ending the interpreter, for linux Ctrl+D and for windows Ctrl+Z+Enter.

http://i.imgur.com/bvQF1uC.png


Reduce shadow update for ImageRender/ImageMirror

Recently in the Benoit Bolse's commits a shadow update was added for ImageRender/ImageMirror function refresh. The described behavior introduced safety but a non negligible performance decrease. To fix some rarely bugs but also reduce slow down in some unneeded case an option was added to allow or not a shadow update in refresh call. This option is:

ImageRender.updateShadow = True
ImageMirror.updateShadow = True


The default value is False.

Refactors and cleanups
- Optimize process on culled objects. (see 96517f7)
- Replace m_bDyna by PHY_IPhysicsController::IsDynamic() in KX_GameObject. (see d1d28e7)
- Cleanup KX_BlenderCanvas.[h/cpp] (see 0429cd9)
- Cleanup GPG_Canvas.[h/cpp] (see 14bd014)
- Cleanup RAS_ICanvas.[h/cpp] (see b63da24)
- Remove extra virtual pure function in CValue. (see 862421f)
- Cleanup RAS_Rect.h (see 3aa6f30)
- Remove AddVertex and AddPolygonVertex. (see 52815f4)
- Remove unused RAS_MeshObject::SetVertexColor. (see 6ee296f)
- Move open file code into saveGamePythonConfig and loadGamePythonConfig. (see 49b1c56)
- Remove m_isShadowDone in KX_Scene. (see 45493ef)
- Use KX_OffScreen as python proxy of RAS_IOffScreen. (see 78c816e)

Fixed bugs
- Remove CheckBindCode (see 7e32845)
- Fix keyboard sensor without qualifiers. (see 2c5c0b8)
- Fix scale for camera in SetViewMatrix (see 413e5d3)
- Fix error message in KX_Filter2DManager.addFilter. (see fc678ff)
- Fix VAO used with VBO and geometry instancing. (see 7dde109)
- Fix environment ligthing. (see 78f2623)
- Fix memory leak about unfreed window in blenderplayer. (see 6fd9f51)
- Fix GPUTeture reload and deleteion in BL_Texture. (see 5f94714)
- Fix unfreed threads data memory in blenderplayer. (see 7beccfd)
- Fix python segfault on blenderplayer error. (see 366017f)
- Render text objects as mesh objects. (see 7038db2)
- Fix memory leak for reinstanced physics shape. (see 1fb0119)
- Fix lod hysteresis override not divided by 100. (see 1fbee7c)
- Fix KX_CollisionContactPointList memory leak. (see 071d633)
- Fix memory leak for vehicle constraints. (see 53fade3)
- Fix unfreed world info for merged scenes. (see c06a5e3)
- Avoid use GPU_DYNAMIC_LAMP_SPOTSCALE constantly. (see 27261ba)
- Fix check of parallax without UV mapping. (see b2d4b30)
- Make lights textures scale possible (see cc4ecd3)