Berkelium in Ogre

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Berkelium in Ogre

Post by jacmoe »

sinbad wrote:
Klaim wrote:
Jacmoe wrote:He was very clear in his statement on his site: 'No further development'.
I don't blame him for his decision here
I don't blame him for that either, but I do blame him for his lack of timing. :)
23 Feb 2009:
http://princeofcode.com/blog/?p=47
17 Aug 2009:
http://princeofcode.com/blog/?p=267
And the release statement from February was unexpected, because he kept talking about it being free for non-commercial use.
And six months later...
So, yes: lack of timing.
After building up an awesome amount of anticipation, the last thing we needed was hearing that Awesomium development was going to be halted..

I do wish him success, though. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
AshMcConnell
Silver Sponsor
Silver Sponsor
Posts: 605
Joined: Fri Dec 14, 2007 11:44 am
Location: Northern Ireland
x 16
Contact:

Re: Berkelium in Ogre

Post by AshMcConnell »

hellcatv wrote:Ash-
You have two options there...
a) you could use the HTML injection routines to make a webpage that was literally just a single flash object that occupied it in its entirety...then flash could use standard javascript callbacks to get access to your C++ internals.
b) the better option (if possible) is to use the HTML5 canvas tag--that integrates much better into the webpage and is an *open* standard. See some examples here: http://code.google.com/p/cakejs/ (no plugins required)

The other advantage of (b) is that it properly does dirty rectangles---flash just claims the whole page is dirty--which works fine for something like youtube where it really is mostly dirty, but for a large UI it can be rather wasteful of your bandwidth between the CPU and the GPU. So yes.. you can do what you propose by making a simple webpage that simply presents the whole flash object as a UI or you can join us in 2010 (nearly) and use HTML5 :-) Either option is supported by Berkelium
Hi Hellcatv,

Thanks for the reply. I have quite a lot of flash already finished for the UI so I'd like to keep it if possible, I also have built up a bit of experience with it. I am using it for fairly lightweight menus rather than the in-game hud, so hopefully option a shouldn't be too resource intensive. I suppose i'd need to do some kind of translation in javascript to convert parameters from C++ to actionscript and vice-versa. Shouldn't be too difficult :)

I have a few other tasks scheduled in for the moment but hopefully i'll get a chance to try to integrate it later in the month, should be fun!

All the best,
Ash

PS. Do you think the <canvas> method would be suitable for a car digital display (RPM / Speed / etc) ?
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Yes I think the canvas method would be very suited to that...
I wrote a gigantic flash application for a complex editing task...
and then I found out about the dirty rectangles problem (if any part of the flash canvas changes the whole window gets refreshed) so in dismay I decided to use CAKE and write a javascript canvas tag object...
turns out I finished it in 1/4 the time I took to write the initial flash app--and I was able to recycle most of the code and it's much cleaner and easier to debug since it's all in the browser and the browsers debuggers are quite nice.

I highly recommend the canvas tag for something like that---
User avatar
AshMcConnell
Silver Sponsor
Silver Sponsor
Posts: 605
Joined: Fri Dec 14, 2007 11:44 am
Location: Northern Ireland
x 16
Contact:

Re: Berkelium in Ogre

Post by AshMcConnell »

Thanks HellCatv, I'll investigate the canvas tag a bit more, it had kind of passed me by :)

Are there any toolsets / frameworks out there that you can recommend I take a look at?

I take it this is CAKE you are referring to? - http://code.google.com/p/cakejs/

Are there any drawing tools that export shapes in HTML5 format? Perhaps Inkscape? I'll have a look around.

I assume javascript is the equivalent for actionscript for html5? I have to admit I quite like actionscript.

Sorry I should be googling instead of typing here, I'll go do that now, thanks for sparking my interest! Any recommendations for tools would be appreciated.

All the best,
Ash
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Cake really made things easy for me--the one caution is that I think CAKE is GPL, so that might not suit your GUI situation. (on the other hand, my rationale was that a GUI could easily be GPL as long as the app itself was BSD or something else)

The other tool that came in handy for dragging and dropping HTML elements was jQuery.

Lastly for message passing I used json or for interaction with C++ a custom protocol buffers implementation I wrote in javascript

if you want to see my gui and all its toolkits you can go to http://ipatch.stanford.edu/geneeditor/geneeditor.html
It was a port from http://ipatch.stanford.edu/braineditor/elysia.html

they are both very unfinished, but I'm much happier with how the canvas stuff looks and feels than the flash stuff--and the debugging was so much easier through the browser.

Anyhow check out the cakejs page--it has missile fleet and a flashed-out-lookin' website
Jusas
Halfling
Posts: 91
Joined: Mon May 14, 2007 9:14 am
x 8

Re: Berkelium in Ogre

Post by Jusas »

I've been fiddling around with Chromium & Berkelium for a while now and I simply can't get it working. It does compile, that is not the problem, running the test projects however results in a fatal error. I just can't get it running (ppmrender and subprocess). Dependancies should be in place, I've copied the chromium DLLs to the directory so that's definitely not it.

The error I'm running into in subprocess, written to chrome_debug.log:
[3024:4460:10325690:FATAL:file_util_icu.cc(62)] Check failed: U_SUCCESS(status).
[4476:4584:10330651:WARNING:master_preferences.cc(77)] Master preferences file not found: C:\dev\sdks-libs-sources\sirikata-berkelium-a2104b9\win32\test\master_preferences
[4476:4584:10336392:WARNING:master_preferences.cc(77)] Master preferences file not found: C:\dev\sdks-libs-sources\sirikata-berkelium-a2104b9\win32\test\master_preferences
[4476:4584:10336470:WARNING:master_preferences.cc(77)] Master preferences file not found: C:\dev\sdks-libs-sources\sirikata-berkelium-a2104b9\win32\test\master_preferences
[4476:4584:10345424:FATAL:browser_view.cc(2079)] Check failed: accelerator_table.

And the error when running ppmrender:
[4592:2492:10684009:FATAL:file_util_icu.cc(62)] Check failed: U_SUCCESS(status).

Accelerator table sounds like a resource problem. Any clues?

Also since Chrome is compiled as Multi-threaded (/MT) and not Multi-threaded DLL (/MD) will probably create some problems since everything I'm using has been compiled as /MD. Haven't figured out how to beat that problem yet.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Berkelium in Ogre

Post by jacmoe »

Since when has this topic turned into a support topic?
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
xadhoom
Minaton
Posts: 973
Joined: Fri Dec 28, 2007 4:35 pm
Location: Germany
x 1

Re: Berkelium in Ogre

Post by xadhoom »

Hey!

Berkelium looks great. We are currently using Awesomium/Navi in our project and are really serious about the Awesomium development. A more stable alternative is very interesting.
Btw: Thanks for the link to cakejs. Looks pretty polished. I recently worked with RaphaelJS but its still in an unstable state...

@Klaim: A proof of concept for a Berkelium/Navi binding would be great! :D

xad
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Berkelium in Ogre

Post by Klaim »

xadhoom> Yeah, but I'll not be able to try that until the end of the week I think, so if you have more time to spend than me, please be my guest :)
I'll try anyway as soon as I can.

I had a first look before at the SDK but I didn't found what I was looking for with a quick glance so I stepped away to come back later when I can fully concentrate on this. By the way, does the berkelium dll contain the full chromium binary or do I have to add all those dlls to my project?
User avatar
xadhoom
Minaton
Posts: 973
Joined: Fri Dec 28, 2007 4:35 pm
Location: Germany
x 1

Re: Berkelium in Ogre

Post by xadhoom »

Klaim wrote:I had a first look before at the SDK but I didn't found what I was looking for with a quick glance so I stepped away to come back later when I can fully concentrate on this.
I know what you mean. Its not straight forward how to plug Berkelium with Ogre without proper documentation. That said, I found the Sirikata code doing this in SVN under libproxyobject\plugins\ogre\WebView[Manager].cpp .

xad
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Berkelium in Ogre

Post by Klaim »

Yeah gotta explore this to see how to adapt my current code. I hope I encapsulated my system well enough to make the change easy. Anyway I can still affort strong changes on this side on my project so I'll see.
benjoTLV
Gnoblar
Posts: 1
Joined: Mon Jan 04, 2010 3:34 pm

Re: Berkelium in Ogre

Post by benjoTLV »

Hi,
Berkelium seems pretty nice!
I am currently using Awesomium 1.08 (the latest open source version...) and I have few problems with it, especially one: Clicking on Flash files only works if the action is handled by the flash itself (like clicking on "play" in youtube). If the click is supposed to trigger a browser event (navigate to URL) then click on Flash does not work...

Can you tell me if this is also the case with Berkelium? Do you have any demo app I can install in order to try by myself (I would like to avoid compiling, building a demo app and so on at this stage!)
Last, same question as above... any binaries available?

Thanks!
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Hi benjo
You can see Berkelium in action through our nightly builds and downloading an empty scene file with just a camera
I've done so here
http://graphics.stanford.edu/~danielrh/ ... umDemo.zip
download, unzip and use the + on the browser bar to make a new window... It doesn't show the window in 3d yet, but it does reside on a texture so we could just as easily translate it around... making a more flashy prebuilt demo like the one you saw the video of for windows is not on the radar right now, but you can download the source and build it if you wish. Otherwise this should let you know if the feature you need is supported yet
-Daniel

Jusas-
Can you also try our build up there...that way we know if it's something about how you compiled it or something about how we run it.

Also are you building with Visual Studio 2008 SP1 with all the fixes needed to build chrome on that platform?

# use Microsoft Visual Studio 2008

1. Install VS2008 Service Pack 1.
2. Have fun installing KB967631; KB960075; KB958842; KB957912 and KB971092. Yes, that's 400 megs of updates.
1. Not necessary yet: KB956420 and KB958357. Only if you enjoy downloading another 750 megs of data and wasting a few hours.

# Install the Windows 7 SDK. (v6.1 will do too)

1. Read the instructions on the SDK download page! Read it Again!
1. If you use VS2005, you need to read point 5.1.5 in the release notes!
2. You might need to reboot. You can save space by not installing the documentation and code samples.
3. If you have previously installed Windows SDK 6.0 and built Chromium, you need to follow the procedure in idanan's posting to chromium-dev.

# Integrate the SDK with Visual Studio:

1. Start > All Programs > Microsoft Windows SDK > Visual Studio Registration > Windows SDK Configuration Tool.
If this program crashes, try running it from the command line with: windowssdkver -version:v7 -legacy
If build still fails, try registering the SDK manually.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Berkelium in Ogre

Post by Klaim »

hellcatv>
myself wrote: By the way, does the berkelium dll contain the full chromium binary or do I have to add all those dlls to my project?
I didn't have time to check yet but this bothers me...
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Berkelium.dll contains the whole chrome binary

you still need the resources.pak and locales data files , etc
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Berkelium in Ogre

Post by Klaim »

Ok thanks for the precision!
morrison
Gnoblar
Posts: 9
Joined: Sun Aug 09, 2009 8:53 pm

Re: Berkelium in Ogre

Post by morrison »

Been trying to integrate this into my project, using code from Sirikata, without success.

- I can't get anything to show, only grey boxes. I've added all the working directory resources, set the correct directory when creating WebViewManager and I call update() every frame.
- It crashes inside Berkelium at webView->focus() if I create a web view in code (navibar is ok). The problem is, because there's no pre-compiled debug lib, I can't get a stacktrace. I know I should probably compile it myself, but I don't really have the time.
- Why do you need so many DLLs? My app won't run without avcodec-52.dll, avformat-52.dll, avutil-50.dll; what are those? All you needed for Awesomium was icudt42.dll and Awesomium.dll.
- What's with all the folders that it creates/you need in your working directory :? - Dictionaries, extensions, locales, resources, berkelium.exe etc. Again, Awesomium didn't need any of this. Is that to do with the difference in the way the lib has been put together ("working with chromium")?
- From using the code from Sirikata, I noticed that you use SDL. Getting it to work with OIS, well, I don't even know where to start.

This lib would be great (for community folk) if it had something equivalent to navi that worked for other projects, and didn't have so much baggage. :(

Could you shine any light on these issues? Cheers.
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Since my only windows test machine is an XP machine I forgot to package the wow_helper.exe
You can get it directly from the chrome tree
http://src.chromium.org/svn/trunk/src/s ... helper.exe

and place it in the same folder as berkelium.exe. In fact make sure that when you double click berkelium.exe you get a full fledged chrome browser


The fact that the windows are not coming alive may explain the crash--our next release will make Berkelium more robust against crashing windows and respawn them like chrome does.

avcodec-52.dll, avformat-52.dll, avutil-50.dll <-- are optional. They are all used to load HTML5 video tags (like the new flashless youtube beta)

the folders are created by the separate chromium processes--since we want to match the chrome tree as closely as possible I'm afraid they are around to stay. Awesomium only used the webkit internals which didn't need a full fledged chrome environment
Our keycodes are quite similar to awesomium---similar translations should work from ois to berkelium

As for the baggage comment-- the best software is written to scratch an itch. Our browser wasn't made to solve everyone's problems, it was made to solve ours. And hence we have it working in our lib and have made a very simple interface with which the folks in the community can use to solve theirs.
If someone feels like making a navi-like demo without the sirikata "baggage" then we would be happy to push it to the berkelium tree
asa75asa
Gnoblar
Posts: 1
Joined: Wed Jan 13, 2010 1:10 am

Re: Berkelium in Ogre

Post by asa75asa »

I was trying to make the demo working.
First tried to compile ppmmain.cpp against Berkelium precompiled SDK. It compiles but fails during the start before even main() function. I decided that the problem was in dlls and downloaded full Chromium and Berkelium sources, recompiled all of it.
When I try to start any demo, ppmmain.cpp or glut_demo.cpp I got error during Berkelium::init call. Error is always in the same place inside of IllegalCharacters::IllegalCharacters() constructor.
I commented out DCHECK(U_SUCCESS(status)); line in the code, the glut_demo started then, but it shows up only white or black moving box inside of the window, not any real pages.
Also to make it working I had to copy all the dlls from chrome Debug directory, together with locales and themes.
Could not find resources.pak which was mentioned in some post above.

So there are some questions how to make Berkelium working:
1. Has anyone met that error in IllegalCharacters::IllegalCharacters()?
2. Which files from chrome should I put next to berkelium binary?
3. Any ideas how to make it show the pages?

Thanks,
Alex
hellcatv
Gremlin
Posts: 163
Joined: Thu Dec 14, 2006 2:11 am

Re: Berkelium in Ogre

Post by hellcatv »

Alex it sounds like you may have the wrong compiler for using our precompiled SDK

are you using visual studio 9 2008 with all the patches listed here:
http://www.chromium.org/developers/how- ... ns-windows

If the windows are black rotating maybe you have vista and didn't download the wow_helper.exe-- since we were testing on XP we did not realize the importance of this file.
artn3r
Halfling
Posts: 72
Joined: Wed Jul 16, 2008 10:01 am

Re: Berkelium in Ogre

Post by artn3r »

Just wanted to say that i have just found out that awesomium 1.5 is now availiable!

http://www.khrona.com/2010/01/13/awesom ... available/

Regards
Christian
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

Re: Berkelium in Ogre

Post by Lee04 »

I am looking for a simple visual studio 8 demo source app using Berkelium and using 1.7 Ogre,
Ph.D. student in game development
henrikbennetsen
Gnoblar
Posts: 3
Joined: Fri Apr 17, 2009 9:19 pm

Re: Berkelium in Ogre

Post by henrikbennetsen »

Berkelium Sharp provides a BSD licensed managed wrapper for the Berkelium library, allowing you to embed Chromium into applications written in managed languages like C# and VB.net.

http://code.google.com/p/berkelium-sharp/
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Re: Berkelium in Ogre

Post by Vectrex »

henrikbennetsen wrote:Berkelium Sharp provides a BSD licensed managed wrapper for the Berkelium library, allowing you to embed Chromium into applications written in managed languages like C# and VB.net.

http://code.google.com/p/berkelium-sharp/
Excellent! Thanks
User avatar
xadhoom
Minaton
Posts: 973
Joined: Fri Dec 28, 2007 4:35 pm
Location: Germany
x 1

Re: Berkelium in Ogre

Post by xadhoom »

Hey great wrapper! I fear there is nothing similar for C++ yet right? Strange world... :roll:

xad
Post Reply