G.P.P. back

(L) [2006/05/08] [tbp] [G.P.P.] Wayback!

Before releasing the source, i'd like to catch any silly mistakes i could have made. So, let's start with another round of binary only entertainement.


[LINK http://ompf.org/alpha/gpp-bin-20060508-00.rar]

For your eyes only, now with sources:

[LINK http://ompf.org/alpha/gpp-src-20060511-1.rar]


That's for win32, with 2 versions included: x87 & SSE2.


It should Just Work[tm] as is.


To override resolution use -x horizontal_resolution & -y vertical_resolution, to override the recursion level for building the sphere flake use -l lvl. Finally, you can specify the texture wrapped on da flake as a trailing path.

Note that in order to keep things tight, an ugly win32 call is made, thusly only jpeg/bmp/png are supported; remote files are somehow supported (see the provided silly .bat).


When started it will load the texture, generate & trace da flake. Then a window will pop up displaying shiny things. In fact, presently, said shininess should vary.

Left click somewhere and focus will be set to the designated depth; alternatively hold that button down and move around.


What you're going to regret if your box doesn't support OpenGL 2.0, FBO, NPOT fp16 textures etc...

[IMG #1 ]
[IMG #1]:Not scraped: https://web.archive.org/web/20061004024426im_/http://ompf.org/ray/wip/pix/20060508-00-colofulshininess.jpg
(L) [2006/05/08] [rontana] [G.P.P.] Wayback!

Im getting No OpenGl 2.0 support.


(Intel Pentium M 1.6ghz, Moble Radeon 9000)
(L) [2006/05/08] [tbp] [G.P.P.] Wayback!

Right. ATI again.

I have no idea if they have a driver supporting ogl 2.0 somewhere.


I thought it was cleaner to ask for OpenGL 2.0 than glue together all required extensions (FBO, NPOT/float textures etc).

As your hardware doesn't filter fp16 and i haven't written fallback code, it would have been very ugly anyway [SMILEY Smile]


Thanks for trying.
(L) [2006/05/10] [lycium] [G.P.P.] Wayback!

um, works on a 6600 (no surpise since you're using a 7800gt). any stats i should be returning? [edit: heh, just realised it's supposed to be interactive.. my gpu is oc'd quite a bit, and still the continual transitions are difficult to spot]


are you doing something like this effect: [LINK http://www.bluespoon.com/square/index.html] (scene with the blue boxes rising and falling, gaussian blurred and alphablended in 256 colours...)


will test on a radeon x1900 xt in a week or two [SMILEY Twisted Evil]
(L) [2006/05/10] [tbp] [G.P.P.] Wayback!

Can't seem to dl that demo atm (time outs), so i can't say.


There's:

. bloom: original buffer downscaled a bit, high passsed, gaussian blurred a bit.

. dof: sampling within a radius depending on the actual depth vs focus between the original buffer and a blurred downscaled version.

. all of that is gathered and tonemapped.


At that point it's already quite slow on my 7800. I've tried to make some 'glare', but they looked quite cheap.

I've gone mostly for quality. There's not much speedup by going with integer textures, but i guess some of those passed could be tuned down a bit.

All those shader would require quite some tweaking to run properly on those non fp16 filtering ATI cards, and that would be quite expensive too.


And yes, it's supposed to be interactive [SMILEY Smile]

There's no control over the varying bloom, but you can click to change the focus (but not its 'range').


I wanted to post sources today, but i have a giant headache. So that will have to wait.


EDIT: "my gpu is oc'd quite a bit, and still the continual transitions are difficult to spot" i'm not sure i grok what you meant; it's running about 50fps here @1024x1024
(L) [2006/05/10] [lycium] [G.P.P.] Wayback!

the depth-based dof effect is basically what i was asking re the square demo. sorry for being too lazy to properly check the shader code ;)


about what i said re oc'd gpu etc: basically "even though i'm not running at stock 6600 speeds, i'm having a hard time seeing the focal plane variation", so i'm assuming that the animation speed isn't constant, but linked to rendering speed (no *dt in there). that makes the movement hard to see if the updates are happening 10x slower here than on your card.


oh and i'm not so sure if doing the blending manually for ati will be slower, especially on the x1900. would be interesting to see!


ps. digging the pony express ;)
(L) [2006/05/10] [tbp] [G.P.P.] Wayback!

OMG ponies! Eh.


I'm not entirely happy with the DOF, it's expensive and looks half assed. Though my hope is that it won't matter that much once things starts moving around (or at least the camera that is). I wasn't willing to go below 50 fps at that res. There's many knobs to tweak anyway.


And yeah, all transitions are frame based not time based because... i'm a cheap bastard. Plus that was a nice immediate visual clue for me about how slow the whole thing was.

That thing is really meant to be a disposable engine, err, framework, no, proof-of-concept where it's easy to plug in whatever whacky postproc idea one may come with.


I would have thought, tho, that it would be much slow on a 6600.


Manually doing the blendage/filtering shouldn't be much of an issue for most passes but the DOF. If i beleive nvshaderperf, it's spending ~50 cycles per fragment already, and there's a whole screen to massage. So i guess it would be wiser to split it into multiple passes. But then, what do i know.
(L) [2006/05/11] [tbp] [G.P.P.] Wayback!

Heh.

Now you can check for yourself...

Sources, win32/msvc8 (not that it matters).

[LINK http://ompf.org/alpha/gpp-src-20060511-1.rar]


EDIT: Ah crap, forgot to include proper GPL2 notice. THESE L33T SOURCES ARE RELEASED UNDER THE VIRAL CRYPTO-COMMUNISTIC GPL2 LICENCE.

EDIT(bis repetita placent): fixed.
(L) [2006/05/11] [Phantom] [G.P.P.] Wayback!

Hmm... I should have included some kind of license for my sources too I guess?

Anyway, they are not yet in a 'commercially' usable state.
_________________
--------------------------------------------------------------

Whatever
(L) [2006/05/11] [tbp] [G.P.P.] Wayback!

I understand free software really as software libre. That is released in a form that warrants that freedom (as in speech). Cue in commie speeches from Herr Stallman.


But to each, his own.
(L) [2006/05/11] [Phantom] [G.P.P.] Wayback!

Well I had several bad experiences with companies exploiting code that I wrote. Search for WinAlice, 'Alice C', and all it's derivatives. It's all heavily based on my code. Alice is a chat bot, that I ported from Java to C, adding tons of fundamental improvements while doing so.
_________________
--------------------------------------------------------------

Whatever
(L) [2006/05/11] [tbp] [G.P.P.] Wayback!

I'm also extra cautious. Plus if i release code without getting paid to write it, i expect people using/buidling upon it to contribute back.


That's fair i think. And that's why i use the GPL (and not a BSD-like or worse throw everything into the public domain).
(L) [2006/05/11] [lycium] [G.P.P.] Wayback!

i can see a topicswitch going on slowly here... sorry to contribute, and these are not my personal views but rather problems i see with the gpl thing:


firstly, i dl'd tbp's code before he edited in gpl stuffs. does that make it gpl-free? what if i didn't check back here and was malicious/enterprising? would it stand up in court? which court?


next up, how can one really tell for sure that your code was used? i know in some cases it can be clear, like with jacco's alice code which is probably quite large and traceable unless they go for a near-complete rewrite/refudge. then, if you've found out, which "police" do you call? fsf? do they actually take action?


finally, it is more or less my opinion that so far that desperately little of what i've released so far is really the best i can do- surely if you always keep a few cards up your sleeve and don't release those (common practice i'll bet, even if no one outright says so) then truly enterprising types would see that you're more valuable on the team than as a competitor (they have risk too, by giving away information- that it's sellable and often also to whom).


[NB. i understand that if you're out for maximum sneakiness your days as a paid programmer are probably numbered, just asking some hypothetical points i've been wondering for a while since you guys seem to be In The Know on the matter.]
(L) [2006/05/11] [tbp] [G.P.P.] Wayback!

I'm not lawyer, or i wouldn't be there but...

Unless there's a proper notice, only the usual copyright laws apply. The GPL only builds upon them anyway.


I'm not interested in enforcing that license. If someone or some entity has ethical standards low enough to circumvent it, that's fine with me. They're just lowlifes and i'm still the one that produced it. So i can prolly produce some more.

See Sony hijacking GPLed software into its funny DRM. See famous historical plagiats.


I think GPL is the Right Thing because of the notion of progress; you modify my stuff, you publish at least a patch. Win-win.

Now publishing also has another virtue: prior art (however laughable that notion maybe atm).


Anyway, that's *my* software i do whatever pleases me with it. Unless you pay me to write something, that's none of your business [SMILEY Wink]


PS: Now if by any chance i caught you doing nasty things and if i were to be in a naughty mood, that could still mean troubles for you. Lots. That's quite some ifs but suits are know for their aversion of risks of all kinds.

back