Urho3D now supports Raspberry Pi platform

319 views
Skip to first unread message

weitjong

unread,
Jul 25, 2013, 12:01:24 PM7/25/13
to urh...@googlegroups.com
For those who have Raspberry Pi, please check out the code in the SVN trunk. It could be built using GCC natively on Pi or using cross compiling tool on a Linux build/host machine. I am using CC tool from https://github.com/raspberrypi/tools for the latter build approach.

All the subsystems (Physics, Audio, Network, UI, etc) appear to be working, even the new LuaScript subsystem from Aster. We could use both AngelScript or Lua script to test the limit of Raspberry Pi GPU without have to compiling any C++ code each time.

There are still a few smaller issues:
- Terrain sample app crashes when LMB is clicked
- Testscene does not render the 'naked' man correctly yet.

Other than that, all the existing sample apps are runnable in Raspberry Pi platform. Of course, some the existing samples may bring Raspberry Pi GPU to its knee, like the Physics stress test. So, perhaps we need to create a few more scaled down sample apps to showcase Urho3D engine in Pi.

Paul Noome

unread,
Jul 26, 2013, 10:15:00 AM7/26/13
to urh...@googlegroups.com
Great work! Will try it out soon on my PI (model B) and surely report my findings back here.

Chris Friesen

unread,
Jul 26, 2013, 2:07:50 PM7/26/13
to urh...@googlegroups.com
:D

With the lua api and the new shorthand for starting an app this thing is almost ready for kids to be playing around with it.  It would be cool to get some 2d drawing stuff like in http://sourceforge.net/projects/sdl-draw/.

On a side note is there a reason why we aren't using the luajit?

P.B. Noome

unread,
Jul 26, 2013, 2:28:45 PM7/26/13
to Chris Friesen, urh...@googlegroups.com
I would applaud any attempt at creating SVG (tiny?) support! Have looked for out-of-the-box SVG libraries for C++, but no success there unfortunately. Creating it from scratch is definitely not trivial by any means.. Would be very cool though, especially if the UI system would make use of it.


--
You received this message because you are subscribed to the Google Groups "Urho3D" group.
To unsubscribe from this group and stop receiving emails from it, send an email to urho3d+un...@googlegroups.com.
To post to this group, send email to urh...@googlegroups.com.
Visit this group at http://groups.google.com/group/urho3d.
 
 

Chris Friesen

unread,
Jul 26, 2013, 3:18:28 PM7/26/13
to urh...@googlegroups.com, Chris Friesen
svg is always depressing to research.  the answer i keep finding is to convert them to hires and use mipmaps.

i read a web article a couple months back about the performance png vs svg

i don't know exactly what browsers are using for svgs but you got think its pretty performant.  i read that firefox uses libcairo in there somewhere.

as primarily being a web guy, vector is kind of a holy grail to get that razor sharp ui

alternativly i have though about what font-awesome does http://fortawesome.github.io/Font-Awesome/

they just svgs to fonts.  you loose the ability to have color depth but it could work for some things.

Alex Fuller

unread,
Jul 26, 2013, 9:40:53 PM7/26/13
to urh...@googlegroups.com, Chris Friesen
The library that Android/Chromium uses for SVG parsing and rendering is Skia which is Apache 2.0 license afaik which I think is compatible with Urho3D's license. It would need a considerable rewrite/integration strategy with Urho3D so it uses PugiXML instead of TinyXML, and scrap the image loaders to use stbi, etc. It might be best to just research the techniques Skia uses to render to the GPU and create your own SVG rendering strategy.

I think there are alternates to Scaleform if you wanted to use Flash for UI design, Doom 3 BFG edition might be a good start to research SWF parsing and rendering, but it's GPL code.

If I were to make a fancy pants UI I think I'd just model it in a 3D package and rig it with bones and then render with an orthogonal camera. That way you can just convert vector lines in the 3D package to geometry and just load it directly, and assign materials and such with the potential for shader rendering techniques, and have collision shapes tied to events so you can click on stuff and animate things with keyframes or in code by moving the nodes.

-Alex

Chris Friesen

unread,
Jul 26, 2013, 10:23:33 PM7/26/13
to urh...@googlegroups.com, Chris Friesen
Good info Alex.  To render a 3d ui with an orthogonal camera would you do switch cameras and do a second pass after the world has rendered?

Alex Fuller

unread,
Jul 26, 2013, 10:34:54 PM7/26/13
to urh...@googlegroups.com, Chris Friesen
Hi Chris,

Yeah I think this is the way to do it without clearing the framebuffer and just add the elements on top. I believe you could render from something far away from the scene, or render from a completely different scene from the world which I'd say would be optimal so that scene has its own culling or collection of objects linked to it, which probably doesn't need things like software occlusion culling maybe just frustum culling.

P.B. Noome

unread,
Jul 27, 2013, 3:44:33 AM7/27/13
to Alex Fuller, urh...@googlegroups.com, Chris Friesen
If I were to make a fancy pants UI I think I'd just model it in a 3D package and rig it with bones and then render with an orthogonal camera. That way you can just convert vector lines in the 3D package to geometry and just load it directly, and assign materials and such with the potential for shader rendering techniques, and have collision shapes tied to events so you can click on stuff and animate things with keyframes or in code by moving the nodes.

I agree that it would be a good alternative. Perhaps an interface could be extracted from the UIElement class to be applied to any Drawable. What you describe is getting really close to SVG though :-) The reason I mentioned SVG specifically in this regard is simply the ability to use already existing tools (ie. Inkscape); but anything 'VG' would do of course. To extend beyond the orthogonal camera, it could also be generalized to in-scene buttons\switches. The biggest limitation of the current UI system imho is the lack of transformations and custom shaders.


--

weitjong

unread,
Aug 20, 2013, 1:28:43 AM8/20/13
to urh...@googlegroups.com, Alex Fuller, Chris Friesen
Please kindly keep this thread on the topic.

Today for no particular reason I decided to do a Google search on these key words: "Raspberry Pi 3D game engine". To my delight, Urho3D game engine is now in second position in the returned search result. It was way down in the search result when I first post the announcement in the FedoraForum.

P.B. Noome

unread,
Aug 20, 2013, 6:04:54 AM8/20/13
to urh...@googlegroups.com
Excellent! After your post and this one, I suspect that it'll soon be the first result when someone searches for a permissive, cross-platform and open-source 3D game engine that'll run on the Raspberry Pi ;-)


On Tue, Aug 20, 2013 at 7:28 AM, weitjong <weit...@gmail.com> wrote:
Please kindly keep this thread on the topic.

Today for no particular reason I decided to do a Google search on these key words: "Raspberry Pi 3D game engine". To my delight, Urho3D game engine is now in second position in the returned search result. It was way down in the search result when I first post the announcement in the FedoraForum.

--

Lasse Öörni

unread,
Aug 20, 2013, 6:21:13 AM8/20/13
to urh...@googlegroups.com, Alex Fuller, Chris Friesen
That's sweet!

Now to wait for the day when Urho3D is among first results when you google for "open source 3D game engine" for any platform :)

Chris Friesen

unread,
Aug 20, 2013, 1:21:35 PM8/20/13
to urh...@googlegroups.com
I don't want to derail the conversation, but I feel like a good website would be very welcoming to newcomers.  I am very bad at making games :( and quite good at making websites :).  So after we get all of our examples/documentation squared away and feel like doing a polished launch,  I am very willing to cook up a website, if we don't want to bother with a website it just means i get more time playing Payday 2.  Feel free to ping me if there is interest.
Reply all
Reply to author
Forward
0 new messages