# Engine improvements: GtkGLExt no longer used, new TCastleInspectorControl, loading optimizations, TwoSidedMaterial node

**URL:** <https://forum.castle-engine.io/t/engine-improvements-gtkglext-no-longer-used-new-tcastleinspectorcontrol-loading-optimizations-twosidedmaterial-node/110>\
**Category:** News\
**Created:** [December 15, 2019, 12:15am UTC](https://forum.castle-engine.io/t/engine-improvements-gtkglext-no-longer-used-new-tcastleinspectorcontrol-loading-optimizations-twosidedmaterial-node/110 "2019-12-15T00:15:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)\
**Post date:** [December 15, 2019, 12:15am UTC](https://forum.castle-engine.io/t/engine-improvements-gtkglext-no-longer-used-new-tcastleinspectorcontrol-loading-optimizations-twosidedmaterial-node/110/1 "2019-12-15T00:15:17Z")

</div>

| [![cge_inspector](https://castle-engine.io/wp/wp-content/uploads/2019/12/cge_inspector-200x127.png)](https://castle-engine.io/wp/wp-content/uploads/2019/12/cge_inspector.png "cge\_inspector") |

November/December engine improvements:

- We no longer use the GtkGlExt library on Unix. It was not necessary (we had a code to initialize OpenGL directly using glX on X11, and it is simpler). And this way user has one less library that needs to be installed before our application can be run.

- Loading optimizations: The [TCastleTransform](https://castle-engine.io/apidoc-unstable/html/CastleTransform.html) resources are no longer freed prematurely in some scenarios. You can also [define `CASTLE_SLIM_NODES`](https://github.com/castle-engine/castle-engine/blob/master/src/base/castleconf.inc#L421) to have a little faster node creation.

- You can specify in [CastleEngineManifest.xml](https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples) to build using lazbuild. This way our [build tool](https://github.com/castle-engine/castle-engine/wiki/Build-Tool) and [editor](https://castle-engine.io/manual_editor.php) run under the hood lazbuild instead of “bare” FPC. It’s quite useful if your application uses some Lazarus packages (like LCL). For caveats see [the documentation of `lazarus_project` and `build_using_lazbuild`](https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples#basic-project-information).

- [New version of model\_3d\_with\_2d\_controls example](https://github.com/castle-engine/castle-engine/tree/master/examples/lazarus/model_3d_with_2d_controls/) shows how to use CGE editor within Lazarus (LCL) application. We design CGE UI in [CGE editor](https://castle-engine.io/manual_editor.php), and then load it into `TCastleControlBase` on a regular Lazarus form.

- Reimplemented [TCastleInspectorControl](https://castle-engine.io/apidoc-unstable/html/CastleInspectorControl.TCastleInspectorControl.html), it is much more useful now to inspect the UI hiierarchy. Just add it to your window like `Window.Controls.InsertFront(TCastleInspectorControl.Create(...))`. Toggle visibility with F12.

- [TwoSidedMaterial X3D node is supported](https://castle-engine.io/x3d_implementation_shape.php).

- [I’m working on introducing PBR to X3D specification, and then to CGE!](https://github.com/michaliskambi/x3d-tests/wiki/Include-PBR-%28PhysicalMaterial-and-related-concepts%29-in-the-official-X3D-specification) We’ve talked a lot, and my pull request to introduce it into the Web3d specification is in-progress. We also have some [initial examples](https://github.com/michaliskambi/x3d-tests/tree/master/pbr) how it will look like. In short: there will be a new node `PhysicalMaterial`.

- [Log file location](https://castle-engine.io/manual_log.php) changed on Windows: We cannot assume we can write into the directory of the exe (because we cannot, e.g. if exe is in read-only “Program Files”). Instead we write into the log in user config directory. You can use LogOutput to print this value. See the [new, extended manual page about logging](https://castle-engine.io/manual_log.php).

- [Container.Focus](https://castle-engine.io/apidoc-unstable/html/CastleUIControls.TUIContainer.html#Focus) fixed.
