Lime - Yet another engine

Lime - Yet another engine

Postby bazhenovc » 12 Oct 2011, 23:53

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!
Attachments
house.png
Skybox
skeletalanimation.png
Skeletal animation
снимок27.png
Geometry shader
снимок26.png
Physics with Bullet
снимок29.png
Demo, dynamic light
Last edited by bazhenovc on 28 Dec 2011, 14:30, edited 5 times in total.
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby KroArtem » 13 Oct 2011, 00:49

Any screenshots?
KroArtem
 
Posts: 375
Joined: 26 Aug 2010, 19:04

Re: Lime - Yet another engine

Postby bazhenovc » 13 Oct 2011, 10:43

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.
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby charlie » 13 Oct 2011, 14:40

Could you upload as attachments to your original post in this thread? :)
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Lime - Yet another engine

Postby bazhenovc » 13 Oct 2011, 15:19

Done :)
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 14:12

What about an scene editor? Is it planned?
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 14:38

Yes, it is planned and in progress.
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 14:47

Ok, definitely I will take a look at this and also will try to compile under Windows.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 15:53

cmake fails to detect bullet, which is installed in my system, also, can you post the git command to checkout the code?
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 17:45

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
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 17:51

The problem is under Linux: ubuntu 10.04.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 17:52

Have you installed bullet-dev or something like that?
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 18:03

Is that in the repos? I installe dbullet manually, with make install, and it is located in /usr/include /usr/lib
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 18:11

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)
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 18:41

checked again, bullet is not in Ubuntu repos.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 18:50

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)
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 19:24

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.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 19:44

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
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 20:04

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.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 20:18

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.
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 04 Nov 2011, 20:37

Im taking this to home now, I will try to build there and also make some VC project for windows.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 04 Nov 2011, 21:46

CMake can generate VC projects automagically :) With automatic project updates, etc. It is very useful
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 08 Nov 2011, 13:15

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.
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Re: Lime - Yet another engine

Postby bazhenovc » 08 Nov 2011, 16:05

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.
bazhenovc
 
Posts: 61
Joined: 12 Oct 2011, 18:39

Re: Lime - Yet another engine

Postby rogerdv » 08 Nov 2011, 16:33

I think 11.10 uses 4.6. Whats the git checkout command? Im not clear about the url after git checkout
User avatar
rogerdv
 
Posts: 289
Joined: 10 Dec 2009, 18:26

Who is online

Users browsing this forum: No registered users and 1 guest