Fizzlefade screen wipe style

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is ON
[img] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Fizzlefade screen wipe style

Re: Fizzlefade screen wipe style

by Reiquel » Sat Mar 30, 2024 2:07 am

Or making big squares the primitive unit like this:

https://www.youtube.com/watch?v=sq0EAiaUR9E

Re: Fizzlefade screen wipe style

by Gez » Fri Mar 29, 2024 4:49 am

If you don't want pixel blocks, you can probably just cover a small areas and tile it. So say you're fizzling a 512x512 square, and simultaneously fizzling in the same way any other square that may exist to its left and under it, as dictated by screen resolution.

Re: Fizzlefade screen wipe style

by Rachael » Fri Mar 29, 2024 12:50 am

I think it would make more sense to use a lower resolution texture and swap out pixel blocks for higher resolutions. The effect still looks the same, that way.

Re: Fizzlefade screen wipe style

by Reiquel » Thu Mar 28, 2024 5:09 pm

Well I was trying to keep the memory requirements lean by using an LFSR. Monitor resolutions are increasing and if we use a 4k texture that's going to bloat the download size. Unless we want that generated at runtime?

Re: Fizzlefade screen wipe style

by Rachael » Thu Mar 28, 2024 3:22 pm

Honestly, it feels a bit pointless to work on coding for the old system if we want to refactor it. Plus, it's high time we gave the fade system a bit of a makeover, not just for user shaders but because it needs it anyway in order to be more flexible.

That being said, if you can make your PR on the existing shader system (it should already be possible by looking at how the burn and melt styles are done) then sure, we can merge it.

To be quite frank, I wouldn't spend too much time on the algorithm part. It seems smarter to use a custom texture, where the brightness of each pixel marks the moment it transitions to the new image. This way, the shader simply checks if it's time to switch from the old image to the new one based on the pixel's brightness. The shader can compare the timer value with the brightness of the texture's pixel to figure out whether to place the current pixel from the old screen or to the new screen. This might get a little tricky with trilinear filtering, but you can use some form of a "floor" function on the texture coordinates to fix that.

Re: Fizzlefade screen wipe style

by Reiquel » Thu Mar 28, 2024 12:39 pm

Would you merge a fizzlefade pull request in the meantime?

Re: Fizzlefade screen wipe style

by Nash » Thu Mar 28, 2024 12:25 pm

Ultimately what I'd like to eventually see is the wipe system moved to shaders, so that users can easily add their own.

Re: Fizzlefade screen wipe style

by Reiquel » Wed Mar 27, 2024 6:35 pm

The screen wipes are implemented in src\common\2d\wipe.cpp

Fizzlefade screen wipe style

by Reiquel » Tue Mar 26, 2024 7:50 pm

Currently GZDoom supports the following screen wipe styles:

* Melt
* Burn
* Crossfade
* None

How about fizzlefade:

https://jacopretorius.net/2017/09/wolfe ... rithm.html

Top