sp614x / optifine

1.81k stars 416 forks source link

"Pre-processing" stages and shadow post-processing #2168

Open Choca13 opened 5 years ago

Choca13 commented 5 years ago

I could be interested by having something similar to deferred or composite programs, but running right before gbuffers programs (should not be too complicated imo).

Also, but more complicated, being able to do "post-processing" on shadow data could have a lot of uses:

However a few things should be added with this:

sp614x commented 5 years ago

What do you mean with shadow "post-processing"? Fixed-size textures currently work only read-only. Writing is always done with the framebuffer size. Writing to fixed size textures probably needs Image Load Store: #791. Configurable shadow buffer formats: #1712, #944.

DethRaid commented 5 years ago

What preprocessing would you want to do?

Choca13 commented 5 years ago

By "shadow post-processing" I mean doing post-processing on the shadow data (or something else) and outputing to the shadowcolor buffers. Pre-processing stages would be mostly for me, as I want to render my sky and clouds at half or quarter resolution while using forward shading (which I use on my low-end shaderpacks). Currently, doing this would complexify the rendering too much and slow things down.

sp614x commented 5 years ago

Do you mean the post-shadow composites to run from the shadowlight viewpoint and the next pre-gbuffers composites to run from the player viewpoint?

Choca13 commented 5 years ago

pre-gbuffers composite have to run at render resolution, and shadow composites have to render at shadow map resolution. Just drawing a quad.

rre36 commented 5 years ago

+1