Skip to content
tristan edited this page Sep 30, 2018 · 9 revisions

WORK IN PROGRESS

Photo release

New Features

Improved furstum culling

See also: #20e9ff0.

Optimized mesh memory model

See also: #b6123cc.

Bullet multithreading

See also: #96148a6.

Dynamic object lighting layer

See also: #c024480.

Light falloff

See also: #b87fe29.

Color management

See also: #552bf8e.

Mesh duplication in python

See also: #1df87c0.

Mesh BVH in python

See also: #59d33db, #b7105d0.

Scene on remove callback

See also: #f62dca6.

Soft body UI settings

See also: #491ed27, #ef6c5b4, #b4b0e4c, #65ab238, #2bb2675, #45f9385.

Curve objects

Curve objects are now converted as empty objects KX_EmptyObject.

See also: #cd9fa2b.

Invisible occluders

See also: #fa68fed.

UI cleanups

See also: #6065fbd.

Default theme and startup file

See also: #08b0874.

Application directory

See also: #155b83a.

Application logo

As is indicated in the Blender web (https://www.blender.org/about/ logo/), the logo and the brand name Blender are not part of the GNU GPL, and can only be used commercially by the Blender Foundation on products, websites, and publications. Due to this the blender logo in applications is replaced by UPBGE logo.

See also: #1e5c590.

Bpy upbge version

See also #1450832.

Python component script template generation

See also: #fba7bd3.

Python component UI improvements

See also: #af46b84.

Python component security

See also: #a98a2bd, b0e3a39, c80501f.

Blender addons

See also: #7188624.

GLSL versions

See also: #bf69125.

Libload fixes

See also: #1acbbf7, #8765a15, #7f35889.

Compatibility issues

  • Rename async parameter from LibLoad as is a reserved word in Python 3.7. Now is named asynchronous. For example, you can use it this way now:
bge.logic.LibLoad(path, 'Scene', asynchronous=True)

See also: #1959ed2.

Refactor and Clean ups

  • Cleanup KX_NavMeshObject.[h/cpp]. (see #b2293e9)
  • Cleanup KX_SteeringActuator.[h/cpp]. (see #615cdb0)
  • Use std::vector for path instead of float array for nav mesh. (see #86cf416)
  • Use slot to store information around display arrays in RAS_Deformer. (see #404070c)
  • Cleanup mesh layers info. (see #39ae7f9)
  • Replace display array modification flag by update client/server. (see #87a7e65)
  • Cleanup KX_Scene.[h/cpp]. (see #1973f22)
  • Remove Hungarian notation. (see #555e650)
  • Remove unused m_rootnode member in KX_Scene. (see #a82e220)
  • Remove m_blenderGroupObject in KX_GameObject. (see #71dcfe6)
  • Use RAS_VertexFormatType to specify format in RAS_VertexData template. (see #091804c)
  • Implement template intantiation switch utility. (see #f47a2dc)
  • Use BL_ConvertObjectInfo to store object conversion data. (see #fe801b4)
  • Move ReplicateConstrains function in KX_GameObject. (see #4b4259c)
  • Replace SetProg by BindProg and UnbindProg in shaders. (see #ec62b3e)
  • Don't allocate on heap KX_LodLevel. (see #45f9b46)
  • Encapsulate light update in KX_LightObject. (see #e8a9322)
  • Rename KX_Light.[h/cpp] to KX_LightObject.[h/cpp]. (see #ab265f6)
  • Cleanup python initialization. (see #c83d50e)
  • Use vertex array object for RAS_OpenGLRasterizer::ScreenPlane. (see #3aa9b76)
  • Rename RAS_MeshObject to RAS_Mesh. (see #a3957d7)
  • Renaming KX_MeshProxy to KX_Mesh and make it permanent. (see #92af8d6)
  • Rename BL_Blender* to BL_*. (see #271407c)
  • Rename BL_BlenderScalarInterpolator.[h/cpp] to BL_ScalarInterpolator.[h/cpp]. (see #95774a1)
  • Cleanup BL_ScalarInterpolator.[h/cpp]. (see #a972f04)
  • Cleanup SG_Controller and subclasses. (see #ad70ea4)
  • Move interpolator into SG_Controller. (see #7dfc5e2)
  • Factorize code in KX_IpoSGController::Update(). (see #a8d9f40)
  • Unify SG_COntroller subclasses replication. (see #0ba4f91)
  • Use mat3 constructor from euler in KX_OrientationInterpolator. (see #6d876f1)
  • Remove unused KX_[Scaling/Position/Orientation]Interpolator. (see #3c8e4c4)
  • Remove redundant check in KX_IpoController::Update. (see #6141fa3)
  • Unify replication of interpolator in SG_Controller. (see #cf48458)
  • Use std::unique_ptr in KX_GameObject. (see #5a546f6)
  • Use VBO and VAO for debug drawing. (see #a23e65c)
  • Remove duplication of sg controllers. (see #863d1ce)
  • Don't allocate SG_Interpolator on heap. (see #c0d24cf)
  • Pass show boundingbox/armature flags to KX_Scene::DebugDraw. (see #b4324ae)
  • Use CM_ListRemoveIfFound in SCA_IObject. (see #48e2862)
  • Use std::unique_ptr for event managers in SCA_LogicManager. (see #0414529)
  • Rework the way of load the game controller database (see #03e07a5)
  • Various cleanup in syntax. (see #c960fe0)
  • Remove SG word in SG_Node function. (see #06e8f2a)
  • Simplify SG_Controller interaction with SG_Node. (see #96567f2)
  • Use template function for PyObjectFrom. (see #8b68754)
  • Use member function in EXP_ListWrapper. (see #99455b2)
  • Don't use heap for BL_ScalarInterpolator in BL_InterpolatorList. (see #096e566)
  • Move camera zoom setting in BL_Converter and RAS_CameraData. (see #3257be1)
  • Don't directly allocate on heap RAS_MeshSlot. (see #822bd35)
  • Use debug draw directly in KX_Scene and KX_KetsjiEngine. (see #e613636)
  • Simplify RAS_Rasterizer::SetViewMatrix. (see #11be475)
  • Move RAS_Deformer in RAS_MeshUser. (see #d2e0374)
  • Avoid unneeded dynamic_cast. (see #06e4dd9)
  • Move SG_Controller entirely in BL_Action. (#708) (see #8df1a72)
  • Avoid updating polygon offset if the previous state is same. (see #462e36b)
  • Replace LA_System by a simple clock. (see #3ed74ca)
  • Avoid calling glGetUniformLocation while setting a uniform through BL_Shader. (#733) (see #18e5a96)
  • Cleanup KX_Camera constructor. (see #8f3ae99)
  • Add upbge version info to stats (#767) (see #727c1fb)
  • Use mathfu types (see #844d9, #11e3f98, #44186f7, #179edd8, #1e658ce, #3e11751, #3f0e7b8, #ca264cb)
  • Replace float tuple by mathutils.Vector in python documentation. (see #432ec8f)
  • Remove unused variable in obstacle simulation. (see #b53c8bf)
  • Avoid explicit allocation on heap of physics debug drawer. (see #99feb54)
  • Refactor exit code managment. (see #2413cd4)
  • Avoid redundant state call to GL_CULL_FACE. (see #9fb0a3b)
  • Simplify texture blurring. (see #f1e625c)
  • Rename RAS_IPoly[gon]Material to RAS_IMaterial. (see #fcbde82)
  • Clarify globalDict setting. (see #3ce5565)

Bug Fixes

  • Fix channel update of duplicated armatures. (see #eb0374a)
  • Fix uninitialized bounding box. (see #cafd183)
  • Fix softbody cluster collision: set mass before creating cluster. (see #4a45419)
  • Fix reference counting of module items. (see #77464fb)
  • Use aligned allocator for RAS_BoundingBox::DisplayArraySlot. (see #a99d456)
  • Fix sys.path/meta_path/modules not restored at game end. (see #6a5f431)
  • Fix conversion of color layers. (see #48ad207)
  • Use ARB OpenGL for functions higher than 3.0. (see #ae062f8)
  • Reset mouse look actuator position on negative event. (see #c36bc67)
  • Re-enable 8th UV and color layer in ConstructArray. (see #351f778)
  • Fix ray cast with xray and property filtering. (see #2c93233)
  • Fix early bail for object activity culling. (see #69d9d10)
  • Fix deletion of mathutils types in blenderplayer python. (see #646ae9d)
  • Restore and move IsNegativeScaling in SG_Node. (see #ed78298)
  • Fix KX_GameObject::NodeSetGlobalOrientation. (see #aef8773)
  • Fix group replication. (see #af34951)
  • Fix UV and color update for deformer display array. (see #f17538d)
  • Fix object auto bounds update. (see #ba30dbb)
  • Fix FuzzyZero for very small vectors. (#664) (see #aac6b53)
  • Fix for bug #746 Navmesh related (#752) (see #8c94a3f)
  • Fix some OSX compilation errors related to mathfu. (see #7a791c9)
  • Fix mathutils callbacks registration. (see #f30d10d)
  • Fix gl_Color. (see #26c128f)
  • Set audiorate to 48000Hz by default (see #6e8870b)
  • Fix orthographic camera getScreenRay. (see #229ff4e)
  • Fix navmesh rebuild after mesh replacement. (#778) (see #5b8cb1e)
  • Fix bge.render.[get/set]Vsync. (#834) (see #dbff6df)
  • Fix geometry instancing ligthing. (#847) (see #e2fde22)
Clone this wiki locally