Skip to content
tristan edited this page Sep 19, 2018 · 1 revision

true

Libload scene target

The user is now able to specify the scene merging a libloaded scene, this scene is the argument scene in function LibLoad. For example:

bge.logic.LibLoad("//file.blend", "Scene", scene="SceneToMerge")

If this new argument isn't specified or None, the current scene is used instead as the previous behaviour of this function.

See also: #18d5bb1 and bge.logic.LibLoad.

Contact point rolling friction

The combined rolling friction (product of the two bodies rolling friction) can be acceded in KX_CollisionContactPoint.combinedRollingFriction

See also: #65ad95b and bge.types.KX_CollisionContactPoint.combinedRollingFriction.

Character velocity, fall and jump speed

The user can now specify the fall and jump speed in python:

KX_CharacterWrapper.fallSpeed
KX_CharacterWrapper.jumpSpeed

In the same time, it's now possible to apply a velocity to a character during a given time thanks to:

KX_CharacterWrapper.setVelocity(velocity, time, local)

To interrupt the velocity the user can set a velocity with empty time or calling a reset function:

KX_CharacterWrapper.reset()

This function also disable the walk direction.

See also: #688c3a2, 58de0a3, 5dd7fc2 and bge.types.KX_CharacterWrapper.

GLSL editor highlighting

The editor now highlight missing function for GLSL scripts, these functions are:

trunc
round
texture3DLod
texture2DLod
texture1DLod
textureCubeLod

See also: #330e7a4.

Vehicle constraint creation

It's now possible to create a vehicle constraint without the parameters needed for all other types of constraint. The following function permit it:

bge.constraint.createVehicle(chassisPhysicsId)

This function return an empty KX_VehicleWrapper linked to the chassis object used for physics id.

See also: #3341047 and bge.constraints.createVehicle.

Object unique gravity

The user can specify a gravity vector per object thanks to the attribute:

KX_GameObject.gravity

See also: #057b2cb and bge.types.KX_GameObject.gravity.

2D Filter cube map support

The cube map texture are now usable for 2d filters calling the function KX_2DFilter.setCubeMap with the same argument as KX_2DFilter.setTexture. In shader side the corresponding samplerCube will be set before rendering the 2d filter.

KX_2DFilter.setCubeMap(0, bindCode, "cubeTex")

true

See also: #b8153f2 and bge.types.KX_2DFilter.setCubeMap.

Parallax material node

The parallax is no longer limited to the blender internal material and texture setting, it can be applied in a material node tree thanks to the new parallax node. This node have similar options than the texture UI panel excepted the channel property which allow to select the texture channel used for parallax height, e.g the usage of a gray texture is possible.

Example of the node:

true

true

See also: #5d8cd9c.

PCF jittering shadow

PCF jittering is a technique to randomize the shadow sampling made in PCF to reduce sharpness. To use this technique the user have to select in UI the option PCF Jitter:

true

true

The side effect of this technique is the creation of a little noise.

See also: #ca709a6.

Constraint breaking

Constraint breaking is a bullet 3d feature allowing break constraint when the impulse applied to the constraint is too high, when it happens the constraint is set inactive but not destructed.

This feature is implemented in UI and python API, first the user can set the impulse threshold in UI constraint sub panel or in python thanks to KX_ConstraintWrapper.breakingThreshold.

true

When the constraint is broken, the python attribute KX_ConstraintWrapper.enabled is set to False and the constraint doesn't interact with the objects linked to it, but it is still draw in physics debug mode.

To enable the constraint again the user can set the same attribute KX_ConstraintWrapper.enabled to True.

See also: #e02e974 bge.types.KX_ConstraintWrapper.breakingThreshold and bge.types.KX_ConstraintWrapper.enabled.

Support mesh auto smooth

Auto smooth is an option to automatically split faces and so vertices normal when the faces angle is two high, the setting of the angle and the auto smooth option are set in mesh UI panel. These settings are now supported in game and produce same render than in viewport when the auto smooth is enabled.

Auto smooth example:

true

Here the meshes are identically but the right mesh enable auto smooth.

See also: #1028e0c.

Clean up and refactors

  • Store shader attributes with pair index : type. (see #5c34883)
  • Use KX_BlenderMaterial instead of RAS_IPolyMaterial in KX_Blender[Scene]Converter. (see #a0aa88e)
  • Implement range loop for CListValue. (see #4fdab9f)
  • Remove mesh slot map in RAS_MeshMaterial. (see #a31e011)
  • Add utilities to convert bullet vector and matrices to moto. (see #5e9e083)
  • Add gccfilter support for compiler messages. (see #70052ca)
  • Remove extra sg node check and get world transform from node. (see #0d4ca63)
  • Implement node dirty flag for multiple users. (see #2b06fad)
  • Remove usage of MT_CmMatrix4x4. (see #e56dc43)
  • Reorder libraries linkage. (see #ab41d31)
  • Optimize update of matrix in RAS_MeshSlot rendering. (see #9864f03)
  • Refactor deformer and display array usage in Rasterizer. (see #a1f1210)
  • Simplify bullet occlusion. (see #a65557c)
  • Remove influence of stereo rasterizer member in matrix compute. (see #8e4933f)

Bugs fixed

  • Avoid redundant VBO update for deformers. (see #e5a06ef)
  • Fix variance shadow for spot. (see #164dda3)
  • Fix screenshot of invalid framebuffer. (see #1538889)
  • Fix crash with KX_2DFilter.setTexture (see #485afb0)
  • Fix depth transprency meshes not sorted. (see #a1c35a8)
  • Fix shader used for all transparency material in shadow render. (see #4cc1ecb)
  • Avoid sort polygons for shadow render. (see #4193569)
  • Fix image tile animation. (see #3b9afe5)
  • Restore framebuffer and renderbuffer in BGL. (see #a88c654)
  • Fix potential dynamic uniform for material specularity. (see #73c3843)
  • Fix parallax and normal tangent. (see #a60c590)
  • Fix background color according to color management settings (see #e8dab53)
  • Fix python setUseExternalTime call. (see #fa20294)
  • Fix first frame timing gap. (see #09866ee)
  • Remove SG_[D/Q]List for sensor and fix upper cast. (see #7737f70)
  • Fix Texture mipmap with ImageRender. (see #0d5c77e)
  • Don't render frame when logic step request exit. (see #e54e339)
Clone this wiki locally