pouët.net

How do i do this ? :)

category: code [glöplog]
I've been interested in how the 3d "MYTH" logo and the spiral
is done in the MYTH Republic Commando installer.
http://pouet.net/prod.php?which=59792
Could someone explain how the "vectorball" (i think that's what it's called) effect with the chinese chars are done ? (and maybe give some src to look at)

thanks
added on the 2013-01-04 22:59:06 by zorke zorke
Well that's pretty straight forward (depending on how you want to implement it). One possibility: Just render a lot of screen aligned quads along the 2D projection of the lines of your rotating 3D object. Linear algebra might help you on your way.
added on the 2013-01-04 23:07:49 by las las
aint that just blurred copies of former frames slowly fading? and if you set the rotation center for your objects correctly and adjust the fade of older frames accordingly, it should all come from "alone"? http://www.youtube.com/watch?v=dyLRwHvnQBs
added on the 2013-01-04 23:46:04 by wertstahl wertstahl
yes of course it's le very simple slow fade of previous picture :)
instead of clearing the screen before drawing the new frame, just "fade off" the screen and display the next frame over.

I use the very same antideluvian demoscene technique on this effect (click on the screen to maximize the effect).

source code available when you click on "view source" ;)
added on the 2013-01-05 01:29:19 by rez rez
^ Oh boy, wouldn't that just be so cool as the background on a desktop.
added on the 2013-01-05 13:07:06 by Intrinsic Intrinsic
rez : niiice!
added on the 2013-01-05 23:02:02 by wertstahl wertstahl
You have fucked my mind now rez!

I don't really know an html or java but I take I take it changing ratio and speed are pretty self explanatory.
If I change the values of
Code:context.strokeStyle='rgb(255,255,255)';
that's the star colours?
added on the 2013-01-06 00:23:12 by ringofyre ringofyre
Quote:
yes of course it's le very simple slow fade of previous picture :)
instead of clearing the screen before drawing the new frame, just "fade off" the screen and display the next frame over.

I always for GPUs wondered, why they do not have this "in-hardware". That is, just "average" two rendered frames, with hw optimization, at top speed. Same for full-screen antialiasing.... why is there no in-hw "almost-for-free" way to do this? After all, didn't good old TV screens do this for free? But now we need hundreds of mhz GPUs to achieve such "stonage" effects?

If i were conspirational or sarcastic, i'd ask "do they do such basic things so inefficiently, just so that we have to buy ever newer GPUs to throw ever more inefficient hw power at doing something 40 years old?"
added on the 2013-01-06 01:33:05 by myka myka
Having something "in-hardware" makes the GPU bigger and more expensive. Why make it a special feature if you can just as easily implement it yourself, that is the beauty of the programmable pipeline.
added on the 2013-01-06 14:29:37 by fragment fragment
You remind me of someone who argued why we see films in an old TV with amazing explosions and lot's of action and we need a better CPU to pull those graphics on PC.
added on the 2013-01-06 15:45:16 by Optimus Optimus
myka: because it's framerate dependant.
added on the 2013-01-06 15:48:52 by Gargaj Gargaj
mykla, Gargaj: Also because it would end up effectively costing the same by doing it "in hardware"; you still need to read the two framebuffers from memory.
added on the 2013-01-08 11:14:54 by kusma kusma
kusma: ... or alphablend one over the other in which case ALU-equipped embedded framebuffer memory helps. :)

Doesn't change anything of course. I too fail to see how a "native" implementation could possibly be faster than a one-line pixel shader.
added on the 2013-01-08 12:22:53 by kb_ kb_
kb_ you couldn't really write such a one-line pixel shader in 2005. That could be a reason.

Another reason to make it a 'pixelbuffer' effect (apart from everyone being able to run the cracktro then, I mean) would be 4 da window border trix ;P

zorke, simplified: objects rendered with a 3D->2D transform into a bunch of cycled buffers that get decreased opacity. Current drawn-into buffer goes front and gets 100% opacity.

If you don't really know what that means you have a few months of basic but fun coding exercises in computer graphics ahead of you. Nothing is more fun than learning and making things move, so cherish that time, that time is the best of times in a coder's life :)
added on the 2013-01-08 23:42:17 by Photon Photon
if you start such a thread here my answer to you is:
"YOU don´t do this at all! EVER!"
NEVER!
as kb said: its a oneliner in pixelshaderCode, needing just two Textures (lerping/mixing them in the shaderCode-line), the C++-Code behind this is a lot bigger, you need to initialize them two textures, feed them into the pixelShader and display one of them on the Screen! C++-Code is about less than 30 lines of code, though! atleast if you lerp(), which is dX ;)
A GLSL version of the star thingy, but I decided in the end not to use backbuffer trick.
http://glsl.heroku.com/e#5891
added on the 2013-01-09 02:28:39 by T21 T21
my name for it is: TimeBlur!
yours?
I was reading the thread with the GLSL sandbox open and had the backbuffer blend going, but then I thought it would be interesting to show how this effect can be done without.
Its not fully formed, but you get the idea.
added on the 2013-01-09 04:22:47 by T21 T21
Still would have been nice with the blur, if glsl heroku allows for past frames...
added on the 2013-01-09 07:45:30 by mudlord mudlord
Just change this
gl_FragColor = vec4(c*d);
to this
gl_FragColor = texture2D(backBuffer, p+mouse)*.8 + vec4(c*d);

But the point is that time streaks can be emulated without a backbuffer blend.
added on the 2013-01-09 08:07:50 by T21 T21
Makes me wish shadertoy has this framebuffer sampler too.
I hope iq fixes that shader compile bug tho first.
added on the 2013-01-09 10:56:14 by mudlord mudlord

login