#GPU Zen 3: Virtual Shadow Maps

4980 messages · Page 5 of 5 (latest)

mystic lark
#

Any updates btw? I'm half expecting them to say "nevermind actually, we don't like the article and scratch it lmao

sweet nimbus
#

None yet

sweet nimbus
#

how is it possible to refer to RAGE having virtual texturing when I cannot even find a first-party reference to it froge_bleak

vestal snow
#

true I remember there used to be a full presentation that was easy to find

#

idk where it went though, been googling

#

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...

▶ Play video
sweet nimbus
#

Ah yes, from John Rendering Pipeline himself

vestal snow
#

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 😦

sweet nimbus
#

Maybe you can find a link to the og stuff and use wayback machine

sweet nimbus
#

DX9 == nirvana for conventional hardware graphics

hazy steppe
#

shame this didnt lead to true opengl multithreading capabilities

sweet nimbus
#

we need to workshop this

sweet nimbus
#

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

sweet nimbus
#

ok I added the 2015 stuff too (line 98 if you want to look)

#

that should wrap up all the loose ends

hazy steppe
#

are you passively waiting for wolfgang to take a look or are you going to boop him when you are done?

sweet nimbus
#

well, it doesn't look like the other articles have received editing by the book people

#

idk

hazy steppe
#

: (

sweet nimbus
#

one of the articles is incredibly long- like 70 pages by itself

hazy steppe
#

oi

sweet nimbus
#

there is a lot of work for these people

#

our article is a meager 20 pages : D

hazy steppe
#

wolfgang (perhaps his or some of his book people too) is on the forge discord too, just in case

sweet nimbus
#

oh right, @acoustic bobcat @prime ice do you want to be acknowledged for your help in reviewing and editing?

hazy steppe
#

i captured a glimpse into the future

#

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 😄

sweet nimbus
#

hmm potrick has less hair and bigger muscles

humble shadow
hazy steppe
#

potrick @ 1:32 then

#

shit i forgor lvstri

#

@ 1:38 🙂

sweet nimbus
#

the furtive lvstri, so easily forgotten froge_sad

wooden jolt
#

my name will go down in history when I ship nanite

#

(expected release date: 31/12/9999)

sweet nimbus
#

hehe I do wonder what some of y'all look like IRL

hazy steppe
#

ah good, i thought 32/13/9999

prime ice
#

really good music

sweet nimbus
#

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

mystic lark
humble shadow
sweet nimbus
#

that and the shared neuron probably

wooden jolt
#

was about to say

#

we share one neuron

#

we are one

hazy steppe
#

Doofenschmirtzes neuron apparently 😄

humble shadow
#

Is this one split across of us, or one that pass by one by one ?

sweet nimbus
#

it's guarded by a mutex that we have to acquire before use

hazy steppe
#

like an umbelical cord

hazy steppe
sweet nimbus
#

pavlov's classic: std::conditioned_variable

hazy steppe
#

xD

acoustic bobcat
#

Hmm

#

Don't put my handle in though, I can punch my name in when you need I guess

sweet nimbus
#

I thought I sent the email to our editor but it turns out I just left the draft sitting there

#

now it's sent

sweet nimbus
#

that was quick. he's asking for the PDF to review as he doesn't have access to overleaf atm frogstare

sweet nimbus
#

(I sent it btw)

mystic lark
#

Very sus communication

tepid geyser
#

How does VSM fare for memory consumption compared to other techniques

sweet nimbus
#

Best

wooden jolt
#

fixed cost, completely configurable

sweet nimbus
#

And basically no wasted shadow texels

mystic lark
#

Yeah a single 8k texture can easily fit 16 4k cascades, probably could also fit 16 8k cascades

sweet nimbus
#

It's about the pages that are resident really. You could have a thousand 16k² cascades

wooden jolt
#

mmm

#

pixel sized pages

hazy steppe
#

whats the status?

sweet nimbus
sweet nimbus
#

The editor got back with comments

#

I'll forward the email to the homies

mystic lark
#

Oh wow I half wasn't expecting a response haha

sweet nimbus
#

Email sent

mystic lark
#

Hmmm interesting, the later comments I don't really understand (in the results/appendix section)

sweet nimbus
#

I didn't look yet because I need to sleep/I'm on mobile

mystic lark
#

Not many comments

#

Like 15-20 at most

vestal snow
#

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

mystic lark
#

Same with the sun, we did say that the pages get invalidated on sun movement no?

#

Maybe we should explain better

acoustic bobcat
#

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

mystic lark
#

Jaker sent an email

sweet nimbus
#

I forwarded it to you too @acoustic bobcat

sweet nimbus
mystic lark
#

I can ask my uni

#

And have that

sweet nimbus
#

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

hazy steppe
#

"deccer made us do it"

wooden jolt
#

the real VSM was the friends we made along the way frogeheart

hazy steppe
#

shame i was not able to contribute anything

sweet nimbus
#

you contributed encouragement frogeheart

dark crater
#

yall mfs are making me add vsm on my block game

#

is there a draft somewhere? or whats the most recent article

sweet nimbus
#

I can add you to the overleaf if you want

#

just gib your email

dark crater
#

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

sweet nimbus
#

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

dark crater
#

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

sweet nimbus
#

the culling is basically adapting hzb to work with a page table instead of a depth buffer

dark crater
#

yeh just saw, so kinda what i was thinking. Gonna try to implement that part

sweet nimbus
#

it's pretty easy, and is definitely the biggest optimization

#

if you have fine-grained culling then it should help a lot

dark crater
#

need to benchmark how does the atomic-mins work to build that depth buffer for shadow-space hbz

sweet nimbus
#

that's the most expensive part and is the reason why you need good culling to prevent excess drawing

dark crater
#

im doing voxel rendering and each chunk is pretty smol + cheap to draw, and the cull is indirect so all good

wooden jolt
#

depth HZB is trickier btw

#

but it makes VSM basically as fast as CSM to render

dark crater
#

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

wooden jolt
#

ye the HPB is the base culling that will help you a lot already

#

if you want more 🅱️erf you try doing HZB

dark crater
#

how do you cull your shadowcasters?

#

do you also do frustrum/etc?

wooden jolt
#

yes

dark crater
#

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

wooden jolt
#

the same way for the main view

#

just check it against the box plane's

dark crater
#

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

sweet nimbus
#

objects that shadow areas behind the camera are culled by hpb

dark crater
#

so stuff behind camera doesnt show

#

ah, true

wooden jolt
#

it's a side effect of the depth analysis

#

you only render what the player sees

sweet nimbus
#

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

dark crater
#

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

sweet nimbus
#

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

dark crater
#

yes but now i need to keep track of all that, plus the dynamic enemies and so on

sweet nimbus
#

indeed

dark crater
#

and im most likely going to have animated shadows on trees

wooden jolt
#

it do be a pain but caching helps a lot

dark crater
#

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

sweet nimbus
#

why use vsm if you only have 3 2k cascades frog_think

dark crater
#

i mainly only want the page table part for accurate culling of shadows

sweet nimbus
#

aight

#

hmm you won't even need indirection actually

dark crater
#

no

sweet nimbus
#

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

wooden jolt
#

true

#

there's no V in this VSM KEKW

sweet nimbus
#

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

dark crater
#

which i might still do later bleakekw

#

depends on brainworm

sweet nimbus
#

the V is by far the most complicated part

sweet nimbus
#

I think it's worth noting in the article that the hpb can be used this way

dark crater
#

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?

sweet nimbus
#

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

mystic lark
#

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

prime ice
#

you need hiz or caching

dark crater
#

thats like.. normal?

prime ice
#

even in sponza we get ass perf otherwise

mystic lark
sweet nimbus
dark crater
#

@mystic lark ah true

mystic lark
#

I think it should better utilize the resolution

#

Gib better shadows

sweet nimbus
#

perhap

wooden jolt
#

better than RT smart

mystic lark
#

Naaah you are right, probably smarter to rt

#

Than more VSM bikeshed

wooden jolt
#

no

#

VSM bikeshed

#

RT is cringe

#

it's equivalent to admitting defeat

mystic lark
#

Ye I meeean

prime ice
#

vblanco is in for a ride

#

next few months gone

mystic lark
#

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

sweet nimbus
#

I think the V is the hardest part

#

Caching is easy if you don't care about invalidation

mystic lark
#

Ig it all seems simple now that I know how to do it

hazy steppe
#

now i know what the v in vblanco stands for

buoyant lily
dark crater
#

@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

dark crater
#

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

prime ice
#

barriers really get expensive with 40

#

all the compute passes go lightspeed

dark crater
#

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

prime ice
#

dhow code

dark crater
#

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

prime ice
#

ok

acoustic bobcat
#

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

sweet nimbus
#

Nothing has changed yet

#

I'm in cali atm but I might find time to edit the article on my dad's Chromebook

acoustic bobcat
#

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

sweet nimbus
#

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

hazy steppe
#

dont forget to put sunscreen on my orange 🙂

wooden jolt
#

time is but a relativistic illusion

sweet nimbus
#

Does anyone understand the meaning of the third comment on the first page? It says something about "US-based"? I'm quite conchfused

acoustic bobcat
#

It says something-bound

#

US-bound or vis-bound or something

#

I was confused too

sweet nimbus
#

Maybe it's alluding to the benchmarks later on

#

Whatever I'll just rewrite it

hazy steppe
#

could always send the frog who wrote the comment a message to clarify

sweet nimbus
#

true, I just don't like sending an email for something so small

acoustic bobcat
#

So worth trying to decipher before bugging him about it

hazy steppe
#

: )

sweet nimbus
#

Do we really need a brief explanation of VSMs after its mention in UE5 if we explain it in detail just two paragraphs later

acoustic bobcat
#

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

sweet nimbus
#

Maybe I could move the talk about virtual textures to that spot

#

Then introduce VSMs as virtual textures for shadow maps

acoustic bobcat
#

Yeah perhaps

#

Or just virtual memory/anything as a concept

sweet nimbus
#

Yeah

acoustic bobcat
#

It can be pretty brief it just needs to give people an idea of what it even is they're about to read about

sweet nimbus
#

@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

acoustic bobcat
#

Ah yeah

#

No worries you don't have to keep any of what I'm writing verbatim I'm just spitballing

sweet nimbus
#

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

acoustic bobcat
#

Lol np

acoustic bobcat
#

Are others going to be acknowledged, if I'm the only one we can just drop it lol

sweet nimbus
#

No one else really directly contributed lel

acoustic bobcat
#

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

sweet nimbus
#

Idk I'll just upload it to the main Overleaf article sometime

vestal snow
#

For the comment about one of the diagrams

#

do we just need to increase the resolution or should we redo it

mystic lark
#

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?

sweet nimbus
#

Lol sure

#

You should get the details clarified though

sweet nimbus
mystic lark
sweet nimbus
#

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 froge_bleak

#

"X works as Y at Z corporation and enjoys doing W" sort of deal

wooden jolt
#

will do

mystic lark
#

Uhh lucky, I was almost asleep lol

#

Booting my pc

wooden jolt
#

man this makes me realize that my graphics credentials are null and void kekkedsadge

mystic lark
#

yeah like what do I put in lmao

sweet nimbus
#

I also think maybe we should change the title of the article to just "Virtual Shadow Maps", but I'm open to ideas

mystic lark
#

did we put the title in or was it put in for us?

sweet nimbus
sweet nimbus
wooden jolt
#

should I say "undergraduate" or does that assume that I've already graduated (I didn't yet, coming soon in december KEKW)

sweet nimbus
#

Just put undergrad I guess

#

Or "student at"

#

Maybe we can just say we work at the tree of life

mystic lark
#

I just put some garbo 2 sentences in

#

you can't just swing this on me at 11pm when I'm ready to eep bleakekw

#

Reading what others put in I think it should hopefuly be fine

wooden jolt
#

ye I just did mostly the same

mystic lark
#

I approve yours LVSTRI frogapprove

wooden jolt
#

thank you, I approve yours too

mystic lark
#

eyy okay, off to bed with me hehe

wooden jolt
#

gnite mf (my frog)

mystic lark
#

btw I hope there is still time before the final release? This makes me a bit sus, why do they need it so suddenly?

hazy steppe
sweet nimbus
sweet nimbus
#

we also need a regular CSM impl for the benchmark nervous

vestal snow
vestal snow
sweet nimbus
#

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

mystic lark
#

Ye I have cascades shadow maps impl with sample distribution

#

But I'll be able to add it next week the soonest

sweet nimbus
#

Pogg

#

That will be perfect

#

I'm editing the article on my dad's Chromebook atm

#

Addressing the notes and doing some general cleanup

sweet nimbus
#

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

mystic lark
#

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

sweet nimbus
#

SDSM could even be ignored as it probably performs almost as well as plain CSM

#

It just has the reduction pass

mystic lark
#

Yeh true, it's just a quality improvement kind of thing

mystic lark
#

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

sweet nimbus
#

Hmm

sweet nimbus
sweet nimbus
#

"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)

sweet nimbus
#

I removed the appendix section (but kept the figures) and the [H] placement option. Now there aren't any pages with massive empty space

sweet nimbus
mystic lark
#

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?

sweet nimbus
#

I've seen "sliding window" used in other papers

mystic lark
#

I avoided that term as it's kinda specific and I felt like wraparound is more descriptive

#

Sliding window is also fine

hazy steppe
#

"Persistent homology of toroidal sliding window embeddings"

sweet nimbus
#

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

mystic lark
#

Yeah true, in hindsight wraparound is a weird decision for a name (although I still feel like it's pretty descriptive)

mystic lark
#

And that's why ultimately I decided against it

hazy steppe
#

wraparound is much more intuitive, the other 2 are purly mathematical

mystic lark
#

Yeah, but I also understand Jakers concerns, sliding might be a good compromise - especially if Jaker already saw it in some papers/materials

hazy steppe
#

yeah

sweet nimbus
#

"Sliding window" has an intuitive interpretation

mystic lark
#

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

sweet nimbus
#

Ye I'll change it when I'm back. Or someone else can

mystic lark
#

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

sweet nimbus
#

Well the original schedule on the website apparently didn't mean jack, so I can't blame you

sweet nimbus
#

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

sweet nimbus
#

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

sweet nimbus
#

I'm done for today

acoustic bobcat
#

bingus

wooden jolt
remote quest
#

it's a ca||f||r||og||

hazy steppe
sweet nimbus
#

I just noticed that there was an edit to our article on june 2 (five days ago) 👀

sweet nimbus
#

one character edit

mystic lark
#

Oh lmao

hazy steppe
#

so

#

whats next

#

when can i buy the book

sweet nimbus
#

@mystic lark when will you review my changes

#

I can offer you my promise to start working on that mieplot article again poisondartkekw

mystic lark
#

Okay I'll do it today

#

ngl I forgor about the article

sweet nimbus
#

frfr

mystic lark
#

I should also add the damn cascaded sms to Tido

#

but ahhh I'm so lazy hehe

sweet nimbus
#

I think it'd be cool but isn't critical

mystic lark
#

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

sweet nimbus
#

so what you're saying is that you have no excuse frog_whip jk

mystic lark
#

yeah no I really don't

sweet nimbus
#

I currently have no excuse for not finishing my article for you

mystic lark
#

Today I'll also finish the last higher prio interview assignment so yeah, really no excuses left

mystic lark
#

Okay I reviewed changes and as per usual added my own

sweet nimbus
#

I forgor to look. Will try to remember to check this when I wake up

soft island
#

I take it this schedule is old?

#

can't find the book online

sweet nimbus
#

Yeah the schedule isn't remotely accurate

#

Idk what the current one is

sweet nimbus
vestal snow
sweet nimbus
#

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

mystic lark
#

I always try for the sentence to make sense even without the citation

#

But again, stylistic choice more than anything

sweet nimbus
#

where would I put the citation then 🤔

mystic lark
#

What's the sentence?

sweet nimbus
#

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

mystic lark
#

Ah I don't think we need to cite there tbh

sweet nimbus
#

I kinda like having the citation though 🥺

mystic lark
#

This is fine then

#

I don't think it matters that much

sweet nimbus
#

I also reverted one of your commaisms to make the sentence clearer

mystic lark
#

Yeah no worries

#

I suck at comas

sweet nimbus
#

I try to keep a mental note of sentence complexity

mystic lark
#

My autocorrect makes them for me mostly 🤠

sweet nimbus
#

having too many commas in a sentence can make it hard to read

mystic lark
#

Good point, you are right

mystic lark
sweet nimbus
#

ah yeah I forgot that you could use names

hazy steppe
#

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

ruby trellis
#

when is your guys article releasing roughly?

sweet nimbus
#

no clue

ruby trellis
#

i remember something saying may or so

sweet nimbus
#

yeah their website

ruby trellis
#

is it viewable already? or is it private

sweet nimbus
#

it's private

#

the book that is

#

I could send you a pdf if you want to read our article

ruby trellis
#

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

ruby trellis
sweet nimbus
#

ugh it's slightly too big for discord dms

ruby trellis
#

done

#

thank

sweet nimbus
#

alright cool

#

btw the code snippets are messed up in the pdf I sent

#

they are fine in the actual book though

ruby trellis
#

eh its not that bad

ruby trellis
#

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

sweet nimbus
#

are you talking about the grid in figure 2

ruby trellis
#

the image where the grid is overlayed with the render

#

so essentially the cascade hierarchy thing

sweet nimbus
#

the shadow map is broken up into 128x128-texel pages, and those are what you see in that pic

ruby trellis
#

yes i get that

sweet nimbus
ruby trellis
#

oh wait

#

so this is from the suns perspective

#

nvm

#

stupid question

sweet nimbus
#

it's all good

#

I see why you were confused now

ruby trellis
#

thr image made it look like it wad axis aligned

#

but you can see its angled on the wall in the back

ruby trellis
#

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?

mystic lark
#

Yes

#

But iirc this sentence should be removed

tame summit
#

You said there's an article to read somewhere here, LVSTRI? That explains VSM more

acoustic bobcat
#

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?

sweet nimbus
#

Nothing has been cancelled

tame summit
#

Ah alright well I'll be here when it's available 🙂

humble shadow
#

You have to join the cult if you want to share the knowledge, it's the rule

sweet nimbus
sweet nimbus
#

@wooden jolt @mystic lark @vestal snow
I just got an email saying that we should address feedback on the article and do final touches

vestal snow
#

awesome

#

new feedback just dropped in the doc?

wooden jolt
#

pog

sweet nimbus
#

Yes I'll finally review saky's changes bleakekw

prime ice
#

killlee

sweet nimbus
#

!remindme 9 hours review gpu zen article NOW

lost jayBOT
#
New Reminder | ID:73070177

Alright gpgpu, I'll remind you in 9 hours about:

review gpu zen article NOW

wooden jolt
#

ah yes

#

review the article NOW (in 9 hours)

mystic lark
#

I'll try to fix the code over the weekend, I've been incapacitated this whole week due to sickness ☹️

humble shadow
#

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" ?

ruby trellis
#

it’s called autumn

mystic lark
#

Yeah I think I did catch it from a colleague at work

prime ice
#

tons of people sick

hazy steppe
#

sickkos

humble shadow
sweet nimbus
#

I will diff the actual article and the staging article then try to address the comments while inserting our latest revisions

hazy steppe
#

were there lots of comments from wolfangs's side?

sweet nimbus
#

no, each section has different reviewers

hazy steppe
#

i mean from people who are not frogs from here

sweet nimbus
#

ah

#

all but one of the comments were about the figures actually

#

7 comments

hazy steppe
#

i see

mystic lark
#

Hmm so no major text changes?

sweet nimbus
#

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 bleakekw

#

@acoustic bobcat do you want to be attributed in the acknowledgements?

acoustic bobcat
#

Nah it's fine

vestal snow
#

Today hopefully (I’ll try)

sweet nimbus
#

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"

acoustic bobcat
#

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

sweet nimbus
#

big brain

#

some other article uses Hi-Z

sweet nimbus
#

I renamed the staging one to indicate that no one should change it anymore

vestal snow
#

Ok that sounds good

sweet nimbus
#

fig:depth-analysis needs to have "uv" changed to "UV" three times (putting this here because the comment is about to get deleted)

vestal snow
#

fixed that one

#

we need to change figures to use similar font to text right?

sweet nimbus
#

yeah that'd be ideal

vestal snow
#

ok I reuploaded everything I have

#

I'm having trouble compiling the article to debug view it though

sweet nimbus
#

yeah I can only compile it in fast mode 🥲

#

figures don't render though 😦

sweet nimbus
#

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

sweet nimbus
#

@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

sweet nimbus
#

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

mystic lark
#

I'll do it around 5pm (~8 hours)

sweet nimbus
#

I think I'll email them that the article is ready after you review it

mystic lark
#

Did they mention a deadline for the code?

sweet nimbus
#

nope

vestal snow
mystic lark
#

I assume something till next week then

sweet nimbus
#

yeah idk the timeline still bleaker_kekw

#

"within a few days" is the one I'm working with

mystic lark
#

Hmm I see I see

sweet nimbus
#

reality is probably a few months bleakekw

mystic lark
#

Don't tell me that or I'll procrastinate on it again frog_bath

#

I think I'll create a GPU Zen branch of Tido and try to finalize it there

sweet nimbus
#

the timeline for the code is probably a lot looser since that's all digital

hazy steppe
#

my frog probably meant april 2025

wooden jolt
#

how do you turn off compilation again

#

it keeps timeout'ing

sweet nimbus
#

uhm select fast compile

#

it shouldn't time out then

wooden jolt
#

here's hoping

sweet nimbus
#

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

wooden jolt
#

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

sweet nimbus
#

yeah I made an executive decision to not have one

#

there's at least one other article that doesn't have one either

wooden jolt
#

gotcha boss

#

what about the future works section

#

we shouldn't make big changes right?

sweet nimbus
#

ye

wooden jolt
#

alright

mystic lark
#

Oh I forgor about this

#

Today then sorry

sweet nimbus
#

same

hazy steppe
#

if you want i can keep track of yalls and make sure you get this stuff done in time : )

mystic lark
#

I appreciate any form of digital whipping

ruby trellis
#

did anyone address the one single issue i had with the paper cutecatNE

sweet nimbus
#

I forgor what it was in the sea of issues

ruby trellis
#

same

prime ice
mystic lark
#

only VSM related, I will not suffer onslaught of "rewrite task graph with me Saky" messages

sweet nimbus
#

@mystic lark @vestal snow when you guys are done I'm going to email the editors and tell them we're ready

vestal snow
#

Ok, I’ll upload the images to the staging area and see how they look today

vestal snow
#

I moved them over. They're in the main article and the do not edit article

#

they seem to look ok

sweet nimbus
#

Epic. I'll take a look in a bit

vestal snow
#

cool let me know if any figures need changes!

sweet nimbus
#

@vestal snow did you increase the font size on Setup phase flow chart.png? it still seems kinda small

vestal snow
#

is that the one with the read/write lines? I think that's actually a saky diagram

sweet nimbus
#

ah my bad, I just assumed you did all of them

#

@mystic lark frog_whip (can you increase the font size in the aforementioned figure pls)

#

btw the editor moved some figures around in the main article 👀

vestal snow
#

oh dang, major shifts?

sweet nimbus
#

it doesn't seem too major

#

they also changed some minor formatting stuff with some of the figures

sweet nimbus
#

is it supposed to be gone? nervous

mystic lark
#

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

vestal snow
#

Oh I didn’t know that

#

In that case one of us can remake it. I can help if you want

sweet nimbus
#

Yee

mystic lark
sweet nimbus
#

either way we need to get this done asap

hazy steppe
#

@mystic lark do it now

mystic lark
#

I'm uni bound

#

Should I do it on my phone?

#

😈

hazy steppe
#

you dont have a laptop with your shit?

mystic lark
#

No laptop:(

#

It broke and me lazy to get new

hazy steppe
#

!remindme 6hr remind saky to do the thing

lost jayBOT
#
New Reminder | ID:73289117

Alright deccer, I'll remind you in 6 hours about:

remind saky to do the thing

humble shadow
#

A reminder to remind you to remind saky

sweet nimbus
#

!remindme 6hr remind deccer to remind saky to do the thing

lost jayBOT
#
New Reminder | ID:73289199

Alright gpgpu, I'll remind you in 6 hours about:

remind deccer to remind saky to do the thing

mystic lark
#

!remindme 5hr remind me that I will soon get reminded and should mentally prepare

lost jayBOT
#
New Reminder | ID:73289664

Alright m_saky, I'll remind you in 5 hours about:

remind me that I will soon get reminded and should mentally prepare

hazy steppe
#

inb4 18hrs later
Saky: Oh shit i fell asleep, will do it asap.
inb4inb4 12hrs later later
Saky: Shit, I forgor

mystic lark
#

At this moment I can neither confirm nor deny these accusations

hazy steppe
#

time is up 🙂

#

@mystic lark

#

i bet you saw it coming hehe

mystic lark
#

Was hoping Jaker wouldn't remind you

#

What is JS crafting the images in? Power point?

hazy steppe
#

jakar didnt remind me either, he eeping

#

@vestal snow saky needs help

mystic lark
#

okay I'm taking a shower and if JS is not here by then I'll just cook in powerpoint

vestal snow
#

Yeh it’s PowerPoint

#

It’s fake photoshop cyberpoonk . I’ll be around to help

vestal snow
#

looks like Latin Modern Roman
edit: yeah it's that one

mystic lark
#

wtf fancy font

#

I have modern love though

#

I have modern love though

#

I need to restart to add new font to powerpoint

#

ahhhh

vestal snow
#

oh maybe that's what I had to do lol

hazy steppe
#

only powerpoint, no need to restart the system

vestal snow
#

I think I googled something like "what's the closest font to overleaf default" and it was latin modern

mystic lark
hazy steppe
#

then logout and login?

mystic lark
#

And some random forum post from their thingies said you need to restart pc

hazy steppe
#

weird

mystic lark
#

still not there

#

HAHA

#

but system shows it as installed

#

I love you so much Microsoft

vestal snow
#

hmm that's super weird

mystic lark
#

I am not crazy

hazy steppe
#

and Modern Roman?

mystic lark
#

I'll just make the image and figure this out later

hazy steppe
#

why are you using a script like font anyway?

mystic lark
#

@vestal snow how do I export the image?

#

ah figured it out

#

this good?

sweet nimbus
#

How big is that text compared to the original

mystic lark
sweet nimbus
#

Epic

#

Looks good

mystic lark
#

okay I uploadeded it

sweet nimbus
#

To the main article?

mystic lark
#

ya

sweet nimbus
#

Can you reply to the comment from the editor

#

To tell them it's fixed

vestal snow
#

looks nice!

mystic lark
#

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?

vestal snow
#

what happened to them?

#

I think all I've been doing is select all > save as picture

#

I don't think I screenshotted any

mystic lark
#

eh I guess it's fine

sweet nimbus
#

As long as it's readable and the font is roughly the same as the book font, it's good

mystic lark
#

okay I'll leave it as is

hazy steppe
#

do they not provide the font?

#

i have so many questions

sweet nimbus
#

hmm it might be a ttf in the book actually, idk

humble shadow
# mystic lark

The arrow tips would benefit of being bigger. Not sure how well this will read once printed.

mystic lark
#

better?

#

(I can only make the arrows more fat unfortunatelly)

humble shadow
#

much better yeah

mystic lark
#

oki, I uploaded this version instead

sweet nimbus
#

Sweet, are all the comments addressed?

#

If so, I can tell them it's good to go

mystic lark
#

I'm not sure, I didn't know I should 🇨🇿

#

I can do it quickly tomorrow at work

sweet nimbus
#

I can check after I shower. It'll only take a minute

sweet nimbus
#

I sent the email

wooden jolt
#

lovely

weary hollow
mystic lark
#

Is good?

weary hollow
#

yes

#

the real project is some unreleased title

wooden jolt
#

you know I was reading the device generated commands spec last day

#

and I have a devilish idea in mind

#

beyond vsm is possible?

weary hollow
prime ice
wooden jolt
#

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

ruby trellis
prime ice
#

how does it help, isnt it just clipping?

#

oh thats big tho

prime ice
#

ooooh with the scissor you can change where you write to

prime ice
#

so you can select rhe physical page

#

ooooooooh

wooden jolt
#

it's the address translation trick

prime ice
#

big

#

nice

#

ok we bully khronos

#

to qdd it asap

hazy steppe
#

can you not prototype with mesa? 🙂

prime ice
#

i dont touch lunix but maybe lvstri will

hazy steppe
#

and then vulkanized 2025 "how we coerced John into using scissors properly"

prime ice
#

uuuuuuh

#

this only works if you draw per phys page

wooden jolt
#

that's what the quadtree idea is for

prime ice
#

hmmmm

wooden jolt
#

the quadtree just bins scissor regions to meshlets

prime ice
#

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

wooden jolt
#

hmm

#

the brain is working

prime ice
#

virtual memory froge

wooden jolt
#

me thinking

hazy steppe
#

VSM = Virtual Scissoring Mekanism

mystic lark
#

too smoothbrained for that, I still dont' really get it honestly

#

but draw per page discouraged me

honest berry
hazy steppe
#

people still using twitter

honest berry
#

My colleague just sent me this link. Yes, now they come to us.

hazy steppe
mystic lark
#

They kinda do what you'd expect from the title

#

The dynamic thingie is cool

#

Might be way cooler with way less visible artifacts

#

Tbh kinda interesting that UE didn't do what they talk about way sooner

weary hollow
#

That would be a win win. I forgot about the parallax corrected shadows

mystic lark
#

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)

weary hollow
mystic lark
#

Yeah I thought it was gonna be a bit more

#

The perf improvements in the end kinda cope imo

weary hollow
mystic lark
#

Hmmm yeah

prime ice
mystic lark
#

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"*

hazy steppe
sweet nimbus
#

I posted it in #1166523139468034068 too KEKW

mystic lark
#

Oh I saw, I will take a look tomorrow!

#

Thank you mister Jaker

hazy steppe
#

2 times is ze charm

#

!remindme 1d saky mieplot review

lost jayBOT
#
New Reminder | ID:74131947

Alright deccer, I'll remind you in 1 day about:

saky mieplot review

sweet nimbus
#

Hehe, keep him on his toes

hazy steppe
#

can you update the link in timderdoodle?

sweet nimbus
#

Ye I was just about to

#

There we go

dark crater
#

oh thats really useful thanks for the link to that phase thingy

#

my volumetrics lack proper phase calculation for the scatters

sweet nimbus
#

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

mystic lark
#

or just add a constant factor to each step froge

dark crater
#

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

humble shadow
sweet nimbus
mystic lark
#

We made it chat

wooden jolt
#

let's fucking go

hazy steppe
#

about time

#

darius is also on the server 🙂

sweet nimbus
#

GPU Zen 3 is gonna be huge, physically

wooden jolt
#

the vsm article is 99% of the mass of the book

#

due to the massive balls of all of us

hazy steppe
#

🙂

#

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

remote quest
hazy steppe
#

i need to do a world tour it seems because i want my fisikal copy signed by yalls 🙂

humble shadow
sweet nimbus
#

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

remote quest
sweet nimbus
#

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

mystic lark
sweet nimbus
#

what's OL

#

overleaf

mystic lark
#

Overleaf :D

sweet nimbus
#

anyway yeah it's on their thingy, which we can't access if we want to post the article somewhere else

mystic lark
#

I think you copied it when they asked us last time to fix the thingies?

mystic lark
#

I forgor

sweet nimbus
#

we did the final editing and revisions directly in their overleaf

mystic lark
#

I thought you meant that you are not sure if their version has all the changes

sweet nimbus
#

oh ye, I'm not worried about that

#

my issue is much more trivial

mystic lark
#

okok sorry, I just got confusled

hazy steppe
#

smells like you want to publish it on ze blog if wolfi says yes?

humble shadow
#

(I was going to say "hope the cost won't be too high", but work is going to reimburse me anyway)

dark crater
#

damn thats a chonker

hazy steppe
#

street shoes in the house is something i will never understand though

eager moat
#

maybe is cold

dark crater
#

@hazy steppe we do that in spain

#

its common in dryer countries

hazy steppe
#

no

#

just switch to house shoes

humble shadow
#

Ho wait, it's actually out, I can buy it on Amazon

#

Lezgoo

hazy steppe
#

12 Virtual Shadow Maps by Matej Sakmary, Jake Ryan, Justin Hall, and Alessio Lustri
: )

#

the frog behind chapter 14 is also on the server

viscid shore
#

Another book yay

#

I will get itfroge_love

#

Purchased forgelove

mystic lark
#

interesting

#

they didnt' ask for the code yet

#

lol

dark crater
#

3 euros for pdf version???

#

based

hazy steppe
#

communication seems to be top notch

honest berry
#

Congrats everyone. Just bought a paper copy and eager to have good shadows.

humble shadow
viscid shore
#

Nice froge_love

#

there's a lot of good stuff in this book I should check out the others? this is v3?

sweet nimbus
#

I have gpu zen 2 and there are a lot of good articles in that too. idk about the first one

honest berry
#

It’s that day.

viscid shore
mystic lark
#

Wonder if we'll get one

#

Or if I have to buy it

sweet nimbus
#

lol the thing said authors get a free copy but idc either way

viscid shore
#

the book was not cheap

#

it's textbook prices

#

I bought 1 and 2 too and now I have to declare bankruptcy froge_sad

sweet nimbus
#

damn

#

probably because it's huge

humble shadow
#

Just got mail, it's quite a beast

#

Print quality is okay, as usual images are dark (Cyberpunk chapter is quite dark).

dark crater
#

PDF releases the 30

hallow oasis
#

Congrats! Books contents is out of my league but still super happy for everyone here 🙂

worn escarp
#

congrats

severe orbit
#

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

sweet nimbus
#

These books are aimed at an intermediate to advanced audience, but that doesn't mean a beginner can't find anything useful in them

severe orbit
#

It was fun AND cool 😎

humble shadow
#

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.

dark crater
#

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 :/

sweet nimbus
#

idk

dark crater
#

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

meager relic
#

you guys are crazy this 3rd version of gpu zen books is lit, lots of techniques to learn about!

dark crater
#

the gpu driven section is great

#

sort of a much better version of the vkguide article

meager relic
#

scary to think what will be in the 4th edition (:

hearty beacon
#

gonna get this for christmas pogefroge

glossy pawn
# dark crater is there a way to get a PDF

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.

vestal snow
#

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?

sweet nimbus
#

I think a more appropriate place would be the official gp blog, and yeah afaik they're still cool with it

prime yoke
#

The kindle version of GPU Zen 3 is 3$ on Amazon 😉

mystic lark
#

Btw I meant to ask, uni is asking me for two things:

  1. if I can send them the PDF version of the article (do we even have that?)
  2. 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...)
sweet nimbus
#

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

mystic lark
#

It's not like it really matters I don't think, it's just for the internal database

severe orbit
#

Our German friend wasn't happy with the print quality

sweet nimbus
#

@mystic lark @wooden jolt @vestal snow I forwarded an email to you guys about shipping for gpu zen tshirts

hearty beacon
#

it just arrived

mystic lark
#

@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

sweet nimbus
#

arguably you did more than 50% because you also supplied the demo

mystic lark
sweet nimbus
#

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

mystic lark
#

No worries, I'm making it into other thingies so I would have done the work anyways

sweet nimbus
#

anyway, your percentages seem fine

mystic lark
#

okay! do you all have my email? I can dm it otherwise

#

actually I'll dm my uni email, just to be sure

sweet nimbus
#

I do. what do you want me to send you?

mystic lark
#

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%
sweet nimbus
#

normally I'd wait to get consensus from the others, but I don't think it matters that much 😄

mystic lark
#

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)

sweet nimbus
#

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

remote quest
#

no need to fight, i'll gladly take the 0.01%

sweet nimbus
#

email sent forgefumbsup

mystic lark
vestal snow
#

Sounds good to me, I'll send an email

upbeat cargo
#

Am I correct in understanding that because VSM cascades are snapped to the grid, flickering shadows (due to the camera moving) are eliminated?

sweet nimbus
#

yeah

#

you can achieve that with regular CSM too but it would be more wasteful in terms of memory usage

upbeat cargo
#

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

sweet nimbus
#

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

upbeat cargo
#

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

sweet nimbus
#

like many things in programming, it's a million little problems

upbeat cargo
#

yeah

mystic lark
upbeat cargo
#

yeah, I bet

mystic lark
#

going from screen space to page space is the same transform as doing a shadow map test btw

upbeat cargo
#

right now, trying to make some progress with some actual game stuff, though

#

(camera stuff atm)

honest berry
#

I was just thinking this morning that I should implement virtual shadow maps.

weary hollow
#

Same here but I want to delay it as much as I can

radiant grove
#

if you delay enough you can just have RT shadows

weary hollow
#

Thats my idea kekkedsadge

upbeat cargo
sweet nimbus
upbeat cargo
#

yeah

#

saw that

#

that, and [13] are why I posted the link

sweet nimbus
#

epic

#

I have been cited

buoyant lily
#

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

mystic lark
#

I never actually tried the hw sparse thingy :(

#

@wooden jolt did hw sparsizms fwir

buoyant lily
#

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

mystic lark
#

I'd imagine sampling would be the same speed no?

#

Or do you think there is another indirection?

buoyant lily
buoyant lily
#

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