Felix Westin

747 posts

Felix Westin banner
Felix Westin

Felix Westin

@FewesW

Game developer @pugstormgames. Also working on my air combat game UHawk now and then.

Sweden Beigetreten Nisan 2012
71 Folgt3.8K Follower
Angehefteter Tweet
Felix Westin
Felix Westin@FewesW·
Uploaded a minimal (single cginc) atmospheric scattering implementation for Unity to use as a reference for other projects, maybe someone else will find it handy as well: github.com/Fewes/MinimalA…
Felix Westin tweet media
English
4
66
468
0
Grégory Jaegy
Grégory Jaegy@gjaegy·
Finally got some time to make a quick video showing our new raymarched volumetric clouds implementation !
English
8
8
232
7.3K
Felix Westin
Felix Westin@FewesW·
@elefantopia @nikefootbag @guycalledfrank It does not need to encompass it. The self occlusion factor is determined by the direction to the capsule "center line" (line between the two capsule points), meaning self occlusion is prevented even if the capsule does not match the geometry exactly.
English
0
0
1
65
Felix Westin
Felix Westin@FewesW·
I uploaded a Unity package containing a capsule occlusion implementation, useful for rendering character occlusion in situations where SSAO is not viable. Check it out at: github.com/Fewes/CapsuleO…
GIF
English
4
36
236
11.8K
Felix Westin
Felix Westin@FewesW·
@nikefootbag @guycalledfrank The occlusion on the helmet comes from the capsule used for the clavicle, and for the pouches it comes from the spine ones. Basically as long as the normal direction is facing towards the capsule you will end up with some occlusion.
English
0
0
1
93
Tim Neville
Tim Neville@nikefootbag·
@FewesW @guycalledfrank Hmm, I’m confused how you get the smaller AO details on the helmet and pouches on the actual soldier from the capsule?
English
1
0
0
95
Felix Westin
Felix Westin@FewesW·
@seanaldmcdnld ...plus, you'll always be allocating memory for occluded pixels (outside of frustum). It does give you very stable pixels for reprojection though (especially when amortizing pixels using a Bayer matrix or something), I'd say that's the one advantage it has over a screen buffer 🙂
English
0
0
0
136
Felix Westin
Felix Westin@FewesW·
@seanaldmcdnld Yes exactly, it really starts to break down at high altitudes. I imagine you can mitigate it somewhat like you describe, but honestly the FOV issue is far worse: High FOV will oversample and low FOV will undersample (does work OK for VR though, since that has a fixed FOV)...
English
1
0
1
154
Sean McAlister
Sean McAlister@seanaldmcdnld·
@FewesW Hi Felix, I've been going down the path of rendering clouds and atmosphere, and I'm interested in your approach of rendering to an offscreen spherical buffer. Can you suggest some reading for me on this method? Or is it a proprietary method you came up with?
English
1
0
0
289
Felix Westin
Felix Westin@FewesW·
@seanaldmcdnld If you still are interested in the spherical buffer, it goes like this: 1. When updating the buffer, calculate rayDir from UV using polar coordinates. 2. When compositing, calculate UV from rayDir. Attached image shows how to convert between the two (in HLSL). Happy rendering! ☁️
Felix Westin tweet media
English
1
0
0
211
Felix Westin
Felix Westin@FewesW·
@seanaldmcdnld Hi Sean! This method used spherical/polar coords, so essentially rendering to a 2D texture using azimuth/zenith as XY coords. I have since swapped this for a normal screen buffer though, you can reproject just as well, it has less artifacts and scales better to various FOVs!
English
1
0
1
196
Felix Westin
Felix Westin@FewesW·
Fell down a bit of a rabbit hole recently working on rain effects
English
10
51
678
49.8K
Felix Westin
Felix Westin@FewesW·
@ben_throop Bit of both! I've had other priorities recently but I never really stopped tinkering 🙂
English
0
0
1
785
Ben Throop
Ben Throop@ben_throop·
@FewesW I was just wondering about you the other day. Back on this again? Or just tinkering?
English
1
0
0
920
Felix Westin
Felix Westin@FewesW·
@Thunder_Owl Been a bit busy with life stuff, still find time to tinker now and then :)
English
0
0
1
101
Felix Westin
Felix Westin@FewesW·
Toying with a bit of GPU-based hydraulic erosion, quite satisfying to watch it run! (top left to bottom right: height, water, avg flow, hardness)
English
2
19
116
10.3K
Felix Westin
Felix Westin@FewesW·
@AlejandroDaJ Mainly the difficulty of keeping it up and running with the changes Unity was doing at the time and the overhead of maintaining and supporting it as a product. I don't know of a particular asset, but the new native stuff looks pretty good, though looks like it might be HDRP only.
English
0
0
0
0
Felix Westin
Felix Westin@FewesW·
@chribbe1 Yes actually! You can set up the config object to keep certain color channels and bake occlusion or curvature to the alpha only (though to be fair I have not tested this yet...)
English
1
0
2
0
Christian Östman
Christian Östman@chribbe1·
@FewesW Really cool! Is it possible to use if you already use vertex colors for main color?
English
1
0
0
0
Felix Westin
Felix Westin@FewesW·
I uploaded a small AssetPostProcessor for Unity that bakes AO/curvature data to vertex color channels (it auto-updates if you change the FBX file), mainly intended for mid-poly and procedural workflows. Check it out here if you are interested: github.com/Fewes/VertexCo…
Felix Westin tweet media
English
1
38
231
0
Hawx.W
Hawx.W@genesiswon94·
@FewesW @chena_cpp I made some tiny modifications, I used the power of 4(or 2 or any value bigger than 1) of the estimated density to multiply the cloud alpha, and the result is much better, I can also set higher blend factor for better covering the scene behind in this. way.
English
1
3
38
0
Felix Westin
Felix Westin@FewesW·
Testing transparent compositing via weighted depth buffer (forward compatible, no scene depth required). Had previously written off this approach b/c of noise/temporal stuff making it jittery but with structured sampling it is stable. Works OK even in this worst case scenario.
GIF
English
6
55
627
0