Castle Game Engine 4.1.1, view3dscene 3.13.0 release and more
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
New 4.1.1 version of Castle Game Engine is released! Along with it, as usual, we release view3dscene 3.13.0, our VRML/X3D browser, and update a couple of other tools/games.
New user-visible features (in Castle Game Engine and view3dscene):
examples/tools/to_data_uri.lpr
that can generate data URI from any file.
MultiTexture.function
support. Demo model.
NavigationInfo.transitionComplete
support. Demo model transition_multiple_viewpoints.x3dv shows how to use it to make an animated transition between a couple of viewpoints.
image%d.png
, for example inside our extension Movies for MovieTexture can be loaded from images sequence: the new syntax to indicate counter inside the URL is @counter(4)
, where 4 is the padding. For example image%d.png
has to be changed to [email protected](1).png
and image%4d.png
has to be changed to [email protected](4).png
. See previous news for explanation why this change is necessary.
TextureProperties
(for anisotropic filtering and more, right now you have to edit VRML/X3D to add it, which is not always comfortable when exporting VRML/X3D e.g. from Blender).
Other new engine features, visible only to developers:
ApplicationData
can use data from bundle Contents/Resources/data
. See also useful CastleFilesUtils.BundlePath
function.
Idle
, but we renamed it to Update
, since this describes its behavior correctly.
TCastleControl.AggressiveUpdate*
are removed. The (simplified and improved) version of this mechanism is now always "on" and automatically makes mouse look work better. (Still not perfect, though. Lazarus event loop still causes problems with mouse look. Use our CastleWindow for smooth mouse look.)
If you would like to restore the previous behavior just for your application, you can of course do it, since all the inputs of cameras remain configurable. Like this:
var Camera: TUniversalCamera; .... { Make sure to create a camera, if none was created yet (SceneManager.Camera is autocreated at first render). The default CreateDefaultCamera always creates a TUniversalCamera descendant, so the cast below is safe, unless you do something non-standard with cameras otherwise. } if SceneManager.Camera = nil then SceneManager.Camera := SceneManager.CreateDefaultCamera; Camera := SceneManager.Camera as TUniversalCamera; { Assign old Home/PageDown/PageUp meanings to Examine and Walk cameras. } Camera.Examime.Input_Home.Assign(K_Home); Camera.Examime.Inputs_Move[2, false].Assign(K_PageDown); Camera.Examime.Inputs_Move[2, true ].Assign(K_PageUp); Camera.Examime.Inputs_Rotate[2, false].Assign(K_PageDown); Camera.Examime.Inputs_Rotate[2, true ].Assign(K_PageUp); Camera.Walk.Input_GravityUp .Assign(K_Home); Camera.Walk.Input_UpRotate .Assign(K_PageUp); Camera.Walk.Input_DownRotate.Assign(K_PageDown);
Along with the engine and view3dscene, we also release glViewImage 1.5.0, castle game 1.0.1, demo models 3.3.0.
Future: Jan Adamec has started work on iOS port, you can see his results in ios_tests/ directory inside SVN. And Michalis started work on porting engine renderer to GLES20. If all goes well, this will result in next engine release (4.2.0) being able to use GLES20 on mobile devices like iOS and Android :)
Copyright Michalis Kamburelis and Castle Game Engine Contributors.
This webpage is also open-source and we welcome pull requests to improve it.
We use cookies for analytics. See our privacy policy.