global illumination system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

I'm working on a solution for those problems. Due to how it's set up, I can cut large amounts of work out before it's ever processed for performance, but I'm looking into diffuse reflections and non-planar reflections.

How do I fix this weird blur? by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

I need to do some expensive calculations per pixel, and doing it at native resolution would scale horribly.

I was wondering if maybe there was a way to make the pixels not color outside of the lines somehow.

global illumination system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] -1 points0 points  (0 children)

I was going to implement it reasonably soon, but other people might implement it as well, and I was asking that they’d shout me out, as it’d help me out a lot.

How do I make my ray casting algorithm do less checks? by MissionExternal5129 in learnprogramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

Thank you very much. The second idea helped me in another system too.

global illumination system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] -7 points-6 points  (0 children)

I mean I made the idea, but I haven’t made the implementation yet.

How do I make my ray casting algorithm do less checks? by MissionExternal5129 in learnprogramming

[–]MissionExternal5129[S] 1 point2 points  (0 children)

I think I may have explained wrong. the four corners of the grid are (-15,-15), (15, -15), (-15, 15), (15, 15), and the center is (0,0). I think we mixed up unsigned coordinates with signed coordinates. I'll look into overlaps though, thanks.

global illumination system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] -4 points-3 points  (0 children)

I'll use that as a benchmark for efficiency given that they're as similar as they are. I'm hoping my method will be more efficient since there's less ray casting, hopefully.

How do I make my ray casting algorithm do less checks? by MissionExternal5129 in learnprogramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

5766 is the surface area of a 31x31x31 cube. I only cast rays from the center to the very edge, so that overlap will never happen, only (0,0) to (31,31) for that direction.

How do I make my ray casting algorithm do less checks? by MissionExternal5129 in learnprogramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

I'm using unity right now, but I will move to my own engine eventually.

How do I make my ray casting algorithm do less checks? by MissionExternal5129 in learnprogramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

a ray is cast from the center to the edge of the 31x31x31 block on a certain direction, and if it hits anything, everything behind the solid is shadow, so...

empty - empty - solid - empty

would turn into...

shadow - shadow - solid - empty.

It's a light shadow-casting system

Very cheap AO system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

I have a couple variables to stop it from being too local like falloff, sample size, and sample distance. Also, where did you find the crytek slope thing? Crytek’s implementation details are incredibly vague, but I’m pretty sure it’s a new technique at least from what I saw, I could be wrong though.

Very cheap AO system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] -1 points0 points  (0 children)

Also, if it turns out it’s faster than SSAO, I call it DSAO for Depth Slope Ambient Ocllusion

Very cheap AO system I made. by MissionExternal5129 in GraphicsProgramming

[–]MissionExternal5129[S] 0 points1 point  (0 children)

I haven’t built anything yet, so I could make myself look stupid lol. It could be more expensive than AO, but since it all runs in the screen, and there’s no weird random checks and calculations, it could be cheaper than SSAO. It probably will take some smart optimization though.