Page 1 of 5

Lime - Yet another engine

PostPosted: 12 Oct 2011, 23:53
by bazhenovc
Hi!

I`m developing an open source 3D engine, called Lime. Here is the link to GitHub.

It is object oriented, <hopefully> fast engine that uses OpenGL 3.3(yes, it is fully shader based) for graphics, OpenAL for sound and Bullet for physics.
Also there are 11 samples here and some wiki docs.
The source code is clean and documented :)

At the moment Lime runs on Linux and Windows. Required libraries: X11, OpenAL, vorbisfile, ogg, glm. Optional libraries: assimp. Building with CMake). Note that on Arch Linux, glm is named glmath, and located in the AUR.
The key feature is the ability to "alt+tab" fullscreen window :)

Now Lime needs help! I now have much less free time to handle it by myself :(
Programmers, testers. artists are welcome!

Re: Lime - Yet another engine

PostPosted: 13 Oct 2011, 00:49
by KroArtem
Any screenshots?

Re: Lime - Yet another engine

PostPosted: 13 Oct 2011, 10:43
by bazhenovc
Sure.
This is the main demo, showing dynamic lighting, sound and sky. It is interactve - you can go around.
This shows simple skybox.
This one shows geometry shader.
And this one shows physics.

P.S.
Cubes, spheres and torus are meshes, stored in mesh files with custom binary format.

Re: Lime - Yet another engine

PostPosted: 13 Oct 2011, 14:40
by charlie
Could you upload as attachments to your original post in this thread? :)

Re: Lime - Yet another engine

PostPosted: 13 Oct 2011, 15:19
by bazhenovc
Done :)

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 14:12
by rogerdv
What about an scene editor? Is it planned?

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 14:38
by bazhenovc
Yes, it is planned and in progress.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 14:47
by rogerdv
Ok, definitely I will take a look at this and also will try to compile under Windows.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 15:53
by rogerdv
cmake fails to detect bullet, which is installed in my system, also, can you post the git command to checkout the code?

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 17:45
by bazhenovc
Thanks, i really appreciate your help :)

Unfortunately i cannot help with anything related to windows and bullet - i have no windows copy at all :(

The git command to checkout the code is:
{l Code}: {l Select All Code}
git clone git@github.com:bazhenovc/lime.git

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 17:51
by rogerdv
The problem is under Linux: ubuntu 10.04.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 17:52
by bazhenovc
Have you installed bullet-dev or something like that?

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 18:03
by rogerdv
Is that in the repos? I installe dbullet manually, with make install, and it is located in /usr/include /usr/lib

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 18:11
by bazhenovc
Repos are the preferred way :)

However you can hardcode include_directories and libs, like this:
{l Code}: {l Select All Code}
include_directories(/usr/include/bullet)
target_link_libraries(some_target BulletCollision BulletDynamics)

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 18:41
by rogerdv
checked again, bullet is not in Ubuntu repos.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 18:50
by bazhenovc
Hmm, thats bad.

Fortunately Bullet is not essential. You can open Samples/CMakeLists.txt and comment out line 12:
{l Code}: {l Select All Code}
add_subdirectory(8.Bullet) -> #add_subdirectory(8.Bullet)

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 19:24
by rogerdv
Weird, seems there is a problem detecting lua config:

{l Code}: {l Select All Code}
[ 89%] Building CXX object Bindings/Lua/CMakeFiles/LimeLua.dir/source/limeLUA_wrap.cxx.o
/home/roger/projects/bazhenovc-lime-a556f2f/Bindings/Lua/source/limeLUA_wrap.cxx:745:17: fatal error: lua.h: No existe el fichero o el directorio
compilation terminated.
make[2]: *** [Bindings/Lua/CMakeFiles/LimeLua.dir/source/limeLUA_wrap.cxx.o] Error 1
make[1]: *** [Bindings/Lua/CMakeFiles/LimeLua.dir/all] Error 2
make: *** [all] Error 2


But I have lua installed (I use it for my games). Perhaps it is that Ubuntu/debian have a different name for Lua libs.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 19:44
by bazhenovc
Strange, lua.h should live in /usr/include ...

However samples should be ready now. LimeLua and LimePython are used by scene editor only.

Another solution: change lua to python: open Bindings/CMakeLists.txt and do this:
{l Code}: {l Select All Code}
add_subdirectory(Lua) -> #add_subdirectory(Lua)
#add_subdirectory(Python) -> add_subdirectory(Python)

Or just comment out
{l Code}: {l Select All Code}
add_subdirectory(Tools/SceneEd)
from the root CMakeLists.txt

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 20:04
by rogerdv
Indeed the demos are there! It looks promissing, if I knew something about cmake I would try to solve the problems, but I use scons. Changing to python cause much more errors, I have to check if I have the correct -dev packages installed.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 20:18
by bazhenovc
Thanks:)

Actually i dont like neither Lua nor Python, however i needed a scripting language for scene editor. The perfect way is to implement something small, simple and funny, like Tcl, and use it.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 20:37
by rogerdv
Im taking this to home now, I will try to build there and also make some VC project for windows.

Re: Lime - Yet another engine

PostPosted: 04 Nov 2011, 21:46
by bazhenovc
CMake can generate VC projects automagically :) With automatic project updates, etc. It is very useful

Re: Lime - Yet another engine

PostPosted: 08 Nov 2011, 13:15
by rogerdv
Ok, I think we need a forum. I found a problem compiling under Ubuntu 11.10:

{l Code}: {l Select All Code}
In file included from /home/roger/projects/bazhenovc-lime-a556f2f/Plugins/RenderGL/source/RenderWindow.cc:8:0:
/home/roger/projects/bazhenovc-lime-a556f2f/Plugins/RenderGL/source/X11RenderWindow.cc: En el constructor ‘Lime::RenderWindow::RenderWindow()’:
/home/roger/projects/bazhenovc-lime-a556f2f/Plugins/RenderGL/source/X11RenderWindow.cc:97:15: error: se asigna a una matriz desde una lista de inicializador
make[2]: *** [Plugins/RenderGL/CMakeFiles/LimeRenderGL.dir/source/RenderWindow.cc.o] Error 1
make[1]: *** [Plugins/RenderGL/CMakeFiles/LimeRenderGL.dir/all] Error 2
make: *** [all] Error 2


The translation: assignment to a matrix form an initializer list.

Re: Lime - Yet another engine

PostPosted: 08 Nov 2011, 16:05
by bazhenovc
What gcc version do you have? If i remember well, this worked fine since 4.4.

Checkout the latest revision - it is fixed.

EDIT:
About forum: actually i have no free time to continue development. However, if so demaned, i can think about combining my current work and opensource development.

Re: Lime - Yet another engine

PostPosted: 08 Nov 2011, 16:33
by rogerdv
I think 11.10 uses 4.6. Whats the git checkout command? Im not clear about the url after git checkout