UPBGEĀ Documentation

0.0.1

Release notes UPBGE 0.0.1

CListValue for scenes list
bge.logic.getSceneList() returns a CListValue contrary to classic python list before. It allows the user to search scene by name like "scene = bge.logic.getSceneList()["SceneName"]".

Triangle rendering
All meshes are rendered with triangles contrary to the mix of quads and triangles done before. A lot of code was simplified and optimized by using only triangles, it's 5% faster than our old mix. There's no compatibility issue in the python API, KX_PolyProxy can still be a quad or a triangle, KX_MeshProxy's vertex array had the same size and vertexes in it are in the same place. (see 04dcd7)

Static shadow render
Shadow can be set as static which means "render the shadow Z buffer only one time". More info in https://developer.blender.org/D1372 (see 9d59ec)

Debug bounding box
An option "Show Bounding Box" enable to render object's culling bounding box (AABB) to debug what object is considerate under visible or not. The boxes are rendered only for mesh objects in purple and depends on the object position, scale and orientation. (see 94d111)

Bounding box settings
The user can access to some object's bounding box (AABB) settings like the choice of updating the bounding box each time the mesh is deformed or replaced, or choose to use a default bounding box based on a mesh to don't care about deformations. More info in https://developer.blender.org/D1475 (see d62442)

Vertex Buffer Object
VBO render code is reenable even if is still slower than Vertex Array combined with Display Array. Future optimizations to make VBO faster than other render mode are coming. (see 64ad15)

Ray sensor mask
Ray cast mask is exposed in the ray sensor logic brick. The user get 16 layers to choose what category of object he want to hit.

Compatibility issues
- Because of using only triangles the wire render is different, for wire materials a better mode should be used.
- KX_BlenderMaterial.[material_index/getMaterialIndex] are deprecated because the value they return can be wrong if the material is used by more than one mesh. These function will be definitively removed in 2 versions (2 month).

Bugs fixed
- Fix position/rotation not updated when using KX_GameObject.apply[Movement/Rotation] (see 7c8cd2)
- BGE: fix animation waking up for suspended scenes. (see https://developer.blender.org/D1569 and 4dfecb)
- Hidden light are now not set during render. (see 78a159)
- Debug draw viewport setting was fixed. (see 823851)
- Objects with modifier now get a proper bounding box. (see f73ed3)
- Fix T41677: Derived mesh not rendered with no face original mesh. (see 46c039)
- Fix T24948: Material not fully converted with modifiers. (see 22723f, 378123, b8e95d, 71a557)
- Fix T40475: children list owned by python and not freed. (see faf31c)
- Fix T46902: motion actuator apply zero velocity anyways. (see 630a8b)