Another demo

Humus

Crazy coder
Veteran
Some ASCII rendering this time.
Fun, but useless. :p

ASCII.jpg


http://esprit.campus.luth.se/~humus/
 
Humus said:
Some ASCII rendering this time.
Fun, but useless. :p

Hardly useless!

You could run the demo on a remote pc - say your one at home - and pipe the output to local pc - say your one at work.

Easily achievable using something like VNC :D

Now, if someone could write a wrapper for this to say take the video out from any given application and dump it through your ASCII filter ........ maybe I could play UT2003 on my crappy work pc!

:LOL:
 
I like the idea of using the 3D-texture; that's quite clever. :)

But the harder (and more interesting bit) is to select characters not via average intensity but to approximate shape... ;)
 
I was thinking, maybe you could render to a larger texture (2x2 texels for each ASCII character), and then look a character up with the average intensity of the 2x2 block and ddx / ddy (computed from the texels in the block). This would probably need (at least) one other dependent lookup, and I don't have a clue whether this would have the desired effect... :?:
 
Hahaha, I don't believe it! LOL Humus, but you actually found a way for an ASCII demo to require DX9! ROFL, kudos man!


*G*
 
Very nice demo :)
But Humus, you REALLY should have taken a bit more time to weak it though IMO. I fiddled a bit with the fragment shader of ascii.sdh, and I managed a way cooler result in just +- 15 minutes.

muchcoolersmall.jpg

http://www.notforidiots.com/muchcooler.jpg

I simply replaced:
Code:
return tex3D(Ascii, float3(asciiBase, dot(tex, gray))) * float4(1.5 * normalize(tex), 0);
with:
Code:
return tex3D(Ascii, float3(asciiBase, dot(tex, gray))) * float4(1.5 * normalize(tex), 0) + ( 0.01/tex.xyzz );

Or maybe am I the only one to think that change makes it cooler? :)


Uttar
 
[maven said:
]I was thinking, maybe you could render to a larger texture (2x2 texels for each ASCII character), and then look a character up with the average intensity of the 2x2 block and ddx / ddy (computed from the texels in the block). This would probably need (at least) one other dependent lookup, and I don't have a clue whether this would have the desired effect... :?:

Hmm. I'm doubtful.
 
Hm, seems like there is a fundamental difference in how NVidia and ATI treat divisions by zero or something, Uttar. Your version produces bright white on ATI cards where your screenshot shows black.
 
Xmas said:
Hm, seems like there is a fundamental difference in how NVidia and ATI treat divisions by zero or something, Uttar. Your version produces bright white on ATI cards where your screenshot shows black.

In OpenGL division by zero is undefined, but in DX it's defined to yield infinity, so it seems ATI has the conformant implementation.
 
Mendel said:
Humus. How about making opengl version so I can try what happens when i turn on ascii text smart shader on top of that ascii demo? :D

I don't think that would look particularly good.
 
humus your implementation certainly looks alot better then the ati one ( prolly at a bigger fps cost ) I love it :)

Very good work on the demo but aren't yours always like that.
 
Back
Top