sparrow3D - multi platform game engine


pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
Nice work. I should probably look to use the sprite engine at some point, I tend to get carried away managing my own stuff :)


PS. It's spelt "wheel", not "wheal"
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
Maybe I MEANT wheal! ;-)


(I will change it -_- ')


PS: Oh gosh... Did I really wrote "Wheal chain"? I hope you all enjoy your inner cinema. ^^


Edit: I googled it. It is really a "Möbius gear strip" :D
 
Last edited by a moderator:

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
So, after a long time I have a new video. It doesn't look very good (in fact, I don't know, why, the colors are fucked), but you see, why I post this video. I added support for perspective texture mapping. Until now I only had affine texture mapping. Most of the time, especially if you use pictures (and no structures like a check board) as texture, you will not see the error and if, if already implemented a work around, in which the quad is triangulazed more intelligent with the centroid.

In the video have a look for the "perspective"-lettering in the right, bottom corner. 

  • "off" means that it is mapped wrong (and you will see the error in the breaks)
  • "work around" is my dirty work around with a centroid-triangulation.
  • "on" is the perfect solution.
I didn't test it yet on my gp2x, but I made a few optimization yet, it should run not too slow. Slower, but acceptable in some cases. :D And here the vid:

https://www.youtube.com/embed/h7HKPe-7K3c?feature=oembed
greetings, Ziz
 
Last edited by a moderator:

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
I integrated sparrow3d to code::blocks PND, I hope you don't mind.

If that's ok, I'll update for next build.
Are you going to keep it up to date? When I asked how to add libs, this was what I was adding. Related - Which version of the lib will it use if I leave my .so in my appdata/local/lib folder?
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
ptitSeb: sparrow3d is free software - you can redistribute, change or even sell it however you want.

But thanks for asking. :)
 

Loonie

Active Member
Joined
Apr 1, 2003
Messages
753
Man, I need to start messing around with this. Especially if Seb is going to integrate it into CB. 2013 is looking like a good year in Pandoraland.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,276
Age
50
Location
France, near Lyon
Man, I need to start messing around with this. Especially if Seb is going to integrate it into CB. 2013 is looking like a good year in Pandoraland.
There is already a version of the libs in the current Code::Blocks (without the samples). I have update it this morning, I must say it works great !
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
So, did you try the testsparrow example on the pandora? How are the fps with perspective texture mapping by comparison with no perspective texture mapping or the dirty work around? :)
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,276
Age
50
Location
France, near Lyon
I tried the testsparrow on the Pandora. All tests case run with fps>25 at least, but I haven't seriously benched. Just look at the sample, thinking yeah, that cool, Next, yeah great too, Next ,, Wohoo nice, next .. next .. oh no, no more ...

I'll relaunch (maybe I can put testsparrow in bin/ folder), notes fps, and repport back.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,276
Age
50
Location
France, near Lyon
Ok, just played a bit with the the demo.

I noted less than 1fps loss between "no perspective" and "perspective workaround"

I have something like 2 to 4 fps loss wit "perspective on"

Textures are really dancing (espacially with demo "cube"), they are stable with "perspective on", and a little bit moving with "workaround".

For my taste, I prefer "perspective on", I think the Pandora is powerfull enough, but workaroubd is a good tradeoff

On my pandora (rebirth O/C to 1GHz), I have 50 fps on cube, 26 fps in Fullfilling (I like this one), around 30 (with slow down to 17) on Mesh Loading, and around 41 on the Moebius Gears (I like this one too), all with light on, perspective off.
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
I noted less than 1fps loss between "no perspective" and "perspective workaround"

I have something like 2 to 4 fps loss wit "perspective on"
Thanks a lot for the test! I am glad, that it is as fast as I thought. :D
Textures are really dancing (espacially with demo "cube"), they are stable with "perspective on", and a little bit moving with "workaround".
There is the trick. ;) But as you could see, the advantage of "perspective on" isn't really good seeable for bigger objects like in Test 4.
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
Hi guys,

I hadn't much time in the past, because of Puzzletube. Did I mention, that I got the third place? :D

However, some days ago I did something I wanted to do for a long long time: Stereoscopic Rendering. The concept is easy: One picture for the left and another for the right eye. The only difference it the position of the camera.

In sparrow3d (with it's projection matrix) it was a bit more complicated, but I will not bore you with details. It works now and I added some usefull helper functions for the stereoscopic rendering. Here a video of the effect. You need red/green or red/cyan glasses with red on your left eye. Of course the colour is changeable internal, but for this test, you need these glasses:

https://www.youtube.com/embed/1VdrIH1zg8Y?feature=oembed
Import were two things: The zero-parallax had to be parallel for both eyes (hard to explain...) and I have to be able to define the position of the zero-parallax. This point is in fact the monitor. Everything with a bigger z-value will look like moving OUT of the device (hell yeah!) and everything with a smaller z-value will look like being in the device. HUD and similar is most of the times in the zero-parallax-area like the fps in the example.

So, what does this means for my games?

  • Puzzletube: This game is done. No change here. In fact the coloured glasses wouldn't fit with the coloured stones. It would be better, if the game would be black/white, but in that case, I had to add some kind of symbols to match pairs, etc. You see: Much work. I will not do it. ^^
  • Snowman: It would work, but I don't think, that the effect would make much difference, as the whole game is nearly on one plane => Too much work for too few effect.
  • Schizophrenia: This is a 2D game. Wouldn't not make sense, would it?
  • Schwerkraft: The effect would fit very good, I think. Redesigning the planets in grey wouldn't be much work, too. I just have to look, whether the 3d effect raise expectations of 3d physics. Maybe you remember: The whole gravitation physic is 2d and I have no plans to change it. So I will test
  • But, if more games are done, I have a great idea for a new game, which will PERFECTLY fit with the effect. But you will see more later... I don't think, that I will start in 2 months, so have patience ;)
greetings,Ziz
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
That's pretty neat. So have you added alpha blending? or is there some hackery-pokery?
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
I merge the two surfaces on my own with "or". ;)

So, no real alpha blending. ^^
 

slenkar

Still Fresh
Joined
Jan 15, 2012
Messages
64
what kind of collisions does the engine allow?

sphere-sphere

sphere-polygon?
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,584
The engine doesn't have any collision detection. It provides:

  • Basic system stuff like getting a window, events, main loops, etc.
  • Input Handling via a generalized abstract device for every target
  • 2D Drawing
  • 3D Drawing with Software Renderer
  • Cached Font Rendering out of ttf
  • Mesh loading (simple obj files)
  • Simple Sprite engine
  • Helper and lookup functions for much faster fixed point stuff
  • File management, especially on different systems
  • Sound (in fact just a SDL_Mixer wrapper)
No physic, no collision, no particles (yet). It is very low. ;)
greetings, ziz
 
Top