Debvgger information 53 glöps

- general:
- level: user
- personal:
- first name: Manuel
- last name: Montoto
- intro NEC TurboGrafx/PC Engine Captain Cavern Might Have Been Proud Of Us by Up Rough [web]
- Oh, by the way, this gets my thumbs up!
- rulezadded on the 2015-04-25 16:00:23
- intro NEC TurboGrafx/PC Engine Captain Cavern Might Have Been Proud Of Us by Up Rough [web]
- Hey MooZ ;-) Fuck Youtube! :-)
- isokadded on the 2015-04-25 15:44:03
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- Ok, one last message about this, not trying to steal the thread from you guys. The real problem is that x becomes < 0.0 on the last iteration due to the lack of precission of the float variable. Putting a:
Code:if(x < 0.0) x = 0.0 ;
at the start of the loop before using x anywhere fixes the problem. Case solved ;-)
Keep up the good work and make more demos like this, please ;-) - isokadded on the 2015-04-06 20:07:53
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- Good to know :-)
Well, now that I see the code again, it was even easier:
Quote://for (float x = 1.0; x >= 0.0; x -= 0.1)
for (int xint = 10; xint >= 0; xint -= 1)
{
float x = xint / 10.0 ;
Then the rest of the loop can remain just the same as it was, it's just two different lines :-) To be honest, I don't have many neurons working right now, I've been programming nearly 72 hours straight and thought it would be a good idea the download this demo and watch it again to take a break.
I guess it's the coder's nature :-D
In fact, I'm going to run a few more tests to see what the hell is happening with the value of x. - isokadded on the 2015-04-06 19:52:55
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- OK, it works:
Code:// blur //for (float x = 1.0; x >= 0.0; x -= 0.1) for (int x = 10; x >= 0; x -= 1) { float xx = x / 10.0 ; float x1 = (xx * -0.05)* fix + lumadelay; float x2 = (xx * 0.1)* fix + lumadelay; vec3 mult = (vec3(1.0) - pow(vec3(xx), vec3(0.2, 1.0, 1.0))) * 0.2; vec2 uv1 = uv_n + vec2(x1,0.0); vec2 uv2 = uv_n + vec2(x2,0.0); vec2 uv1b = uv_n + vec2(x1, 1.0/486.0); vec2 uv2b = uv_n + vec2(x2, 1.0/486.0); yuv += (rgbtoyuv * texture2D(iChannel2, uv1).rgb) * mult; yuv += (rgbtoyuv * texture2D(iChannel2, uv2).rgb) * mult; //yuv.gb += (rgbtoyuv * texture2D(iChannel2, uv1b).rgb).gb * mult.gb; //yuv.gb += (rgbtoyuv * texture2D(iChannel2, uv2b).rgb).gb * mult.gb; }
I'm really curious about what's going on. - isokadded on the 2015-04-06 19:42:11
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- OK, x is used for x1 and x2, for some reason I didn't notice. Let me check again.
- isokadded on the 2015-04-06 19:40:44
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- histack, I found a fix for the AMD cards :-)
Go to ntsc.glsl, line 118, the blur loop, the problem is with the value of x when doing the pow() operation.
1) Do not loop on a float variable. Change it for an integer:
Code:for (int x = 10; x >= 0; x -= 1)
2) Now, create another variable, for example xx and put x/10.0 inside:
Code:float xx = x / 10.0 ;
3) Finally, use pow(xx) when calculating mult instead of pow(x):
Code:vec3 mult = (vec3(1.0) - pow(vec3(xx), vec3(0.2, 1.0, 1.0))) * 0.2;
So, finished loop:
Code:for (int x = 10; x >= 0; x -= 1) { float x1 = (x * -0.05)* fix + lumadelay; float x2 = (x * 0.1)* fix + lumadelay; float xx = x / 10.0 ; vec3 mult = (vec3(1.0) - pow(vec3(xx), vec3(0.2, 1.0, 1.0))) * 0.2; vec2 uv1 = uv_n + vec2(x1,0.0); vec2 uv2 = uv_n + vec2(x2,0.0); vec2 uv1b = uv_n + vec2(x1, 1.0/486.0); vec2 uv2b = uv_n + vec2(x2, 1.0/486.0); yuv += (rgbtoyuv * texture2D(iChannel2, uv1).rgb) * mult; yuv += (rgbtoyuv * texture2D(iChannel2, uv2).rgb) * mult; //yuv.gb += (rgbtoyuv * texture2D(iChannel2, uv1b).rgb).gb * mult.gb; //yuv.gb += (rgbtoyuv * texture2D(iChannel2, uv2b).rgb).gb * mult.gb; }
Now, what the heck is happening here, really? :-) - isokadded on the 2015-04-06 19:37:42
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- Oh! I'm sorry to inform you that I tried it on my other computer and it's not working on my ATI R290 :-( No problems on a GTX 650ti.
Damn GLSL... That's why I use both computers at once when working on my routines. Hope Vulkan and SPIR-V will make our lives easier! - isokadded on the 2015-04-06 17:42:26
- demo Windows Jupiter 666 Video Computer System by Hackers [web]
- Should have earned a better position! Anyway, congratulations for your work :-) This demo was one of the best, I loved it!
- rulezadded on the 2015-04-06 13:48:25
- 64k Amiga AGA Flow My Programs by Software Failure [web]
- Good, Ham!
- rulezadded on the 2014-08-01 13:54:54
account created on the 2012-07-29 20:36:54