Led Blur Gp32 Demo Is Out!


Optimus

Member
Joined
May 8, 2005
Messages
339
Age
44
Location
Greece
Website
optimus.untergrund.net
Update News: GP2X port was just released!
Download GP2X port here.

ledblur.jpg


I started working on this demo 1 year ago (but with long pauses and dissatisfaction) and finally I decided to release it no matter if some minor or not so minor glitches still remain.

Also I didn't have the time to make a BLU+ version but the source is provided and anyone who is interested can correct this one or fix the visual bugs (damn stuff that need cache and writeback disable on framebuffer for a little while, but this crashed the sound player for reasons I don't know ;P).

This is probably my last demo on GP32. I am moving on to GP2X now..

Download GP32 demo here.

Optimus/Mindlapse
 
Very nice work. I am really impressed. You should put your skill into a game. The trouble with demos is they have an even lower "replayability factor" than the excellent homebrew games we have. (Sorry, I had to get that dig in . :) )
This is really excellent, well worth a look. Download it today.
 
Thanks!

Why is the sig displayed as [GP2X] and not [GP32] in the main news page? Not that I care much now, but if you can correct it :)

p.s. One of my next projects will probably be a game (except from a new GP2X demo for the incoming compo, if I manage to make another one in such a sort time. Uhm,. time is too short :p). I just gladly joined a team of game programmers (hobbyist and commercial) and we are thinking positively about future GP2X game development..
 
very cool demo.

Can you tell me how to generate the data-arrays with e.g. the coordinates for the face or the textures? I never used this, but i need to in future, so it would save me some searchingtime :)
 
god_at_hell posted on Jul 8 2006 at 12:30 AM said:
very cool demo.

Can you tell me how to generate the data-arrays with e.g. the coordinates for the face or the textures? I never used this, but i need to in future, so it would save me some searchingtime :)

It puzzled me how should I do this at the beginning but since I knew the order I've generated the 3d points, I could also in the similar order decide about the polygon order and later the texture coordinate. I did it in my head step by step. Actually the cylinder Led Blur is the case where I should do this job. It's hard to explain, but if you imagine a grid of quads (each of them made by two triangles in the same orientation of triangle points as for each other quad) forming a plane, let's say 64*64 quads, doing a loop on Y and X from 0 to 63 each, going through each quad, it's maybe not too hard to decide for the texture coordinates on each point, just U = (X*256)/64 and V = (Y*256)/64, so that e.g. a 256*256 texture wraps exactly on this plane of quads. The cylinder is just the loops of this quad plane, but not straight, the points going in a circle around the cylinder area (Well, the cylinder is really (64*1quads)*2 triangles + 64 + 64 for top and bottom in my demo, but just an example). If you generate the dots with loops, in the similar loops you can generate polygons and the texture coordinates but you have to imagine a bit in 3d to match them exactly. The top and bottom of Led Blur energy drink is quite a diferrent story. U and V was with Cos and Sin, U and V moving round a circle on the rectangular texture area, around it's center. Somehow I made these in my head, but now I am thinking I am not sure if my answer has relation to your question. I hope I am not confusing.. :) If you are more specific I'll be glad to discuss more specific too :)

p.s. Maybe I'd like to make a BLU+ version, wouldn't be much rather than some piece of code lowlevel or so. In fact, I was wondering if there is some function or a code snipset in DevkitARM I am working, to do this easilly. I think I had asked around some time but didn't got some good answer. And since I am lazy with low level research I ignored it. But I've friends in the scene who might want to watch it in their BLU+ so maybe I'll try to make the final BLU+ version. But if someone knows the few lines to init BLU+ screen, it would be helpfull.
 
Last edited by a moderator:
This works fine on the BLU+. It looks better, too because of the brighter screen. The only problem is a slight flickering on the rotating cube sequence. I think that is just down to the fact that the BLU+ runs apps noticibly faster than its predecessors. That is the only thing - so BLU+ owners give it a go. It rocks.
 
Mr.Jabberwocky posted on Jul 8 2006 at 01:50 AM said:
This works fine on the BLU+. It looks better, too because of the brighter screen. The only problem is a slight flickering on the rotating cube sequence. I think that is just down to the fact that the BLU+ runs apps noticibly faster than its predecessors. That is the only thing - so BLU+ owners give it a go. It rocks.

The flickering in the right corner of the screen during the transition in from the previous part to the plasma cube? That's a bug that also occures on my non BLU+ GP32. One that I was about to correct via a way that for some reason kills the sound player. So, it's a general bug I couldn't correct, not only BLU+ bug. I am surprised though to hear it runs well on your BLU+. I don't know how programm that doesn't support BLU+ look like on it. Is it too shitty?
 
Last edited by a moderator:
It looks brilliant on the BLU+. If you use the GP sdk there is no problem with the screen corruption issue.
The entire plasma cube section is affected due to the different speed of the BLU+. It is only noticeable on the right hand side of the screen, so I would imagine it is a minor timing issue. The buffer switching is out of synch with the drawing so the image becomes 'ghostly' towards the end of the LCD refresh. It is very minor. The better screen on the BLU+ makes it far from shitty.

Edit: On a second look the synch problem may extend throughout the demo but is only really noticeable on the plasma cube. It is just about detectable on the gold blob and the face as well. No big deal though.
 
@Optimus: What i meant was how you created the data of arrays like face3do[] ... i suppose you didn't type all the numbers by yourself :)

The answer you gave me was, though it was not the answer i waited for, very interresting.

I think i'll look through your code and "steal" some ideas from you ;) . I'm doing a veeeery simpel 3D Demo in my freetime and have to look for ways to get it better *G* ... and i need a render, since the only things displayed are dots. Rotation for now is done by calculating objects with spherical-coordinates ... i think i'll switch to a rotation-matrix, 'cause it seems this will spare me 2 muls per loop.
 
That looks awesome.

I really like those demos. I will dig out my GP32 to try this. Maybe you could port it someday to the GP2X? It would look good on the bright screen.

Scene demos are cool. They have lots of replay value to me when they are cool like this. It kind of show off the raw hardware power and are kind of an artform in themselves with the music and effects going.

Good work.
 
god_at_hell posted on Jul 8 2006 at 04:32 AM said:
@Optimus: What i meant was how you created the data of arrays like face3do[] ... i suppose you didn't type all the numbers by yourself :)

Ah, ok! It happen that I had coded another program a long time ago (in Freebasic! Maybe because I am more used to it's string commands than in C :p)) which reads a binary file and creates the whole string for the C file. I think there are some small utils for this job around though, but I don't remember where have I found them (In a random page of a random coder :)). Also, the original objects were PLG or PLY (or when they are 3DS or any other format, I convert them with some 3d converters to an ASCII format easier to understand) and I prefered to convert them to my 3do format which is simple and straight forward but in binary to save space. It's nice to have all the data in one single file, in this demo it's the first time I am doing this.

Nice to see there are some other people interested about coding demos here :)

p.s. Also, I just started to port the demo to GP2X. This port is based on my Win32 port (http://optimus.demoscene.gr/mystuff/demos/pc/ledblur_PC.zip) with wrappers of GP32 functions to SDL. However, the whole conversion code from GP32 vram to GP2X vram slows down the demo a lot and I am trying to optimize that bit. I also just made mikmod to work so maybe I'll release the GP2X port really soon.
 
Last edited by a moderator:
Optimus posted on Jul 8 2006 at 02:52 AM said:
god_at_hell posted on Jul 8 2006 at 04:32 AM said:
@Optimus: What i meant was how you created the data of arrays like face3do[] ... i suppose you didn't type all the numbers by yourself :)

Nice to see there are some other people interested about coding demos here :)

p.s. Also, I just started to port the demo to GP2X. This port is based on my Win32 port (http://optimus.demoscene.gr/mystuff/demos/pc/ledblur_PC.zip) with wrappers of GP32 functions to SDL. However, the whole conversion code from GP32 vram to GP2X vram slows down the demo a lot and I am trying to optimize that bit. I also just made mikmod to work so maybe I'll release the GP2X port really soon.

Cool. I think the one thing that the extra GP2X CPU core will be good for is demos like this. Maybe that will be used someday. The second core can be used for a little algorythm somewhere I would bet to do more effects.

Thanks for this, I hope someday the GP2X has a bit of a demoscene for it.
 
Last edited by a moderator:
Optimus posted on Jul 8 2006 at 07:52 AM said:
Thanks!

Led Blur GP2X port just released. I've posted some news but they seemed to appear and dissapear again. Maybe I should just edit the starting post of this thread about the Port instead? I'll do so then..
I just checked out the gp2x port, very nifty! I LOVE the water effect in the closing sequence.
 
Last edited by a moderator:
Back
Top