Recent

Author Topic: Kambi VRML game engine 2.4.0 release  (Read 27713 times)

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Kambi VRML game engine 2.4.0 release
« on: February 08, 2011, 08:29:36 am »
We're proud to release a new version of Kambi VRML game engine 2.4.0. It's a cross-platform open-source 3D engine for FPC/Lazarus, using VRML/X3D (can be exported from any 3D modeler, more info here) as it's main scene format.

Together with new engine version, we also release new view3dscene 3.9.0. view3dscene is our "Swiss army knife", a browser/viewer for 3D files using our engine underneath.

For developers, the main page with engine sources and documentation is here.

New engine features of this release:

  • The main new feature is a new modern renderer, using interleaved vertex arrays and VBOs to render absolutely everything. For curious programmers, documentation describes how the new renderer internally works.
  • Support for defining GLSL attributes in VRML/X3D files.
  • Fog improvements: LocalFog (add / remove fog on specific shapes), FogCoordinates (explicitly specify fog density)
  • An improved triagulation (TVRMLShape.LocalTriangulate) callback. This gives you information about per-vertex normals and texture coords for custom processing. You can also directly use TVRMLShape.GeometryArrays, and have the complete information about the shape (with multi-texturing, colors etc.), just like the renderer.
« Last Edit: February 08, 2011, 06:03:58 pm by michalis »

Iliya.St

  • New member
  • *
  • Posts: 8
Re: Kambi VRML game engine 2.4.0 release
« Reply #1 on: February 13, 2011, 07:43:40 pm »
Hello, michalis!
I have a question. How to compile programs that uses kambi_glwindow package from Lazarus, if "kambi_glwindow package is supposed only to be "used" (that is, required by other projects), never installed in Lazarus IDE"?

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #2 on: February 13, 2011, 08:09:12 pm »
How to compile programs that uses kambi_glwindow package from Lazarus, if "kambi_glwindow package is supposed only to be "used" (that is, required by other projects), never installed in Lazarus IDE"?

1. From Lazarus, open and compile kambi_glwindow.lpk package. Just don't install this package. You have to do this once, to make Lazarus aware of kambi_glwindow package.
2. That's it. Open and compile the demo programs you want, as usual.

Iliya.St

  • New member
  • *
  • Posts: 8
Re: Kambi VRML game engine 2.4.0 release
« Reply #3 on: February 13, 2011, 08:15:05 pm »
Thank you!  :D

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #4 on: February 13, 2011, 11:56:14 pm »
This library seems very cool. I'm a little bit confused with 3d things, is it easy to program something with Kambi VRML ?
Conscience is the debugger of the mind

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #5 on: February 14, 2011, 12:46:16 am »
This library seems very cool. I'm a little bit confused with 3d things, is it easy to program something with Kambi VRML ?

I should let others judge if it's easy to use the engine :) As an author, I'm a little biased :) I'm sure there are a lot of things that can be made more comfortable or documented better, please ask and report anything you miss.

We have a lot of examples and documentation included. Beginner tutorials are one important thing missing (although I started a draft, it's in kambi_vrml_game_engine/doc/DRAFT.engine_tutorial in the sources). But some examples are really basic, so they should set you on the right track hopefully.

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #6 on: February 14, 2011, 04:35:16 am »
I've tested view3dscence. It seems to work. I guess some samples do not work.
Conscience is the debugger of the mind

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #7 on: February 14, 2011, 05:32:34 am »
I've tested view3dscence. It seems to work. I guess some samples do not work.

Hm? Which samples, how do they not work?

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #8 on: February 15, 2011, 01:03:12 am »
I'm testing on 64bit with Windows 7.

  • 3ds -> ok
  • bumpmapping -> ok
  • collada ->
    - cart collada : I don't see any difference between with matrix or not
    - humanoid collada : it works except with baked matrix, if I rotate the object in a certain way, the program view3dscene exits without any message
  • compositing shaders ->
    - fresnel_and_toon : nothing shows up, "VRML parse error at position 274: invalid VRML node content 'blendMode'"
    - rhan_shrine : "access violation"
  • kambi_script -> ok
  • kanim ->
    - background animation does not work
    - fog_animation_1 and fog_animation_1 do not animate
    - others animations are ok
    - phong shading is very nice
  • shaders -> ok
  • shadow mapts -> seems to work but not very beautiful

Conscience is the debugger of the mind

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #9 on: February 15, 2011, 09:28:26 pm »
Quote
      - cart collada : I don't see any difference between with matrix or not

That's good. That's the point of this test, they look the same (although are encoded a little differently inside).

Quote
      - humanoid collada : it works except with baked matrix, if I rotate the object in a certain way, the program view3dscene exits without any message

Fixed now in SVN, thanks for reporting this! Note that humanoid-collada131-baked-matrix.dae is a little invalid (although the point of the test was to ensure that we still handle it gracefully).

Quote
    * compositing shaders ->
      - fresnel_and_toon : nothing shows up, "VRML parse error at position 274: invalid VRML node content 'blendMode'"

It looks like you're using kambi_vrml_test_suite from SVN, with the stable view3dscene 3.9.0? Some demos in kambi_vrml_test_suite in SVN test features that were only implemented (or fixed) in latest SVN.

Everything in "compositing shaders" subdirectory depends on new view3dscene feature in SVN. They will not work, may not even parse, with stable view3dscene 3.9.0. This is something I'll announce later and will be a main feature of the next engine version. If you're curious, you can peek at trunk/papers/compositing_shaders/, you can also compile view3dscene from SVN and try "Force Shader Rendering". But this is really highly unstable and in development right now.

So you can just ignore stable view3dscene problems on these models.

Quote
rhan_shrine : "access violation"

This is one of the things already fixed in SVN.

Quote
      - background animation does not work
      - fog_animation_1 and fog_animation_1 do not animate

Inside the kanim subdirectory, only the .kanim files will actually animate, and .wrl files are only static animation frames. So it's normal that fog_animation_1.wrl and fog_animation_2.wrl don't animate (but fog_animation.kanim should animate). I should have named them better --- done in SVN.

Also, I just committed to SVN some changes to background animation. Using kanim format for it was a bad idea, it was always slow anyway, and I'm explicitly warning that kanim is obsolete hack anyway. So background animations were moved to vrml_2/background_animate_colors.wrl and background_animate_rotation.wrl, they now work both correctly and lighting fast (as long as you use view3dscene from SVN).

Also, fog_animation.kanim did animate fog color but not fog direction --- fixed, again thanks for reporting.

Quote
    * shadow mapts -> seems to work but not very beautiful

These are much better in latest SVN with "Force Shader Rendering", where shadow maps are applied more correctly, from multiple lights, and everything has per-pixel lighting.

Bear in mind that the engine was never really seriously tested on Win/64. I only test it and release for Linux/32, Linux/64, and Windows/32 (and Mac OS X/32). Did you use the precompiled version for Windows/32, and just run it on Windows/64? (This would mean that we use 32 inside 64; glad it works so well.) Or did you compile view3dscene yourself?

In any case, many thanks for testing, and keep them coming :)

I see you have not tested inside x3d/ subdirectory --- there are some really interesting demos inside. (In fact, kambi_vrml_test_suite in SVN has some rearrangements right now to move them to higher and more meaningfully-named subdirectories.) Try e.g. x3d/water_reflections/ or x3d/cubemap_generated_in_dynamic_world.x3dv or x3d/rendered_texture/.

If you want to get view3dscene with above fixes, you can either compile it yourself from SVN or get ready binary from our nightly builds.

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #10 on: February 15, 2011, 09:55:47 pm »
Quote
     - cart collada : I don't see any difference between with matrix or not
That's good. That's the point of this test, they look the same (although are encoded a little differently inside).
Ok.

Quote
Fixed now in SVN, thanks for reporting this! Note that humanoid-collada131-baked-matrix.dae is a little invalid (although the point of the test was to ensure that we still handle it gracefully).
Ok.

Quote
Everything in "compositing shaders" subdirectory depends on new view3dscene feature in SVN. They will not work, may not even parse, with stable view3dscene 3.9.0.
I am using version view3dscene-3.9.0-win-i386. It does not parse at all.

Quote
Quote
rhan_shrine : "access violation"
This is one of the things already fixed in SVN.
Ok.

Quote
     - background animation does not work
      - fog_animation_1 and fog_animation_1 do not animate

Quote
Inside the kanim subdirectory, only the .kanim files will actually animate, and .wrl files are only static animation frames. So it's normal that fog_animation_1.wrl and fog_animation_2.wrl don't animate (but fog_animation.kanim should animate).
Oh yes, that's right.

Quote
Also, I just committed to SVN some changes to background animation. Using kanim format for it was a bad idea, it was always slow anyway
It was not working at all, nothing was moving.

Quote
Also, fog_animation.kanim did animate fog color but not fog direction --- fixed, again thanks for reporting.
I did not report that.   ;)

Quote
Bear in mind that the engine was never really seriously tested on Win/64. I only test it and release for Linux/32, Linux/64, and Windows/32 (and Mac OS X/32). Did you use the precompiled version for Windows/32, and just run it on Windows/64? (This would mean that we use 32 inside 64; glad it works so well.) Or did you compile view3dscene yourself?
I guess it's a Win32 application running on Win64.

Quote
I see you have not tested inside x3d/ subdirectory --- there are some really interesting demos inside. (In fact, kambi_vrml_test_suite in SVN has some rearrangements right now to move them to higher and more meaningfully-named subdirectories.) Try e.g. x3d/water_reflections/ or x3d/cubemap_generated_in_dynamic_world.x3dv or x3d/rendered_texture/.
I tested it before but I was too sleepy.

Quote
If you want to get view3dscene with above fixes, you can either compile it yourself from SVN or get ready binary from our nightly builds.
Ok.

x3d/water_reflections/ : it's ok but the water is too high and there are polygons discontinuities.
x3d/cubemap_generated_in_dynamic_world.x3dv : it makes the program exit without notice
« Last Edit: February 15, 2011, 10:09:49 pm by circular »
Conscience is the debugger of the mind

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #11 on: February 15, 2011, 10:42:17 pm »
Quote
x3d/water_reflections/ : it's ok but the water is too high and there are polygons discontinuities.

The fact that water is higher than ground is normal. This is just a demo, not a real model where you would place the water surface lower.

The fact that there are water discontinuities on water_reflections_normalmap.x3dv indicates a graphic card that doesn't fully correctly render polygons. What is your graphic card? (The information can be seen also through "Help->OpenGL information" menu item, the "Version string", "Vendor", "Renderer" fields.)

What is more alarming is that I don't see any texture applied on your screenshot. Did you turn off texturing, or is it a bug? (In the latter case, I would definitely want to know what's your GPU. Also, if there are any warnings displayed upon opening the model.) For reference, I'm attaching a screenshot how it should look like. Another screenshot from this is here.

Quote
x3d/cubemap_generated_in_dynamic_world.x3dv : it makes the program exit without notice

That's bad. It certainly works fine here, on Windows/32, Linux/32, Linux/64, under three different GPUs (new NVidia, old Radeon, new Radeon).

Can you run view3dscene from terminal (console), and see what it writes? Even better, can you run it in terminal like "view3dscene.exe --debug-log > log.txt", and send me the generated log.txt? This will tell me more where's the problem.

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #12 on: February 16, 2011, 01:19:01 am »
The fact that there are water discontinuities on water_reflections_normalmap.x3dv indicates a graphic card that doesn't fully correctly render polygons. What is your graphic card? (The information can be seen also through "Help->OpenGL information" menu item, the "Version string", "Vendor", "Renderer" fields.)
It reads :
Vendor: Intel
Renderer: Mobile Intel(R) 4 Series Express Chipset Family

Quote
What is more alarming is that I don't see any texture applied on your screenshot. Did you turn off texturing, or is it a bug? (In the latter case, I would definitely want to know what's your GPU. Also, if there are any warnings displayed upon opening the model.)
Don't worry, it seems to be a problem of directory. It looks for textures outside of the downloaded directory. I do not have the directory "castle".

Quote
Quote
x3d/cubemap_generated_in_dynamic_world.x3dv : it makes the program exit without notice
That's bad. It certainly works fine here, on Windows/32, Linux/32, Linux/64, under three different GPUs (new NVidia, old Radeon, new Radeon).

Can you run view3dscene from terminal (console), and see what it writes?
It seems to crash on random files. It says "access violation" in the terminal.

Quote
Even better, can you run it in terminal like "view3dscene.exe --debug-log > log.txt", and send me the generated log.txt? This will tell me more where's the problem.
Here is a log file.
Conscience is the debugger of the mind

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Kambi VRML game engine 2.4.0 release
« Reply #13 on: February 16, 2011, 05:56:01 am »
First of all, thanks for taking time to report all this :)

Quote
Vendor: Intel
Renderer: Mobile Intel(R) 4 Series Express Chipset Family

That's interesting. Normally I would say that Intel GPUs are rather low-end, and you should not except much hardware accelated 3D on them. Our engine should not crash on it of course, but more advanced demos will not work (you will see a warning that GPU does not support some feature). For advanced 3D things, you usually need NVidia or Radeon.

On the other hard, your log shows that this GPU says it has OpenGL 2.1.0, with GLSL shaders and all the other important features.

Which means that either 1. there are engine bugs specific for some particular feature set on this GPU 2. or some of the OpenGL stuff doesn't really work correctly there. Probably both, if I know life :)

Have you run any 3D-heavy applications (like recent games) on this system? Do they work fine?

Debugging this will be hard without an access to an actual system with such graphic card. I'll see in the next days can I find one around, and will get back to you. Unless you're willing to get your hands dirty, grab the actual view3dscene and engine sources, compile them, and see where the errors occur :)

Quote
Don't worry, it seems to be a problem of directory. It looks for textures outside of the downloaded directory. I do not have the directory "castle".

Fixed anyway, I want kambi_vrml_test_suite to self-contained. New version in SVN contains all the necessary textures and proper links to them from models.

circular

  • Hero Member
  • *****
  • Posts: 4220
    • Personal webpage
Re: Kambi VRML game engine 2.4.0 release
« Reply #14 on: February 16, 2011, 11:38:09 pm »
First of all, thanks for taking time to report all this :)

Quote
Vendor: Intel
Renderer: Mobile Intel(R) 4 Series Express Chipset Family
Debugging this will be hard without an access to an actual system with such graphic card. I'll see in the next days can I find one around, and will get back to you. Unless you're willing to get your hands dirty, grab the actual view3dscene and engine sources, compile them, and see where the errors occur :)
I do not feel qualified for this. Maybe I can have a look, but I guess you should first teach me 3d programming, if you see what I mean.

Quote
Fixed anyway, I want kambi_vrml_test_suite to self-contained. New version in SVN contains all the necessary textures and proper links to them from models.
Right.

Testing again, it seems that more things work. Water reflections is very nice now.

But...

- after viewing collada, while I open a new file, I got a screen of random pixels

- fancy_light_spot_shape.x3dv shows a black screen, with a warning :
VRML parse error at position 1095, inside "SpotLight" got "effects".

- chess.x3dv is so slow and makes the program exit without message (I guess access violation)
« Last Edit: February 17, 2011, 12:18:25 am by circular »
Conscience is the debugger of the mind

 

TinyPortal © 2005-2018