#GPU Zen 3: Virtual Shadow Maps
4980 messages · Page 5 of 5 (latest)
None yet
how is it possible to refer to RAGE having virtual texturing when I cannot even find a first-party reference to it 
true I remember there used to be a full presentation that was easy to find
idk where it went though, been googling
found this though: https://www.youtube.com/watch?v=M6y4glzIwP8
Visualizes the Virtual Texture tiles in ID Softwares game Rage. I restart the tile uploading at the beginning - each texture tile got replaced by a solid colored rectangle, so each time a color changes, a tile got replaced. This shows that updates in the Virtual Texture are happening all the time.
More details about how to controll these hidden...
Ah yes, from John Rendering Pipeline himself
oh you know what there might be a quick YT presentation from actual john rendering pipeline himself
not ideal but maybe the original stuff got deleted for some reason 😦
Maybe you can find a link to the og stuff and use wayback machine
DX9 == nirvana for conventional hardware graphics
shame this didnt lead to true opengl multithreading capabilities
we need to workshop this
I added the mention of the virtual texturing stuff
but we still need to reference that 2015 gpu-driven presentation that has 2 slides of VSM
ok I added the 2015 stuff too (line 98 if you want to look)
that should wrap up all the loose ends
are you passively waiting for wolfgang to take a look or are you going to boop him when you are done?
well, it doesn't look like the other articles have received editing by the book people
idk
: (
one of the articles is incredibly long- like 70 pages by itself
oi
wolfgang (perhaps his or some of his book people too) is on the forge discord too, just in case
oh right, @acoustic bobcat @prime ice do you want to be acknowledged for your help in reviewing and editing?
I'll just email our contact
i captured a glimpse into the future
vsm article release party https://www.youtube.com/watch?v=KBCvDJcrLgU
demongod @ 0:08, patrick @ 0:18, froyok @ 0:30, hatrickk @ 0:32 , devsh @ 0:34, saky @ 0:51, deccer @ 0:57, DR @ 1:02, jb @ 1:11, JStephano @ 1:30 and jaker @ 1:40, someonesomewhere @ 2:04 sean @ 2:06 😄
hmm potrick has less hair and bigger muscles
Can confirm this is accurate, those are my dance moves
the furtive lvstri, so easily forgotten 
my name will go down in history when I ship nanite
(expected release date: 31/12/9999)
hehe I do wonder what some of y'all look like IRL
ah good, i thought 32/13/9999
really good music
it's kinda funny that we have this medium of communication where we can become friends with people without even knowing what they look loike
but it's also written by like 10 people
The inner beauty is what is charming all of us together
that and the shared neuron probably
Doofenschmirtzes neuron apparently 😄
Is this one split across of us, or one that pass by one by one ?
it's guarded by a mutex that we have to acquire before use
like an umbelical cord
std::conditional_variable too?
pavlov's classic: std::conditioned_variable
xD
Sure I suppose
I thought I sent the email to our editor but it turns out I just left the draft sitting there
now it's sent
that was quick. he's asking for the PDF to review as he doesn't have access to overleaf atm 
(I sent it btw)
Very sus communication
How does VSM fare for memory consumption compared to other techniques
Best
fixed cost, completely configurable
And basically no wasted shadow texels
Yeah a single 8k texture can easily fit 16 4k cascades, probably could also fit 16 8k cascades
It's about the pages that are resident really. You could have a thousand 16k² cascades
whats the status?
stasis
Oh wow I half wasn't expecting a response haha
Email sent
Hmmm interesting, the later comments I don't really understand (in the results/appendix section)
I didn't look yet because I need to sleep/I'm on mobile
Maybe we just need to recap details? Not sure
Like for the comment about “seeing black pages” we could just mention that if they were in view, that’s a page fault, so data would have been generated
Same with the sun, we did say that the pages get invalidated on sun movement no?
Maybe we should explain better
Is this somewhere I can see it or is it all in the master document
I might be able to take another editing pass over it this week
Jaker sent an email
I forwarded it to you too @acoustic bobcat
Should we put our affiliation as graphics-programming.org since Peter asked 
I don't think we need to have an affiliation though
Since we're really not
Peter probably just thought we have one as we're a group of four
Little does he know the power of VSMs in making friends
"deccer made us do it"
the real VSM was the friends we made along the way 
shame i was not able to contribute anything
you contributed encouragement 
yall mfs are making me add vsm on my block game
is there a draft somewhere? or whats the most recent article
neat
im not thinking of doing the whole thing (ill be re-rendering every frame), but i think just the clipmap version or similar would work well for what im doing
uncached increases render times significantly in our benchmarks
but it's still within a couple ms for 16 4k shadow maps, so it could be viable
im mostly interesting on the culling part, i wanted to see how you doing it
so essentially doing cascaded shadows, but building a structure to cull it on tiles accurately
the culling is basically adapting hzb to work with a page table instead of a depth buffer
yeh just saw, so kinda what i was thinking. Gonna try to implement that part
it's pretty easy, and is definitely the biggest optimization
if you have fine-grained culling then it should help a lot
need to benchmark how does the atomic-mins work to build that depth buffer for shadow-space hbz
that's the most expensive part and is the reason why you need good culling to prevent excess drawing
im doing voxel rendering and each chunk is pretty smol + cheap to draw, and the cull is indirect so all good
i just want a better-culled csm
by building that tile structure i get something to accurately cull shadowcasters, or thats my thinking at least
ye the HPB is the base culling that will help you a lot already
if you want more 🅱️erf you try doing HZB
yes
or just project box into shadow space and check bounds
how do you do frustrum on the shadowcasters?
are you going from the camera frustrum with some tricks, or just frustrum of the light
ah but thats of little use 🤔 you are drawing tons of shadows behind the camera that dont intersect and arent visible
atm i was using some of the camera frustrum planes to also cull shadowcasetrs
objects that shadow areas behind the camera are culled by hpb
you can't really screw with the light matrices too much since they need to be stable for caching
but since you don't care about caching then maybe you can do other memes
i dont care about caching because ill have a day-night cycle and light is going to be moving
and cant cache stuff easily if you can destroy blocks/etc
i think trying to bother much with the caching in my case would just make everything much harder
caching is on a per-page basis
if you break a block then you'll affect a few pages at most
and day-night cycle can be coped by quantizing the sun movement
yes but now i need to keep track of all that, plus the dynamic enemies and so on
indeed
and im most likely going to have animated shadows on trees
it do be a pain but caching helps a lot
which means its likely everything is going to be invalidated anyway
thing is that my thing renders uberfast due to the whole "just cubes" part
the full 2k shadowmap rendering everything on a scale of 1 block = 6 pixels or so takes 0.5 ms to render (before even doing camera frustrum cull)
so im expecting that i can have 3 2k cascades below the 1 ms target once i have decent culling for them
why use vsm if you only have 3 2k cascades 
i mainly only want the page table part for accurate culling of shadows
no
you just need a way to mark active areas (what would be pages) and then make a hierarchical structure from that and cull against it
it's just SM with better culling
the V allows you to control residency and have an assload of cascades with minimal memory/rendering cost
the V is by far the most complicated part
I actually wonder if games have implemented a culling system for regular SM like this before. it seems like an obvious improvement for most titles
I think it's worth noting in the article that the hpb can be used this way
it requires indirect funtimes
tho you could also use it to prime the depth buffer for shadow
and afaik yes its a common thing, it seems that AC unity did it
are they doing that with the atomicmin thing?
reprojection 💀
I don't see how this is describing the page-based culling
this is regular hzb
man reprojection is kinda an overloaded term
I wish I had the speaker notes or the whole video for this
I was wondering btw, what if I bias the light matrices center forward in the viewing direction
So they no longer are centered on the main camera
And I get more resolution
you need hiz or caching
thats like.. normal?
even in sponza we get ass perf otherwise
Not for VSMs
as long as you snap it to the grid it should be ok
@mystic lark ah true
perhap
better than RT 
Ye I meeean
Caching is the most difficult part, without it it shouldn't be such a hurdle
Just more granular caching
Building the actual hpb is also simple
I think the V is the hardest part
Caching is easy if you don't care about invalidation
Ig it all seems simple now that I know how to do it
now i know what the v in vblanco stands for
Rasterizing instead of raytracing, with voxels
@buoyant lily i explicitly want to be doing rasterization
tho i might add raytracing logic for far views
thing is that i wont only have voxels
i will have a lot more complex geo like half sized blocks, stair blocks, ramps, and stuff like grass
and i think the architecture im going with is more scalable once i start adding more types of stuff
it currentl goes so fast its basically l2 bound
so having it raytracing would change very little
and i want to try supporting scaling down to switch level, which i guess current arch can cope with (at lower draw distances) but raytracing woudl be tricky on there
0.02 ms (basically min size) for the atomic reproject for shadow culling (1080p buffer, 4070)
the barrier cost is the expensive one in fact
also after more benching the atomic thingy can reach 0.3 ms
when tere is super high contention, like when you directly look at the ground
so i think ill make it just with the tile asignment as IDs and nothing more as you dont need atomics there
dhow code
nothing really strange.
for every pixel of the gbuffer depth:
find world position of pixel
reproject to shadow-space
atomic-min its depth in shadow-space
but thats 2 million atomic-mins that vary on a per-pixel basis, so its kinda mediocre
if im far from the ground so that those atomic-mins cover a bigger % of the shadow-space, they get spread out and its ok, but if you look at the ground at ground level thats 2 million atomic-mins on the same texel
ok
I ended up having to work all last weekend and didn't have time to edit the article any, does the overleaf still have the most recent version or were Peter's suggestions addressed in the master copy
Nothing has changed yet
I'm in cali atm but I might find time to edit the article on my dad's Chromebook
Alright
I was just going to give it another read through and make comments since I haven't looked it over in a long time
Same
The book is supposed to be released now I'm pretty sure, at least according to the original timeline
But clearly that must've been a mere suggestion
dont forget to put sunscreen on my orange 🙂
time is but a relativistic illusion
Does anyone understand the meaning of the third comment on the first page? It says something about "US-based"? I'm quite conchfused
could always send the frog who wrote the comment a message to clarify
true, I just don't like sending an email for something so small
It's peter the scawy editor
So worth trying to decipher before bugging him about it
: )
Do we really need a brief explanation of VSMs after its mention in UE5 if we explain it in detail just two paragraphs later
It reads a little jarring to just dive into the technical details without knowing what VSM is
Read it from the standpoint of someone who has never heard of VSM and has no idea what it entails or what its purpose is
Maybe I could move the talk about virtual textures to that spot
Then introduce VSMs as virtual textures for shadow maps
Yeah
It can be pretty brief it just needs to give people an idea of what it even is they're about to read about
@acoustic bobcat FYI there are a couple sentences about VTs at the beginning of the Implementation section
I think I'll move those, but I'm just letting you know for now
I need to go afk for a bit
Ah yeah
No worries you don't have to keep any of what I'm writing verbatim I'm just spitballing
Btw I hastily added a tiny section to acknowledge your help at the end
I usually only have a few minutes to add stuff though because I keep getting interrupted lol
Lol np
Are others going to be acknowledged, if I'm the only one we can just drop it lol
No one else really directly contributed lel
I feel strange having a whole attribution section to myself lol but I will think about it
When are you submitting the draft back to the editor
Idk I'll just upload it to the main Overleaf article sometime
For the comment about one of the diagrams
do we just need to increase the resolution or should we redo it
I have a question, I was speaking with some people at my uni and they said that if I write down uni affiliation and like a sentence in the acknowledgments section they could give me money for it (as a part of a scholarship something something), would y'all be okay with that?
I will respond to this later when I'm at a computer
Yeah they'll send me the details in an email, so I'll inform you when I have it
I just got this email
Hi Jake and Virtual Shadow Maps authors,
We need you and your fellow authors to please enter your bios into AboutAuthors.tex asap please.
@mystic lark are you up? I'm not sure what info is needed and I don't have access to a PC to do it atm
@wooden jolt @vestal snow too just in case
Ok I found a PC that I have access to for a minute
Basically they just need a paragraph about yourself 
"X works as Y at Z corporation and enjoys doing W" sort of deal
will do
man this makes me realize that my graphics credentials are null and void 
yeah like what do I put in lmao
I also think maybe we should change the title of the article to just "Virtual Shadow Maps", but I'm open to ideas
did we put the title in or was it put in for us?
If it makes you feel any better, my employment status changed about a week ago so idk either
I think we can choose
should I say "undergraduate" or does that assume that I've already graduated (I didn't yet, coming soon in december
)
Just put undergrad I guess
Or "student at"
Maybe we can just say we work at the tree of life
I just put some garbo 2 sentences in
you can't just swing this on me at 11pm when I'm ready to eep 
Reading what others put in I think it should hopefuly be fine
ye I just did mostly the same
I approve yours LVSTRI 
thank you, I approve yours too
eyy okay, off to bed with me hehe
gnite mf (my frog)
btw I hope there is still time before the final release? This makes me a bit sus, why do they need it so suddenly?
will no longer be zero my frog
I feel the same way, but I get basically 0 info
You just need to increase the resolution of the mentioned image
we also need a regular CSM impl for the benchmark 
Oh crap I think saky has that one actually
Wait do we need to ship it or can we just use one we have sitting around
We just need something for the benchmark I guess
Honestly though idk if it's that critical to even do. It was just one comment
Ye I have cascades shadow maps impl with sample distribution
But I'll be able to add it next week the soonest
Pogg
That will be perfect
I'm editing the article on my dad's Chromebook atm
Addressing the notes and doing some general cleanup
Most of them should be addressed now
I'll make a quick to-do list for myself/anyone reading this:
- don't need to fix code formatting since it's fine in the main doc (maybe shorter variable names would make it easier to read though)
- need to increase figure 4's resolution
- need to fill empty space on page 14 after Sampling (probably using less [H], etc. will do the trick)
- need to address dynamic day and night perf again
- need to address the second comment in the appendix. Idk how yet
Also the whole thing with doing a benchmark for CSM/SDSM to compare against relatively state of the art shadow stuff
I don't have any fancy culling for the csm or anything though
I can hookup frustum culling we have but that's about it
But ig we don't have any occlusion culling for VSM also so it's fair comparison
SDSM could even be ignored as it probably performs almost as well as plain CSM
It just has the reduction pass
Yeh true, it's just a quality improvement kind of thing
okay so I got information about the grant - all I have to do is put this sentence into acknowledgments:
Matej Sakmary was supported by the Grant Agency of the Czech Technical University in Prague, project no. SGS22/173/OHK3/3T/13.
and mark myself as being affiliated with Czech Technical University in Prague - usually either underneath the name of the author or into the footnote on the first page.
but I don't really see anyone writing their affiliation in their articles
Hmm
You can email Peter and Wolfgang if you want to ask how they want affiliations to be handled. I can send you their email (cc me if you do)
"wraparound addressing" sounds weird. Maybe "sliding window" would be a better alternative?
I made sure the subsection headers are consistently lowercase, but I'm not sure what the proper convention is here
Looking at the previous GPU Zen book, it looks like sections and subsections are uppercase, while subsubsections (I think) are lowercase
Nevermind, all headers are uppercase. The lowercase ones are the bold "mini section" starting sentences (idk the proper term lol)
That'd be great yeah
I removed the appendix section (but kept the figures) and the [H] placement option. Now there aren't any pages with massive empty space
This is kinda bugging me. @mystic lark do you have any thoughts on renaming it?
Oh sorry I missed the message
Hmm well in all the clipmap papers they call it toroidal addressing, so perhaps we could change it to that?
I've seen "sliding window" used in other papers
I avoided that term as it's kinda specific and I felt like wraparound is more descriptive
Sliding window is also fine
"Persistent homology of toroidal sliding window embeddings"
I mainly dislike the current one we have because it's not a standard term
"Toroidal" describes it well, but it's not as intuitive as wraparound or sliding window
Yeah true, in hindsight wraparound is a weird decision for a name (although I still feel like it's pretty descriptive)
Yeah that was my main fear, that's it's another special term
And that's why ultimately I decided against it
wraparound is much more intuitive, the other 2 are purly mathematical
Yeah, but I also understand Jakers concerns, sliding might be a good compromise - especially if Jaker already saw it in some papers/materials
yeah
"Sliding window" has an intuitive interpretation
I agree with changing it to sliding window
As long as the mapping is sufficiently explained (which I believe it is) I think it will be fine
Ye I'll change it when I'm back. Or someone else can
PC is off for today, but can do it in the morning tomorrow
Sorry I've not been so active btw, exam period and all...
Next week it should improve hopefully
Well the original schedule on the website apparently didn't mean jack, so I can't blame you
I changed the wraparound thingy but kept the original mention in parentheses since it's actually called that in the geometry clipmap article that you referenced
I did a cleanup pass and copied everything except demongod's attribution (bc no real name yet) to the main article
I added a few paragraphs of content
I'm done for today
bingus
what kinda frog is this
it's a ca||f||r||og||
i read "i added a few propaganda to the content" 😄
I just noticed that there was an edit to our article on june 2 (five days ago) 👀
Big edit?
one character edit
Oh lmao
@mystic lark when will you review my changes
I can offer you my promise to start working on that mieplot article again 
frfr
I think it'd be cool but isn't critical
It shouldnt be a lot of work as I already have it implemented in other projects and porting code between apps using daxa is pretty easy
so what you're saying is that you have no excuse
jk
yeah no I really don't
I currently have no excuse for not finishing my article for you
Today I'll also finish the last higher prio interview assignment so yeah, really no excuses left
Okay I reviewed changes and as per usual added my own
I forgor to look. Will try to remember to check this when I wake up
I also forgor to do this again 💀

is it bad to begin a sentence with an inline citation
I'm doing it, can't make this sentence not suck without doing that
I always try for the sentence to make sense even without the citation
But again, stylistic choice more than anything
where would I put the citation then 🤔
What's the sentence?
it's the one that you had a note on, saying you didn't understand what it was supposed to say
I reworded it
~\cite{haar2015gpu} is the only resource we could find that mentioned VSMs, and it only does so in passing.
that's the extent of VSM literature we could find
Ah I don't think we need to cite there tbh
I kinda like having the citation though 🥺
I also reverted one of your commaisms to make the sentence clearer
I try to keep a mental note of sentence complexity
My autocorrect makes them for me mostly 🤠
having too many commas in a sentence can make it hard to read
Good point, you are right
You can even say something like "To our knowledge Haar et al. were the only ones to mention VSM, ...., cite at the end here"
ah yeah I forgot that you could use names
dont overthink it too much : (
the people reading this stuff wont even notice and if they do they should come here and show off their engines
when is your guys article releasing roughly?
no clue
i remember something saying may or so
yeah their website
is it viewable already? or is it private
it's private
the book that is
I could send you a pdf if you want to read our article
i meant the article
I was thinking about reading it next week when I have some free time
since I should have everything set up until then
would be nice yeah
ugh it's slightly too big for discord dms
alright cool
btw the code snippets are messed up in the pdf I sent
they are fine in the actual book though
eh its not that bad
when sampling and figuring out which entry in the VPT I want, can I imagine that as being axis aligned to the xz-plane?
as shown in the big visualized image in the diagram in the 3rd section
or is this explained further down? ive only read til there
are you talking about the grid in figure 2
the image where the grid is overlayed with the render
so essentially the cascade hierarchy thing
the shadow map is broken up into 128x128-texel pages, and those are what you see in that pic
yes i get that
which coordinate space are you referring to here
thr image made it look like it wad axis aligned
but you can see its angled on the wall in the back
The first heuristic prioritizes achieve pixel-perfect shadows—a one-to- one mapping of screen pixels to shadow-map texels.
shouldn't this read achieving?
You said there's an article to read somewhere here, LVSTRI? That explains VSM more
They're writing it
It will be published at some point
Seems like it's been delayed or something I haven't heard any news about the publisher
Assuming that is still happening?
Nothing has been cancelled
Ah alright well I'll be here when it's available 🙂
You have to join the cult if you want to share the knowledge, it's the rule
useful reading for writing papers (criver just posted it in #mathematics)
https://cs.dartmouth.edu/~wjarosz/writing.md.html
https://people.csail.mit.edu/fredo/PUBLI/writing.pdf
@wooden jolt @mystic lark @vestal snow
I just got an email saying that we should address feedback on the article and do final touches
pog
Yes I'll finally review saky's changes 
killlee
!remindme 9 hours review gpu zen article NOW
Alright gpgpu, I'll remind you in 9 hours about:
review gpu zen article NOW
I'll try to fix the code over the weekend, I've been incapacitated this whole week due to sickness ☹️
Looks like several folks in GP have been sick the past few days (me included).
Is this what it feels to be part of a "Superspreader Event" ?
it’s called autumn
Yeah I think I did catch it from a colleague at work
tons of people sick
sickkos
sick's town
I will diff the actual article and the staging article then try to address the comments while inserting our latest revisions
were there lots of comments from wolfangs's side?
no, each section has different reviewers
i mean from people who are not frogs from here
i see
Hmm so no major text changes?
yeah, just some figures need to be mentioned in the main text
@vestal snow there are a few minor changes (e.g. font size increase, capitalization) that need to be made to some of the figures
man the diff is showing way more changes than I thought there'd be 
@acoustic bobcat do you want to be attributed in the acknowledgements?
Nah it's fine
Alright I can reupload the ones I did
Today hopefully (I’ll try)
we also need a conclusion which I can whip up after transferring the latest edits
culling against a HiZ
this used to say Hi-z, but idk which one is preferred
if I wrote it I probably would have said "hi-z buffer"
Is that term defined anywhere
It should be, as long as it is it probably doesn't matter
Google both and see which one is more commonly used
See which one is used in GPU Gems
when you do so, make sure to upload to the main gpu zen article, not the staging one
I renamed the staging one to indicate that no one should change it anymore
Ok that sounds good
fig:depth-analysis needs to have "uv" changed to "UV" three times (putting this here because the comment is about to get deleted)
yeah that'd be ideal
ok I reuploaded everything I have
I'm having trouble compiling the article to debug view it though
I'm done editing the main article. we still need to reference the figures in the appendix in a yet-to-be-written conclusion though
the diff between the Real™️ article and the staging version should be minimal now, the few differences that remain are edits I didn't agree with
@vestal snow I forgot to mention, but you can plug your new figures into the staging article to see how they would look in the real thing
since it's actually possible to full-compile that one
unrelated: I'm not sure we actually need a conclusion. I can find other places to reference the appendix figures
I'll let whoever reads this vote on it, as I'm ambivalent myself
I'm done addressing all the comments. @mystic lark and/or @wooden jolt if you guys have some time, could you skim the official article (not staging) to make sure there are no obvious issues
I'll do it around 5pm (~8 hours)
I think I'll email them that the article is ready after you review it
Did they mention a deadline for the code?
nope
Yeah I’ll add the latest figures to staging soon
I assume something till next week then
Hmm I see I see
reality is probably a few months 
Don't tell me that or I'll procrastinate on it again 
I think I'll create a GPU Zen branch of Tido and try to finalize it there
the timeline for the code is probably a lot looser since that's all digital
my frog probably meant april 2025
ayeaye sir
here's hoping
but figures will be gone
also you can try the visual editor which I think shows figures
but they probably aren't laid out properly
ok I proofread the thing
it's solid so far, but there's a few comments I'd like to uncomment and maybe expand a bit more on
also an editor asked for a conclusion, idk if we want one
yeah I made an executive decision to not have one
there's at least one other article that doesn't have one either
gotcha boss
what about the future works section
we shouldn't make big changes right?
ye
alright
same
if you want i can keep track of yalls and make sure you get this stuff done in time : )
I appreciate any form of digital whipping
did anyone address the one single issue i had with the paper 
I forgor what it was in the sea of issues
same
i feel invited
only VSM related, I will not suffer onslaught of "rewrite task graph with me Saky" messages
@mystic lark @vestal snow when you guys are done I'm going to email the editors and tell them we're ready
Ok, I’ll upload the images to the staging area and see how they look today
I moved them over. They're in the main article and the do not edit article
they seem to look ok
Epic. I'll take a look in a bit
cool let me know if any figures need changes!
@vestal snow did you increase the font size on Setup phase flow chart.png? it still seems kinda small
is that the one with the read/write lines? I think that's actually a saky diagram
ah my bad, I just assumed you did all of them
@mystic lark
(can you increase the font size in the aforementioned figure pls)
btw the editor moved some figures around in the main article 👀
oh dang, major shifts?
it doesn't seem too major
they also changed some minor formatting stuff with some of the figures
Uh oh that figure is still in?
is it supposed to be gone? 
It was kinda a mock and I thought it was supposed to be remade
But I can try to look if I have the original somewhere
Or remake it
Yee
Forgor to respond, I can do it, but also won't protest if you do it iykwim
either way we need to get this done asap
@mystic lark do it now
you dont have a laptop with your shit?
!remindme 6hr remind saky to do the thing
Alright deccer, I'll remind you in 6 hours about:
remind saky to do the thing
A reminder to remind you to remind saky
!remindme 6hr remind deccer to remind saky to do the thing
Alright gpgpu, I'll remind you in 6 hours about:
remind deccer to remind saky to do the thing
!remindme 5hr remind me that I will soon get reminded and should mentally prepare
Alright m_saky, I'll remind you in 5 hours about:
remind me that I will soon get reminded and should mentally prepare
inb4 18hrs later
Saky: Oh shit i fell asleep, will do it asap.
inb4inb4 12hrs later later
Saky: Shit, I forgor

At this moment I can neither confirm nor deny these accusations
Was hoping Jaker wouldn't remind you
What is JS crafting the images in? Power point?
okay I'm taking a shower and if JS is not here by then I'll just cook in powerpoint
What font do you use?
looks like Latin Modern Roman
edit: yeah it's that one
wtf fancy font
I have modern love though
I have modern love though
I need to restart to add new font to powerpoint
ahhhh
oh maybe that's what I had to do lol
only powerpoint, no need to restart the system
I think I googled something like "what's the closest font to overleaf default" and it was latin modern
I did that didn't show up
then logout and login?
And some random forum post from their thingies said you need to restart pc
weird
still not there
HAHA
but system shows it as installed
I love you so much Microsoft
hmm that's super weird
I am not crazy
and Modern Roman?
why are you using a script like font anyway?
How big is that text compared to the original
okay I uploadeded it
To the main article?
ya
looks nice!
how do I view the comments again?
ah nvm got it
okay replied
seems like the fonts exported a bit weird into the png
is that really how I'm supposed to do that?
what happened to them?
I think all I've been doing is select all > save as picture
I don't think I screenshotted any
As long as it's readable and the font is roughly the same as the book font, it's good
okay I'll leave it as is
hmm it might be a ttf in the book actually, idk
The arrow tips would benefit of being bigger. Not sure how well this will read once printed.
much better yeah
oki, I uploaded this version instead
I can check after I shower. It'll only take a minute
I sent the email
lovely
Peter Sikachev, Ostap Trush, Ihor Pavlovskyi
How to optimize shadow performance with a dynamic day/night cycle utilizing the Virtual Shadow Mapping in UE5 to gain up to 70% frame-time with minimal visual loss
Is good?
you know I was reading the device generated commands spec last day
and I have a devilish idea in mind
beyond vsm is possible?
tell
dynamic scissoring
you organize pages into a quadtree and draw them top to bottom into a hw depth target
unfortunately it can't be done right now because you there is no command token for vkCmdSetScissor
but it is planned for the future
a vkCmdSetScissorIndirect would also be neat lol
incredible

i have never set scissor
how does it help, isnt it just clipping?
oh thats big tho
crrinnge
ooooh with the scissor you can change where you write to
yeeep
it's the address translation trick
can you not prototype with mesa? 🙂
i dont touch lunix but maybe lvstri will
and then vulkanized 2025 "how we coerced John into using scissors properly"
that's what the quadtree idea is for
hmmmm
the quadtree just bins scissor regions to meshlets
ok, but the quad tree tiles still need translation then
hmmmmmmmm
like on the lower quadtree levels youd have to have a lot of bins for all the tiles
virtual memory 
me thinking
VSM = Virtual Scissoring Mekanism
I was thinking about this previously without the quadtree idea
too smoothbrained for that, I still dont' really get it honestly
but draw per page discouraged me
This article on virtual shadow maps is insanely detailed (and good).
I'm not sure how similar the implementations are, but this technique is also used in Unreal Engine.
https://t.co/pdhT2thhk2
people still using twitter
My colleague just sent me this link. Yes, now they come to us.
we welcome all frogs from all corners of the world 🙂
Meh
They kinda do what you'd expect from the title
The dynamic thingie is cool
I was more wondering if you could make this work with http://gpuzen.blogspot.com/2019/05/gpu-zen-2-parallax-corrected-cached.html?m=1
Might be way cooler with way less visible artifacts
Tbh kinda interesting that UE didn't do what they talk about way sooner
That would be a win win. I forgot about the parallax corrected shadows
I think it also might be interesting if the wary the time slice period based on the clip level
Etc etc
(maybe they do I kinda lost interest after 10 minutes and rushed through it)
I think they do that
You spend more time than me watching it
Yeah I thought it was gonna be a bit more
The perf improvements in the end kinda cope imo
If you look into their unreal editor they have more time slices or whatever thing is called
Hmmm yeah
wasnt it 50%?
It's time sliced
Makes no sense to talk about "perf benefits" when you just times slice
Imo
Since the speedup should always approach the factor of into how many frames you decide to time slice
"speedup"*
@mystic lark https://graphicsprogramming.github.io/blog/generating-phase-functions-luts-with-mieplot please 🇨🇿
I posted it in #1166523139468034068 too 
Alright deccer, I'll remind you in 1 day about:
saky mieplot review
Hehe, keep him on his toes
can you update the link in timderdoodle?
oh thats really useful thanks for the link to that phase thingy
my volumetrics lack proper phase calculation for the scatters
note that you need multiple scattering for the rest of the fog to not look dark
hg spreads the light everywhere so it doesn't look too dark
or just add a constant factor to each step 
i already give some ambient terms to the fog and everything is mostly completely done by eye
so that should give me the multiscattering look i think
Ayo the gang's here
http://gpuzen.blogspot.com/?m=1
We made it chat
let's fucking go
GPU Zen 3 is gonna be huge, physically
the vsm article is 99% of the mass of the book
due to the massive balls of all of us
🙂
it also comes with a diorama of ze bistro
which you can unfold in the middle of the book somehow
and use your torch light to cast some of them shadows
8 Real-Time Ray Tracing of Large Voxel Scenes
this better be good
i need to do a world tour it seems because i want my fisikal copy signed by yalls 🙂
Ho that would be nice, I would want the same 😄
btw I just checked overleaf and it looks like the book is no longer shared with us or it got privated
I can't remember how much we edited the article after I renamed our staging article to "DON'T USE ANYMORE", so I might have to ask wolfgang if we want the latest revision to post elsewhere

ok I deleted it (after you dl'd it) because I gotta see if the other authors are down to let everyone see it hehe
I think our last revision is on their OL no?
Overleaf :D
anyway yeah it's on their thingy, which we can't access if we want to post the article somewhere else
I think you copied it when they asked us last time to fix the thingies?
OH this is what you meant
I forgor
we did the final editing and revisions directly in their overleaf
I thought you meant that you are not sure if their version has all the changes
okok sorry, I just got confusled
smells like you want to publish it on ze blog if wolfi says yes?
(I was going to say "hope the cost won't be too high", but work is going to reimburse me anyway)
damn thats a chonker
street shoes in the house is something i will never understand though
maybe is cold
12 Virtual Shadow Maps by Matej Sakmary, Jake Ryan, Justin Hall, and Alessio Lustri
: )
the frog behind chapter 14 is also on the server
communication seems to be top notch
Congrats everyone. Just bought a paper copy and eager to have good shadows.
I thought it was only for 2 chapters at that price at first 😄
Nice 
there's a lot of good stuff in this book I should check out the others? this is v3?
I have gpu zen 2 and there are a lot of good articles in that too. idk about the first one
It’s that day.
sorry to doxx btw 
lol the thing said authors get a free copy but idc either way
the book was not cheap
it's textbook prices
I bought 1 and 2 too and now I have to declare bankruptcy 
Just got mail, it's quite a beast
Print quality is okay, as usual images are dark (Cyberpunk chapter is quite dark).
PDF releases the 30
Congrats! Books contents is out of my league but still super happy for everyone here 🙂
congrats
Will this book be applicable to a Vulkan beginner like me?
Or really any of the GPU Zen books?
I'm very interested in the fluid sim chapters of GPU Zen 2
I made a GPU accelerated SPH simulation in OpenGL once
These books are aimed at an intermediate to advanced audience, but that doesn't mean a beginner can't find anything useful in them
It was fun AND cool 😎
Yeah, I think a few of the article are accessible, some other are quite complex. I definitely can't understand the whole book, for now at least.
This kind of book is nice to look at again in a few years.
dammit the amazon version is DRMd to hell
is there a way to get a PDF
need to get kindle reader app to even read it :/
idk
cant put it on the ebook reader i have
couse amazon drm so amazon stuff only
yeah i can only read it on the phone until some based ruskies or chinese pirate the PDf and bring the superior version
sucks
you guys are crazy this 3rd version of gpu zen books is lit, lots of techniques to learn about!
the gpu driven section is great
sort of a much better version of the vkguide article
book is about modern rendering in a nutshell imho
scary to think what will be in the 4th edition (:
gonna get this for christmas 
Yep, there’s a way. I converted my Kindle copy using Epubor Ultimate Converter. I’m not sure if it’s entirely legal, I only use this program to convert my legitimately acquired digital books. Make sure to use version 3.0.186, as newer versions seem to struggle with converting Kindle books.
That’s awesome!! So glad it’s finally out
@sweet nimbus are you posting it on your site? Is that still a thing or did they change the rules?
I think a more appropriate place would be the official gp blog, and yeah afaik they're still cool with it
The kindle version of GPU Zen 3 is 3$ on Amazon 😉
Btw I meant to ask, uni is asking me for two things:
- if I can send them the PDF version of the article (do we even have that?)
- they are asking for a percentage of my contribution to the article (apparently no one really checks that unless you do a PhD etc etc which I don't plan on, but yeah...)
you'd have to ask Wolfgang for a copy of the actual article, but we still have access to the staging article on overleaf which is 99.9% the same
also I need to cancel my subscription lol
Ahh okay okay, I'll just send that
It's not like it really matters I don't think, it's just for the internal database
Our German friend wasn't happy with the print quality
@mystic lark @wooden jolt @vestal snow I forwarded an email to you guys about shipping for gpu zen tshirts
it just arrived
@sweet nimbus @wooden jolt @vestal snow - I have received a question from my supervisor regarding the contribution percentages, more specifically if the article is 100% as a whole, how would we split it into parts regarding the contribution, my suggestion was 40% me, 30% Jaker, 20% Jstephano and 10% LVSTRI, but of course that is just my view, so if you disagree we can ofc disagree. Once we agree on something, do you think it would be possible to get an email from each of you agreeing with the distribution (once have one we all agree on ofc)?
This is because of a grant that I received from my university - it needs to be put into our internal uni system and they require the contributions of individual authors
sorry I'm bothering you with this
arguably you did more than 50% because you also supplied the demo
well not yet 😅 noone asked me about it yet
lel
yeah kinda weird that we were never asked about it. now I feel bad because you worked so hard on it
but the code is still there and people are free to link it, so it's not like it was wasted
No worries, I'm making it into other thingies so I would have done the work anyways
anyway, your percentages seem fine
okay! do you all have my email? I can dm it otherwise
actually I'll dm my uni email, just to be sure
I do. what do you want me to send you?
I think something like should be enough
I agree with following author share for GPU Zen 3 - Virtual Shadow Maps article:
Matej Sakmary - 40%
Jake Ryan - 30%
Justin Hall - 20%
Alessio Lustri - 10%
normally I'd wait to get consensus from the others, but I don't think it matters that much 😄
From what I've gathered it is just a formality yeah
It might matter in case I (or some of us) decide to pursue PHD, this contribution would then decide how relevant this publication is to your PHD publication requirements etc... (at least here that is)
alright, I'll change it so that you get 99.99% and everyone else fights for the scraps
jk I'm just using your numbers
no need to fight, i'll gladly take the 0.01%
email sent 
Duel over the 0.01 contribution
Sounds good to me, I'll send an email
Am I correct in understanding that because VSM cascades are snapped to the grid, flickering shadows (due to the camera moving) are eliminated?
yeah
you can achieve that with regular CSM too but it would be more wasteful in terms of memory usage
yeah. I was thinking it's one of those "free" fringe benefits
VSM seems to be not for the beginner, and I'm still beginner, but I'm gonna try to figure something out anyway
I think the main problem is going from screen space to page space
you know how to go from screen space to world space with the depth buffer and projection matrix
then you can go from world space to light space with the respective matrix for the light/cascade
then light (clip) space to page space is a shrimple linear map
the same math you'd use for shadow map UVs come to think of it
it's actually the screen space to world space that's the tricky bit for me: I haven't done that yet (I store the full position in my g-buffer (on my TODO list for fixing))
I understand the concept, but I haven't worked out the details
but using the depth buffer for that is actually the easy part 🙂
but yeah, it's probably not that hard
like many things in programming, it's a million little problems
yeah
it's at least a good learning experience, I for sure learned a ton implementing VSMisms
yeah, I bet
going from screen space to page space is the same transform as doing a shadow map test btw
right now, trying to make some progress with some actual game stuff, though
(camera stuff atm)
Same here but I want to delay it as much as I can
if you delay enough you can just have RT shadows
Thats my idea 
probably already known here, but I found this: https://cescg.org/wp-content/uploads/2025/04/Sakmary-Resolution-Matched-Virtual-Shadow-Maps.pdf
that's @mystic lark btw (who worked on the gpu zen article)
Hey kiddos
do you have any benchmarks or know of any benchmarks
that show how much slower sampling from a Sparse Residency image is
assuming all pages are bound and never unbound
I did some googling
and couldn't find anything except for the info that sparse texture turns off Anistropy on AMD and limits it to 4 on Intel
I'd imagine sampling would be the same speed no?
Or do you think there is another indirection?
well from my talks with driver peeps it seems like the whole Sparse stuff forces slightly more book-keeping from the GPU
cause on nvidia the actual sparse thingie is 512bytes
so they're like 16x8 IRL on a 4byte texel texture
and there's essentially shittons of pointers to update within the hardware standard 128x128 page footprint when you rebind

. I’ll be around to help
