Dark Bit Factory & Gravity
PROGRAMMING => Freebasic => Topic started by: ninogenio on December 29, 2013
-
hey guys, ive had the whole day free today so ive coded like a mad man ;D
i had loads of individual freebasic stuff coded earlier in the year, with lots of stuff still too try out so thought what the heck.... Mega demo time!!!
i actually thought it would be a nice way too round out the year putting all the stuff i have done through the year in one place, and make a new year tro out of it. soooo here it is guys there is no source atm as its a complete and utter mess it would not be useful too anyone.. over the next few days ill clean and comment everything and post the code up.
some of this stuff i have already posted in bite sizes and some of it not. i have also gotten urges too try some of this stuff from various posts on this board at different times.
ohh and everything is pure framebuffer pixel pushed no gpu's were harmed during this development :)
-
Excellent and Well Done :clap:
-
nice one :) pushes my framebuffer wery smoothly :)
Love the bumpmap part. But overall great stuff :)
:cheers:
-
thanks guys!
i had forgotten how much i love too just reserve a large area of cpu ram and go wild :)
having the power and freedome too do anything really is a novelty that can easily be forgotten about with modern shaders everywhere. i suppose its a double edge though as i was doing stuff like the 3d text made with 3d light objects, i kept thinking gahh i wish i had gl for this :)
-
Very nice, I liked all of it ;D
-
That was ace ninogenio :) Loved every bit of it. Personal favourite parts where the multiple lightsource checkboard scene and the roto-zoomer. The Willy Wonka font fitted really well too IMHO, giving it a really cheery vibe (along with the music). Top stuff! K++
And a Happy New Year :D
-
thank you guys!!
im really glad you all enjoyed this i really wasn't sure whether it was up too snuff and as such was going too just put it in my back ups lol.
speaking purely from a technical point of view my favorite part was the 3d vector text purely because i managed too software render it all at interactive frame rates. it was actualy C3lt1c who did me a little tutorial on the basic effect earlier in the year but i never got round too fully trying it out.
his example used the freebasic gfx lib though and i needed it too happen in tiny ptc so had too use an 8x8 binary font set. scan the text string and store the bool values in an array the same size as my text array.
then scan that array and everytime i found a point rotate scale and project it then send these projected points through as a co-ord system for my hedra spheres with each projected point being a point of origin for my hedra's. then i had too render all my hedra points around these points rotating and projecting the hedras then do a quick bubble sort of the hedra's grab there normals just before rendering and only draw faces with front facing normals this meant only half the number of faces needed too be rendered. then i had too w buffer the the whole scene so that as the text spins the nearer hedra's dont draw behind the further ones.
i had a few z fighting issues that were a nightmare too fix but i got there :) and finally just completely cull all initial points that are out of view.. in the end it all worked much better than i hoped for so i guess thats the part i am most proud of. on the plus side i guess i can convert any flat 2d image too a 3d set of objects in much the same way and make them explode etc..
im about half way cleaning the code guys so its coming soon ;)
and happy new year too you too Raizor! :cheers:
-
AMAZING Stuff!... It took a lot to start (old 1.6GHz dualcore notebook here, as always) that just seems a long precalc time... but simply lovely stuff!!!
Lovely 3D softrender, totally awesome bumpmapping and rotozoomer!.. everything runnging very smoothly!!!
-
thanks very much mate ;)
It took a lot to start (old 1.6GHz dualcore notebook here, as always) that just seems a long precalc time...
yeah this is actually because the engine the demo is built on was geared more towards level based games games. where each levels resources are loaded between stages with a loading screen. but when i first did this demo that way the small pauses between the various states were not acceptable so i just allocated all resources in one go at the very beginning.
however having said that i managed too get the whole thing much more streamlined today i got the rotozoomer and 3d text going at double the speed up from 50fps too 101 without the clamp in place i also got the loading too happen about twice as quick as well as loads of other fixes.. the whole thing is just a bit tighter and smoother now.
ive attaching the fixed up exe too this post
-
and i finally fixed all the code up too a point where im happy too share..
the meat off all the effects is in the demo states folder.. all the plugin stuff can be thought of as library's that just make my tiny-ptc life a little less troubled. and the oldschool.bas and oldschool.bi is a little engine that initalizes and allocates each demo state's resources then i can simple change demo effects with a simple enum switch.
if you guys have any questions or anything just give me a shout.
oh one last thing i have included everything too build the exe... music/libs/code etc so you can build the exe without any troubles but anyone that does build up the sources will have too steal the image folder out of the link above too actually run it.
:cheers: guys
-
I love you and hate you at the same time.
Love the work, hate how clever you are! ;)
Thanks for the sources - it can be so hard to get moving with some of these effects.
Top stuff!
-
haha thank you very much ;D
And i like too be as open as possible with code because i know first hand just how difficult some of this stuff is too figure out. K++
-
Pretty nice work.
It remembers me the good old days of the dbf forum, when people here were making their cool software intros. 8)
-
good old days of the dbf forum, when people here were making their cool software intros.
Why is software better than hardware? Just wondering.
To some degree all the shader stuff brought back a lot of the "code your own stuff" thing, if that's what your missing :)
Anyway megademos are cool, they give me an itch, to do something myself :)
-
i personally dont think its better or worse. its just a nice thing for me too dable with from time too time..
the power of just grabbing an area of ram and having each element connected too a pixel on screen is sometimes under stated.
what im finding more and more these days is that because im fairly competent with software framebuffers when i do work in glsl i have the added benefit of knowing exactly the sort of effect i want too achieve.. it usually makes the whole shader process a lot more streight forward with less head scratching.
a lot of people walked away from software rendering because it was too slow when compared too hardware but what i have found with modern cpu's like my i7 is that if you code in a granular fashion using multi cores too the max avoiding floating point vars especially in tight inner loops, they can be staggeringly fast!
i quite belive full interactive 3d games could be done that look quite good.
there is also the other uses for knowing how too properly use a framebuffer like my comp entry where all i had was a tiny cpu 32k of ram and the leds hooked up too the cpu pins. without knowing how too soft render i would have been screwed :)
-
Wow, new freebasic demo! Love some of the vector parts and the great water. I want to see how I can make the water drops so thick and smooth.
Software rendering, I want to code more of it. It always feel great when you manipulate pixel by pixel.
Even harder will be in old platforms. I started coding a DOS demo for 486sx/33mhz. Lot's to optimize. Maybe try assembly techniques from 8bits (huge unrolled codes), and see if they work here or if I have cache misses. Next would be a 286. Ultimate challenge for me.
-
cheers Optimus!
Software rendering, I want to code more of it. It always feel great when you manipulate pixel by pixel.
Even harder will be in old platforms. I started coding a DOS demo for 486sx/33mhz. Lot's to optimize. Maybe try assembly techniques from 8bits (huge unrolled codes), and see if they work here or if I have cache misses. Next would be a 286. Ultimate challenge for me.
that sounds really interesting. i remember the great times back when i had a 486. it was really staggering how much could be done when coding down at the low level. i used too play some of the games and demos of the time and think htf is this happening?! now looking back i respect the stuff that was being done even more.
i am with you, developing on limited platforms gives a kick that just cant be matched.
-
Not had chance to come on here for a while - sorry guys. However after saying that - absolutely loving this . . . really nicely done. You can't beat pixel bashing. Thanks for sharing the code too Ninogenio. :)
DrewPee
-
Refreshing :)
Also Im sorry for the late comment but this is really nice and just wanted to say thanks for making me grin :)
-
Wow, that was so awesome nino, you did some cool stuff last year, here's to another happy productive new year! :cheers:
Nice tune as well!
:updance:
Thanks for bringing this up Shockwave, I never would have known the awesomeness I missed!
-
thanks guys.. finished a few non coding projects so am ready too hit the keyboard once more :D.. i think this is going too be an android/web coding/electronics year.. really glad everyone enjoyed this :cheers: