chena

488 posts

chena

chena

@chena_cpp

graphics programmer

Se unió Mayıs 2015
882 Siguiendo75 Seguidores
chena
chena@chena_cpp·
@SebAaltonen @dkharms_ It seems to be just reducing the permutation explosion caused by state changes, but most permutation explosion is caused by shader static condition branch, state don't change.
English
0
0
0
19
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
The PSO explosion has grown so much that today we need massive cloud servers to deliver the PSOs. Each vendor has their own solutions. We should fix the root cause instead of building this massive infrastructure. tomshardware.com/pc-components/…
English
15
20
210
12K
chena
chena@chena_cpp·
@panoskarabelas Did you use aftermath? breadcrumbs seems can't get more detailed info.
English
0
0
0
368
Panos Karabelas
Panos Karabelas@panoskarabelas·
If you have no GPU breadcrumbs, implement them, yesterday.
Panos Karabelas tweet media
English
3
2
52
5K
chena
chena@chena_cpp·
@SoftEngineer Did any of the talks mention shadow culling? Thanks.
English
1
0
1
72
Alex Goldring
Alex Goldring@SoftEngineer·
Doom Etarnal and its predecessor were ultra-optimized towards light counts. There are great presentations for both from SIGGRAPH. Elernal more-so. Makes sense that the team would push it as far as it goes. As for TDA - I guess part of it is the open-world(-ish) nature of the game. Unless your game is super-duper dark, it's actually really hard to make good use of local lighting in outdoor scenes. If you take a good-looking open-world game, they typically find ways to cover up the sky to create good environment for varied lighting. Such as a dense forest with occasional clearings and tall brush. Other games lean into making the landscape look beautiful, but that's not a lighting thing anymore. If you have walls and a ceiling - it gives you so many options for lighting fixtures. As humans we know that the sun is really freaking bright, so any light sources outside can't be too bright or they will look fake. Sad times. So yeah, you have to tone down main directional light source and make it overcast, push towards twilight and night as far as possible. Most games that have a day/night cycle cheat by making sunrise and sunset last several times longer proportionally than in real-life, because lighting is more interesting during those times.
krowan@krowan_47

@SoftEngineer damn, you buried my point. My guess is that, when I wrote it, I was comparing it to Eternal in my mind. There was light everywhere, making the details stand out. This is not happening in TDA, and the details are being kept in the dark, that's maybe why I don't appreciate the game

English
1
0
14
2.6K
chena
chena@chena_cpp·
@FilippoTarpini Which decompiler did you use? I can't find a decompiler support dxil.
English
2
0
0
30
Filippo Tarpini
Filippo Tarpini@FilippoTarpini·
@chena_cpp Yes. There's a few decompiler around for multiple shader model versions. Plus, as I said, Musa has reverse engineered the previous games. Pragmata wasn't much different.
English
1
0
1
107
Filippo Tarpini
Filippo Tarpini@FilippoTarpini·
How does Resident Evil Requiem, and more generally the latest RE Engine games, handle HDR? Here’s a technical breakdown of the defects we think it has. Obviously the game has HDR grading so that's already great in itself, and the on final screen results are good. For context: I’m a big RE fan, so this is not meant as hate or criticism; just a technical analysis! @MusaRenoDX, a fellow modder and collaborator, has been making mods to improve HDR and grading most of their games, and did for this one too (REverse engineering and replacing game shaders). They are pretty popular in the PC gaming community! Biggest problems: - Wrong transfer function used for SDR, which shifts the look unintentionally in SDR only, this gets baked into the default look of the game and assets, and is not transposed in HDR, hence HDR has a very different look on shadow (more raised). - HDR LUTs are pre tonemapped to 1k nits, and then re-tonemapped to your display peak. This means that if you set it to 1k nits, you actually get less as it tonemaps twice. This also means you can't get more than ~1k nits. - Improper paper white scaling. The user brightness is scaled in the wrong place, which skews all the colors sampled from the LUT. For example if the LUT tinted shadow red and midtones blue, if you double you brightness setting, shadow will start to be tinted blue, which breaks the game intended look. Minor problems: - They use separate LUT files for SDR and HDR, including one for each SDR gamma/OETF settings. The SDR one bakes in tonemapping, while the HDR one does display mapping after. A IMO simpler and more reliable workflow would be to have a single HDR LUT and neutrally compress to SDR or HDR at the end. - Setting the Gamma/OETF to Rec.709 apparently causes major banding. Either way it shouldn't be used if as it's not a transfer function used by displays. - LUTs input is in the AP0 (ACES storage) color space which means much of the input range is wasted as the game renders in Rec.709, a much smaller gamut. - There's no separate control for UI brightness which isn't ideal for UI visibility or OLED in general. - UI transparency blending looks a bit different between SDR and HDR which makes it unreliable from an artistic point of view, but it's not bad here. Previous games used SDR LUTs all the way and stretched them to HDR with sub optimal math, hence in HDR you'd have some weird hue shifts on shadow and broken gradients. They recently improved on that. The tonemapper here seems to be ACES (per channel + hue shifts) but we can't confirm as it's within LUTs. I really wish I could reach out to CAPCOM :D! SDR vs HDR pics.
Filippo Tarpini tweet mediaFilippo Tarpini tweet media
English
4
14
145
11.4K
chena
chena@chena_cpp·
@eclmist Hi, how to use dx12 RT in wpf? Thanks.
English
0
0
0
13
Samuel Huang
Samuel Huang@eclmist·
Last weekend I decided to write an editor for my DX12 renderer. I started a WPF project, but was immediately disappointed by the lack of a built-in window docking system. So I wrote one in🙂
GIF
English
1
7
49
0
chena
chena@chena_cpp·
@aviel08 Hi, when to release Reverie?
English
0
0
0
2
Alex Leiva
Alex Leiva@aviel08·
I'm putting together a simple Unreal scene to test Reverie out. I'll share the project files
Alex Leiva tweet media
English
1
0
2
343
chena
chena@chena_cpp·
@elliotgraytho So, just train once and support time of day?
English
1
0
0
26
Elliot Gray
Elliot Gray@elliotgraytho·
Sick! Impressive when static but “we extend pre-computing a neural irradiance volume … by introducing new inputs to the model, e.g. the current position of the moving emitters. We train the irradiance field while randomly sampling the variable scene parameter” is a real mic drop
Arno Coomans@arno_coomans

Our Neural Irradiance Volume (Eurographics 2026) permits real-time rendering of large scenes with dynamic objects and moving lights, while providing a higher quality at a given memory budget (10x improvement over probe grids!). Project page: arnocoomans.be/eg2026/.

English
1
0
6
533
Mr F
Mr F@guycalledfrank·
@devsh_gfx_prog It won't stretch THAT much though. Unless you supersample a very detailed noisy normal map (and even then... not sure... feels like there must some other factor at play). Cook Torrance won't stretch that much on a flat plane.
English
2
0
6
749
Mateusz Kielan
Mateusz Kielan@devsh_gfx_prog·
A regular Cook Torrance grazing lobe is anisotropic, the only reason you don't see that in games is because: - dynamic lights have cut-off radiuses - far away specular is almost always done with IBL or SSR IBL assumes V=N which makes the lobe isotropic and prefilters likewise.
Mr F@guycalledfrank

Caught these lovely asphalt specular reflections outside. Is there a game where they're actually this long? I only remember UE Samaritan demo with the funny hacked BRDF with stretched vertical dir. Doing it properly needs supersampling...

English
3
0
13
1.1K
chena
chena@chena_cpp·
@leegoonz73 Cool, maxSmoothness = 1.35/(1+pow(1.15*(0.0315*angularDiameter+0.4),2))-0.11; minRoughness = (1-maxSmoothness)^2; Where did the formula come from? Or How to derive it? Thanks.
English
1
0
1
20
chena
chena@chena_cpp·
@XorDev someguys use clamp(d / fwidth(d), 0.0, 1.0), don't use clamp(0.5 + d / fwidth(d), 0.0, 1.0), which one is correct? Thanks.
English
1
0
2
271
Xor
Xor@XorDev·
Easy anti-aliasing for anything: vec2 dxy = vec2(dFdx(d), dFdy(d)); float aa = smoothstep(-1.0, 1.0, d / max(length(dxy), 0.0001));
English
7
30
432
25.3K
Filippo Tarpini
Filippo Tarpini@FilippoTarpini·
Quite excited to share Digital Foundry has discussed my recent HDR focused interview at length in their new stream youtu.be/VG2xDC1ZjOc?t=… Given HDR has an awareness+knowledge problem, the more exposure it gets, the sooner we’ll be able to enjoy it in all games without hassle!
YouTube video
YouTube
English
5
7
70
27.3K
chena
chena@chena_cpp·
@VictoryLuode 第三个是什么场景?是游戏吗?
中文
0
0
0
21
chena
chena@chena_cpp·
@samuel_krug Beautiful cloud. How to simulate it?
English
0
0
0
35
chena
chena@chena_cpp·
@warheart1 Cool, When will it to be released?
English
0
0
0
16
Grant Johnson
Grant Johnson@warheart1·
WIP a bit on the "threads" window so you can see which thread/wave of the group you are watching, and whether the other threads are active/inactive. Also allows fast switching between threads in the group. #quackdebugger
Grant Johnson tweet media
English
1
0
3
290
chena
chena@chena_cpp·
@guycalledfrank Don't use gameobject, bake it to yourself data, load it use your streaming, and use brg to render it.
English
1
0
2
243
Mr F
Mr F@guycalledfrank·
Are there some known optimization best practices for openworld-ish games in Unity? I got custom tex/mesh streaming, but there're basically too many GameObjects (renderers, colliders) and I'm not sure if it scales well even if I turn them off by range +there's cost of doing that…
English
12
0
19
3.1K
chena
chena@chena_cpp·
@BenSimsTech @Trans_Lykeia Sky and cloud is two pass or single pass? Use 1 sample per pixel importance sampling to get ambient lighting or just shadow?
English
0
0
0
31
Ben Sims
Ben Sims@BenSimsTech·
@Trans_Lykeia It uses a few LUTs yeah, but the sky is rendered using raymarching so it can sample shadow+volumetric cloud shadowmaps. Since this can be a bit expensive, it uses importance sampling proportional to sky-luminace, so the samples are concentrated in the most noticeable locations.
English
2
0
3
344
Ben Sims
Ben Sims@BenSimsTech·
Shaders are fun. Sky+lightrays rendered together with 1 sample per pixel+temporal with importance sampling) Clouds+sky integrate with ambient probe and aerial perspective so environment light is cohesive. End result is quite nice, only change between these pics is sun+view angle
Ben Sims tweet mediaBen Sims tweet mediaBen Sims tweet mediaBen Sims tweet media
English
11
24
436
13.3K