[{"data":1,"prerenderedAt":644},["ShallowReactive",2],{"m1j1R6cH8w":3},{"title":4,"description":5,"type":6,"xrefs":7,"body":8,"_type":643,"_id":4},"FragCoord","Screen-space coordinate of the fragment center","builtins",[],{"type":9,"children":10,"toc":639},"root",[11,24,320,341,353,365,512,531],{"type":12,"tag":13,"props":14,"children":16},"element","h6",{"id":15},"fragcoord",[17],{"type":12,"tag":18,"props":19,"children":21},"code",{"className":20},[],[22],{"type":23,"value":4},"text",{"type":12,"tag":25,"props":26,"children":27},"p",{},[28,30,35,37,318],{"type":23,"value":29},"Decorating a variable with the ",{"type":12,"tag":18,"props":31,"children":33},{"className":32},[],[34],{"type":23,"value":4},{"type":23,"value":36}," built-in decoration will make\nthat variable contain the framebuffer coordinate\n",{"type":12,"tag":38,"props":39,"children":42},"span",{"className":40},[41],"katex",[43,125],{"type":12,"tag":38,"props":44,"children":47},{"className":45},[46],"katex-mathml",[48],{"type":12,"tag":49,"props":50,"children":52},"math",{"xmlns":51},"http://www.w3.org/1998/Math/MathML",[53],{"type":12,"tag":54,"props":55,"children":56},"semantics",{},[57,118],{"type":12,"tag":58,"props":59,"children":60},"mrow",{},[61,68,74,80,85,89,94,98,113],{"type":12,"tag":62,"props":63,"children":65},"mo",{"stretchy":64},"false",[66],{"type":23,"value":67},"(",{"type":12,"tag":69,"props":70,"children":71},"mi",{},[72],{"type":23,"value":73},"x",{"type":12,"tag":62,"props":75,"children":77},{"separator":76},"true",[78],{"type":23,"value":79},",",{"type":12,"tag":69,"props":81,"children":82},{},[83],{"type":23,"value":84},"y",{"type":12,"tag":62,"props":86,"children":87},{"separator":76},[88],{"type":23,"value":79},{"type":12,"tag":69,"props":90,"children":91},{},[92],{"type":23,"value":93},"z",{"type":12,"tag":62,"props":95,"children":96},{"separator":76},[97],{"type":23,"value":79},{"type":12,"tag":99,"props":100,"children":101},"mfrac",{},[102,108],{"type":12,"tag":103,"props":104,"children":105},"mn",{},[106],{"type":23,"value":107},"1",{"type":12,"tag":69,"props":109,"children":110},{},[111],{"type":23,"value":112},"w",{"type":12,"tag":62,"props":114,"children":115},{"stretchy":64},[116],{"type":23,"value":117},")",{"type":12,"tag":119,"props":120,"children":122},"annotation",{"encoding":121},"application/x-tex",[123],{"type":23,"value":124},"(x,y,z,\\frac{1}{w})",{"type":12,"tag":38,"props":126,"children":129},{"className":127,"ariaHidden":76},[128],"katex-html",[130],{"type":12,"tag":38,"props":131,"children":134},{"className":132},[133],"base",[135,141,147,154,160,166,172,177,181,187,192,196,313],{"type":12,"tag":38,"props":136,"children":140},{"className":137,"style":139},[138],"strut","height:1.1901em;vertical-align:-0.345em;",[],{"type":12,"tag":38,"props":142,"children":145},{"className":143},[144],"mopen",[146],{"type":23,"value":67},{"type":12,"tag":38,"props":148,"children":152},{"className":149},[150,151],"mord","mathnormal",[153],{"type":23,"value":73},{"type":12,"tag":38,"props":155,"children":158},{"className":156},[157],"mpunct",[159],{"type":23,"value":79},{"type":12,"tag":38,"props":161,"children":165},{"className":162,"style":164},[163],"mspace","margin-right:0.1667em;",[],{"type":12,"tag":38,"props":167,"children":170},{"className":168,"style":169},[150,151],"margin-right:0.03588em;",[171],{"type":23,"value":84},{"type":12,"tag":38,"props":173,"children":175},{"className":174},[157],[176],{"type":23,"value":79},{"type":12,"tag":38,"props":178,"children":180},{"className":179,"style":164},[163],[],{"type":12,"tag":38,"props":182,"children":185},{"className":183,"style":184},[150,151],"margin-right:0.04398em;",[186],{"type":23,"value":93},{"type":12,"tag":38,"props":188,"children":190},{"className":189},[157],[191],{"type":23,"value":79},{"type":12,"tag":38,"props":193,"children":195},{"className":194,"style":164},[163],[],{"type":12,"tag":38,"props":197,"children":199},{"className":198},[150],[200,205,308],{"type":12,"tag":38,"props":201,"children":204},{"className":202},[144,203],"nulldelimiter",[],{"type":12,"tag":38,"props":206,"children":208},{"className":207},[99],[209],{"type":12,"tag":38,"props":210,"children":214},{"className":211},[212,213],"vlist-t","vlist-t2",[215,296],{"type":12,"tag":38,"props":216,"children":219},{"className":217},[218],"vlist-r",[220,289],{"type":12,"tag":38,"props":221,"children":225},{"className":222,"style":224},[223],"vlist","height:0.8451em;",[226,254,268],{"type":12,"tag":38,"props":227,"children":229},{"style":228},"top:-2.655em;",[230,236],{"type":12,"tag":38,"props":231,"children":235},{"className":232,"style":234},[233],"pstrut","height:3em;",[],{"type":12,"tag":38,"props":237,"children":243},{"className":238},[239,240,241,242],"sizing","reset-size6","size3","mtight",[244],{"type":12,"tag":38,"props":245,"children":247},{"className":246},[150,242],[248],{"type":12,"tag":38,"props":249,"children":252},{"className":250,"style":251},[150,151,242],"margin-right:0.02691em;",[253],{"type":23,"value":112},{"type":12,"tag":38,"props":255,"children":257},{"style":256},"top:-3.23em;",[258,262],{"type":12,"tag":38,"props":259,"children":261},{"className":260,"style":234},[233],[],{"type":12,"tag":38,"props":263,"children":267},{"className":264,"style":266},[265],"frac-line","border-bottom-width:0.04em;",[],{"type":12,"tag":38,"props":269,"children":271},{"style":270},"top:-3.394em;",[272,276],{"type":12,"tag":38,"props":273,"children":275},{"className":274,"style":234},[233],[],{"type":12,"tag":38,"props":277,"children":279},{"className":278},[239,240,241,242],[280],{"type":12,"tag":38,"props":281,"children":283},{"className":282},[150,242],[284],{"type":12,"tag":38,"props":285,"children":287},{"className":286},[150,242],[288],{"type":23,"value":107},{"type":12,"tag":38,"props":290,"children":293},{"className":291},[292],"vlist-s",[294],{"type":23,"value":295},"​",{"type":12,"tag":38,"props":297,"children":299},{"className":298},[218],[300],{"type":12,"tag":38,"props":301,"children":304},{"className":302,"style":303},[223],"height:0.345em;",[305],{"type":12,"tag":38,"props":306,"children":307},{},[],{"type":12,"tag":38,"props":309,"children":312},{"className":310},[311,203],"mclose",[],{"type":12,"tag":38,"props":314,"children":316},{"className":315},[311],[317],{"type":23,"value":117},{"type":23,"value":319}," of the fragment being processed.\nThe (x,y) coordinate (0,0) is the upper left corner of the upper\nleft pixel in the framebuffer.",{"type":12,"tag":25,"props":321,"children":322},{},[323,325,332,334,339],{"type":23,"value":324},"When ",{"type":12,"tag":326,"props":327,"children":329},"a",{"href":328},"/chapters/primsrast#primsrast-sampleshading",[330],{"type":23,"value":331},"Sample Shading",{"type":23,"value":333}," is enabled, the x and\ny components of ",{"type":12,"tag":18,"props":335,"children":337},{"className":336},[],[338],{"type":23,"value":4},{"type":23,"value":340}," reflect the location of one of the\nsamples corresponding to the shader invocation.",{"type":12,"tag":25,"props":342,"children":343},{},[344,346,351],{"type":23,"value":345},"Otherwise, the x and y components of ",{"type":12,"tag":18,"props":347,"children":349},{"className":348},[],[350],{"type":23,"value":4},{"type":23,"value":352}," reflect the\nlocation of the center of the fragment.",{"type":12,"tag":25,"props":354,"children":355},{},[356,358,363],{"type":23,"value":357},"The z component of ",{"type":12,"tag":18,"props":359,"children":361},{"className":360},[],[362],{"type":23,"value":4},{"type":23,"value":364}," is the interpolated depth value of\nthe primitive.",{"type":12,"tag":25,"props":366,"children":367},{},[368,370,510],{"type":23,"value":369},"The w component is the interpolated ",{"type":12,"tag":38,"props":371,"children":373},{"className":372},[41],[374,403],{"type":12,"tag":38,"props":375,"children":377},{"className":376},[46],[378],{"type":12,"tag":49,"props":379,"children":380},{"xmlns":51},[381],{"type":12,"tag":54,"props":382,"children":383},{},[384,398],{"type":12,"tag":58,"props":385,"children":386},{},[387],{"type":12,"tag":99,"props":388,"children":389},{},[390,394],{"type":12,"tag":103,"props":391,"children":392},{},[393],{"type":23,"value":107},{"type":12,"tag":69,"props":395,"children":396},{},[397],{"type":23,"value":112},{"type":12,"tag":119,"props":399,"children":400},{"encoding":121},[401],{"type":23,"value":402},"\\frac{1}{w}",{"type":12,"tag":38,"props":404,"children":406},{"className":405,"ariaHidden":76},[128],[407],{"type":12,"tag":38,"props":408,"children":410},{"className":409},[133],[411,415],{"type":12,"tag":38,"props":412,"children":414},{"className":413,"style":139},[138],[],{"type":12,"tag":38,"props":416,"children":418},{"className":417},[150],[419,423,506],{"type":12,"tag":38,"props":420,"children":422},{"className":421},[144,203],[],{"type":12,"tag":38,"props":424,"children":426},{"className":425},[99],[427],{"type":12,"tag":38,"props":428,"children":430},{"className":429},[212,213],[431,495],{"type":12,"tag":38,"props":432,"children":434},{"className":433},[218],[435,490],{"type":12,"tag":38,"props":436,"children":438},{"className":437,"style":224},[223],[439,459,470],{"type":12,"tag":38,"props":440,"children":441},{"style":228},[442,446],{"type":12,"tag":38,"props":443,"children":445},{"className":444,"style":234},[233],[],{"type":12,"tag":38,"props":447,"children":449},{"className":448},[239,240,241,242],[450],{"type":12,"tag":38,"props":451,"children":453},{"className":452},[150,242],[454],{"type":12,"tag":38,"props":455,"children":457},{"className":456,"style":251},[150,151,242],[458],{"type":23,"value":112},{"type":12,"tag":38,"props":460,"children":461},{"style":256},[462,466],{"type":12,"tag":38,"props":463,"children":465},{"className":464,"style":234},[233],[],{"type":12,"tag":38,"props":467,"children":469},{"className":468,"style":266},[265],[],{"type":12,"tag":38,"props":471,"children":472},{"style":270},[473,477],{"type":12,"tag":38,"props":474,"children":476},{"className":475,"style":234},[233],[],{"type":12,"tag":38,"props":478,"children":480},{"className":479},[239,240,241,242],[481],{"type":12,"tag":38,"props":482,"children":484},{"className":483},[150,242],[485],{"type":12,"tag":38,"props":486,"children":488},{"className":487},[150,242],[489],{"type":23,"value":107},{"type":12,"tag":38,"props":491,"children":493},{"className":492},[292],[494],{"type":23,"value":295},{"type":12,"tag":38,"props":496,"children":498},{"className":497},[218],[499],{"type":12,"tag":38,"props":500,"children":502},{"className":501,"style":303},[223],[503],{"type":12,"tag":38,"props":504,"children":505},{},[],{"type":12,"tag":38,"props":507,"children":509},{"className":508},[311,203],[],{"type":23,"value":511},".",{"type":12,"tag":25,"props":513,"children":514},{},[515,517,523,525,530],{"type":23,"value":516},"The ",{"type":12,"tag":18,"props":518,"children":520},{"className":519},[],[521],{"type":23,"value":522},"Centroid",{"type":23,"value":524}," interpolation decoration is ignored, but allowed, on\n",{"type":12,"tag":18,"props":526,"children":528},{"className":527},[],[529],{"type":23,"value":4},{"type":23,"value":511},{"type":12,"tag":532,"props":533,"children":535},"validity-group",{"name":534},"Valid Usage",[536,580,620],{"type":12,"tag":537,"props":538,"children":540},"validity-field",{"name":539},"VUID-FragCoord-FragCoord-04210",[541],{"type":12,"tag":25,"props":542,"children":543},{},[544,545,550,552,557,559,565,567,573,574],{"type":23,"value":516},{"type":12,"tag":18,"props":546,"children":548},{"className":547},[],[549],{"type":23,"value":4},{"type":23,"value":551}," decoration ",{"type":12,"tag":553,"props":554,"children":556},"normative",{"type":555},"must",[],{"type":23,"value":558}," be used only within the\n",{"type":12,"tag":18,"props":560,"children":562},{"className":561},[],[563],{"type":23,"value":564},"Fragment",{"type":23,"value":566}," ",{"type":12,"tag":18,"props":568,"children":570},{"className":569},[],[571],{"type":23,"value":572},"Execution",{"type":23,"value":566},{"type":12,"tag":18,"props":575,"children":577},{"className":576},[],[578],{"type":23,"value":579},"Model",{"type":12,"tag":537,"props":581,"children":583},{"name":582},"VUID-FragCoord-FragCoord-04211",[584],{"type":12,"tag":25,"props":585,"children":586},{},[587,589,594,595,598,600,606,607,613,614],{"type":23,"value":588},"The variable decorated with ",{"type":12,"tag":18,"props":590,"children":592},{"className":591},[],[593],{"type":23,"value":4},{"type":23,"value":566},{"type":12,"tag":553,"props":596,"children":597},{"type":555},[],{"type":23,"value":599}," be declared using the\n",{"type":12,"tag":18,"props":601,"children":603},{"className":602},[],[604],{"type":23,"value":605},"Input",{"type":23,"value":566},{"type":12,"tag":18,"props":608,"children":610},{"className":609},[],[611],{"type":23,"value":612},"Storage",{"type":23,"value":566},{"type":12,"tag":18,"props":615,"children":617},{"className":616},[],[618],{"type":23,"value":619},"Class",{"type":12,"tag":537,"props":621,"children":623},{"name":622},"VUID-FragCoord-FragCoord-04212",[624],{"type":12,"tag":25,"props":625,"children":626},{},[627,628,633,634,637],{"type":23,"value":588},{"type":12,"tag":18,"props":629,"children":631},{"className":630},[],[632],{"type":23,"value":4},{"type":23,"value":566},{"type":12,"tag":553,"props":635,"children":636},{"type":555},[],{"type":23,"value":638}," be declared as a\nfour-component vector of 32-bit floating-point values",{"title":640,"searchDepth":641,"depth":641,"links":642},"",2,[],"markdown",1725732531200]