<![CDATA[Kambi VRML game engine - changes log]]> http://vrmlengine.sourceforge.net/ en-us rss_generator (version 1.0-kambi1) <![CDATA[Demo movies]]> three demo movies showing off my engine. Feast your eyes on!

In related news, development of the engine goes on. Some of the latest improvements include

  • X3D XML handling. Next release will include support for X3D (both XML and classic encoding) for all programs.
  • File filters in open/save dialogs. In GTK 2 (by GtkFileChooserDialog) and Windows (WinAPI) backends.
  • Passing kambi_time to GLSL shaders, allowing shaders to perform various beautiful animations.
]]>
Fri, 9 May 2008 05:00:00 -0700 http://vrmlengine.sourceforge.net/ 2008-05-09
<![CDATA[Engine 1.3.1 release (Lazarus packages fixed)]]> engine version 1.3.1: fixed Lazarus packages compilation, for developers that want to use our engine with Lazarus.]]> Mon, 25 Feb 2008 04:00:00 -0800 http://vrmlengine.sourceforge.net/ 2008-02-25 <![CDATA[Engine 1.3.0 release, view3dscene 2.4.0, castle 0.8.1, many other releases]]> Released engine version 1.3.0, view3dscene 2.4.0 and castle 0.8.1. Many long-awaited graphic features implemented:

  • Bump mapping: VRML renderer allows bump mapping. Various bump mapping methods are implemented (best method is auto-detected and used at runtime): dot by multitexturing (not normalized and normalized by cube map), dot by GLSL (optionally with parallax mapping, optionally with steep parallax mapping and self-shadowing).

    view3dscene allows to easily turn on bump mapping, assuming model specifies normal maps.
    castle uses bump mapping, for now only on the "fountain" level.

    For programmers: see also kambi_vrml_game_engine/3dmodels.gl/examples/bump_mapping demo in engine sources, it demonstrates emboss, dot and all other bump mapping methods built in VRML engine. Also my notes about emboss and dot (by multitexturing) bump mapping methods may be interesting: see bump_mapping/README.

  • GLSL shaders support: engine supports easily using ARB vertex / fragment programs (assembly shaders) and GLSL.

    You can also directly specify GLSL shaders inside VRML file, which is a great feature for VRML authors. Syntax of shaders in VRML follows X3D specification.

    view3dscene allows to control GLSL shaders and even simply assign GLSL shaders (check out Edit -> Simply assign GLSL shader to all objects menu item), so you can test your shaders with any 3D model.

    For programmers: you may find useful my notes about shading languages in shading_langs_demo/README.

  • Anti-aliasing available (if multisampling is supported by graphic card). view3dscene has comfortable menu File -> Startup Preferences -> Anti aliasing and also a command-line option --anti-alias to control this, castle has comfortable menu item in Video options.

  • Collada model format basic support (1.3.x and 1.4.x) added to the engine (view3dscene and everything else open Collada files, just like any other model format; you can also convert Collada files to VRML 2.0).

  • Wavefront OBJ format handling improved (we handle normal vectors, materials, textures).

  • Examine mode allows to rotate and move the scene by mouse dragging. This is more intuitive and sometimes comfortable. This feature is mostly noticeable in view3dscene, although some example programs in engine demos also use such examine mode and also benefit from this.

Besides improvements above, some improvements specific to view3dscene:

  • --screenshot command-line option, requested a few times, to take screenshots of the scene in batch mode.
  • Various fill modes. Previously only normal and wireframe were available, now we have a couple more, like solid wireframe and silhouette. Keys changed ("w" key no longer works, "f" key changes fill mode instead of fog state).

Also our Blender VRML 97 exporter script improved: set solid / set smooth / autosmooth / autosmooth degrees settings from Blender are correctly exported to VRML file (as creasteAngle field).

Other most notable internal engine changes:

  • I dropped my custom OpenGLh binding in favor of using GL, GLU, GLExt units from FPC. Full story: OpenGLh was developed when FPC had no usable OpenGL binding unit (neither had Delphi)... Times have changed, and current GL, GLU, GLExt units are usable, and (partially thanks to my patches, quite a few :) ) they work good and support OpenGL 2.0 functions. (While OpenGLh was on the level of GL 1.2 + many extensions).
  • Among many new demo programs, there's also kambi_vrml_game_engine/3dmodels.gl/examples/plane_mirror_and_shadow.pasprogram to test plane-projected shadows and plane mirrors. Plane-projected shadows is only for simple demo (we have implemented shadow volumes, thousand times better algorithm, after all), but plane mirrors will be implemented in the future in the VRML engine (using "mirror" Material field automatically).

Other releases: Kambi VRML test suite 2.1.0 has many new tests/demos for new features (bump mapping, GLSL, Collada format). Also released: rayhunter 1.2.2, lets_take_a_walk 1.2.1, malfunction 1.2.4, kambi_lines 1.1.4, glplotter 1.2.1, glViewImage 1.2.2, bezier_curves 1.1.6, glcaps 1.1.2, mainly to bring them up-to-date with current engine state.

]]>
Tue, 19 Feb 2008 04:00:00 -0800 http://vrmlengine.sourceforge.net/ 2008-02-19
<![CDATA[castle 0.8.0, view3dscene 2.3.0 released]]> "The Castle" 0.8.0 released:
  • New demo level: the fountain, done in pure VRML 2.0 format (no more VRML 1.0). Shadows for whole level are generated dynamically. In the next release, this level is supposed to be augmented with some eye candy graphical effects, for now enjoy VRML 2.0 and shadows :)

  • Shadows improvements (see also new chapter in documentation about shadows) :

    • First of all, z-fail implemented and proper detection when z-fail is needed implemented, so faster z-pass is used when possible. "The Castle" shows (toggle with Tab, just like for FPS) number of shadows qualified as z-pass, z-fail, z-fail with light cap needed etc.
    • Shadow volumes silhouette optimization improved: now models don't have to be perfect manifold to use this. See kambi_vrml_game_engine/3dmodels.gl/examples/shadow_volume_test/ demo, in particular the shadow_volume_test_ball_with_tentacles.sh example.
    • Much better frustum culling for shadows.
  • Arrows are affected by gravity, and underwater "sick" projection effect, thanks to Grzegorz Hermanowicz (herrmannek).

  • Numerous memory and speed optimizations to load VRML models and animations faster and better (thanks to valgrind (callgrind, massif)). Also in "The Castle" there's new Conserve memory feature (this basically means that only creature animations needed for current level are kept in memory), turned on by default.

    So "Loading creatures" is much less resource consuming. And finally pretty much all Radeon issues are fixed now.

  • Fixed hang (actually, a really really long delay) when closing sound device on Linux (actually, with OpenAL sample implementation).
  • Demo levels are available directly from "New game" menu now.
  • Nicer credits screen.

view3dscene 2.3.0 released:

  • Prototypes (both PROTO and EXTERNPROTO) VRML 2.0 feature is fully implemented now !
  • VRML 2.0 lights are correctly handled (DirectionalLight affects every sibling, positional lights affect whole scene taking radius into account).
  • ROUTE constructs of VRML 2.0 are parsed now. Although they still don't actually do anything. So at least scenes using routes are partially handled (routes are simply ignored), instead of just producing an error.
  • Default blending dest factor for view3dscene is GL_ONE_MINUS_SRC_ALPHA, since this is expected by most VRML authors.
  • VRML files compressed by gzip are handled OK even if they have normal .wrl extension.
  • --write-to-vrml fixed
  • Handling of colors (color, colorPerVertex, colorIndex) for IndexedFaceSet and IndexedLineSet done.
  • NavigationInfo.speed is now handled correctly (it sets speed per second)
  • Text3D extension.

Kambi VRML game engine 1.2.0 released. Most features mentioned above for view3dscene and castle (shadows, optimizations, all VRML 2.0 features) are actually implemented in the engine, and other programs only use them. Additionally, some more internal features not mentioned above:

  • Engine is ported and works flawlessly on x86-64 on Linux. No more only 32-bit :) Also, it's partially ported to Windows x84-64 (tested compilation with cross compiler, no actual run tests).

    This also results in the change of archive binary names: they all get i386 after their name, eventually I may release precompiled versions for x86-64 too.

  • GLWindow allows to change cursor shape.

  • Everything is compiled using new FPC 2.2.0.

Kambi VRML test suite 2.0.0 released: many new tests to test new features (protos, external protos, colors, light scope, running path to test NavigationInfo.speed, 3d text), some important VRML 1.0 tests ported to VRML 2.0 too (castle, relative_names, texture_test, house behind the glass).

Blender VRML stuff page added, with improved VRML 2.0 exporter and kanim exporter.

Updated version of VRML engine documentation is available, with a chapter about shadows implementation.

]]>
Sat, 17 Nov 2007 04:00:00 -0800 http://vrmlengine.sourceforge.net/ 2007-11-17
<![CDATA[glplotter 1.2.0 and view3dscene 2.2.1 released]]>
  • glplotter 1.2.0 and gen_function 1.0.2 released: glplotter GUI greatly improved: Open/Add menu items to open graphs from files and to generate graphs from function expressions. This means that now you don't have to specify graphs at command-line, and now you don't have to write pipes with gen_function. Also documentation and some options translated finally to English.
  • view3dscene 2.2.1 released: bug fix release. Fixed crash when removing geometry node from VRML 2.0 hierarchy. Fixed jagged animation when world time was really large (usually occurs when "on display" time pass was really large for some time). Fixed messing the gravity "up" vector when reopening the scene.
  • Kambi VRML game engine 1.1.1 released: changes needed by view3dscene and glplotter above.
  • RSS feed listing all changes is available now. SouceForge already made RSS feeds for our project, but they didn't allow me HTML code there, and HTML links are simply useful for my changes_log messages.
  • ]]>
    Thu, 6 Sep 2007 05:00:00 -0700 http://vrmlengine.sourceforge.net/ 2007-09-06
    <![CDATA[view3dscene 2.2.0 and related releases]]>
  • view3dscene 2.2.0 release: view3dscene can display animations now (for now in Kanim (Kambi VRML engine animations) format and MD3).
  • Kambi VRML test suite 1.1.0 release: many kanim demos added.
  • Kambi VRML game engine 1.1.0 release: many changes, for animations in view3dscene, also GLMenu and GameSoundEngine units added (some "The Castle" code improved and moved to a generally-usefull units area), bugfixes to MD3 texture handling.
  • ]]>
    Sat, 25 Aug 2007 05:00:00 -0700 http://vrmlengine.sourceforge.net/ 2007-08-25
    <![CDATA[Move to SourceForge finished]]> The move of Kambi VRML game engine project to SourceForge is finished ! In fact, if you're reading this text, then you already view our page as hosted on SourceForge.

    Being on SourceForge gives us many new features, most important ones: file downloads use all the power and speed of SF mirrors, development is done inside publicly visible SVN repository, we have a public vrmlengine-main mailing list, we have trackers for bugs, feature requests, patches, there's RSS feed to monitor new releases.

    ]]>
    Wed, 25 Jul 2007 05:00:00 -0700 http://vrmlengine.sourceforge.net/ 2007-07-25
    <![CDATA[Moving to SourceForge: using SF download system]]> Download links for most VRML stuff on this page direct to SourceForge file release system now. This is another step in moving to vrmlengine on SourceForge.

    Also, some things now get version numbers: Kambi VRML game engine (1.0.0), Kambi VRML test suite (1.0.0).

    ]]>
    Mon, 23 Jul 2007 05:00:00 -0700 http://vrmlengine.sourceforge.net/ 2007-07-23