[{"data":1,"prerenderedAt":215},["ShallowReactive",2],{"3h1jJ440YI":3},{"title":4,"description":5,"type":6,"xrefs":7,"body":8,"_type":214,"_id":4},"RayTmaxKHR","Maximum T value of a ray","builtins",[],{"type":9,"children":10,"toc":210},"root",[11,24,54,78],{"type":12,"tag":13,"props":14,"children":16},"element","h6",{"id":15},"raytmaxkhr",[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,43,45,52],{"type":23,"value":29},"A variable decorated with the ",{"type":12,"tag":18,"props":31,"children":33},{"className":32},[],[34],{"type":23,"value":4},{"type":23,"value":36}," decoration will contain the\nparametric t",{"type":12,"tag":38,"props":39,"children":40},"sub",{},[41],{"type":23,"value":42},"max",{"type":23,"value":44}," value of the ray being processed.\nThe value is independent of the space in which the ray origin and direction\nexist.\nThe value is initialized to the parameter passed into the\n",{"type":12,"tag":46,"props":47,"children":49},"a",{"href":48},"/404#glossary-pipeline-trace-ray",[50],{"type":23,"value":51},"pipeline trace ray",{"type":23,"value":53}," instruction.",{"type":12,"tag":25,"props":55,"children":56},{},[57,59,63,65,71,73,77],{"type":23,"value":58},"The t",{"type":12,"tag":38,"props":60,"children":61},{},[62],{"type":23,"value":42},{"type":23,"value":64}," value changes throughout the lifetime of the ray that\nproduced the intersection.\nIn the closest hit shader, the value reflects the closest distance to the\nintersected primitive.\nIn the any-hit shader, it reflects the distance to the primitive currently\nbeing intersected.\nIn the intersection shader, it reflects the distance to the closest\nprimitive intersected so far or the initial value.\nThe value can change in the intersection shader after calling\n",{"type":12,"tag":18,"props":66,"children":68},{"className":67},[],[69],{"type":23,"value":70},"OpReportIntersectionKHR",{"type":23,"value":72}," if the corresponding any-hit shader does not\nignore the intersection.\nIn a miss shader, the value is identical to the parameter passed into the\n",{"type":12,"tag":46,"props":74,"children":75},{"href":48},[76],{"type":23,"value":51},{"type":23,"value":53},{"type":12,"tag":79,"props":80,"children":82},"validity-group",{"name":81},"Valid Usage",[83,151,191],{"type":12,"tag":84,"props":85,"children":87},"validity-field",{"name":86},"VUID-RayTmaxKHR-RayTmaxKHR-04348",[88],{"type":12,"tag":25,"props":89,"children":90},{},[91,93,98,100,105,107,113,115,121,122,128,130,136,138,144,145],{"type":23,"value":92},"The ",{"type":12,"tag":18,"props":94,"children":96},{"className":95},[],[97],{"type":23,"value":4},{"type":23,"value":99}," decoration ",{"type":12,"tag":101,"props":102,"children":104},"normative",{"type":103},"must",[],{"type":23,"value":106}," be used only within the\n",{"type":12,"tag":18,"props":108,"children":110},{"className":109},[],[111],{"type":23,"value":112},"IntersectionKHR",{"type":23,"value":114},", ",{"type":12,"tag":18,"props":116,"children":118},{"className":117},[],[119],{"type":23,"value":120},"AnyHitKHR",{"type":23,"value":114},{"type":12,"tag":18,"props":123,"children":125},{"className":124},[],[126],{"type":23,"value":127},"ClosestHitKHR",{"type":23,"value":129},", or\n",{"type":12,"tag":18,"props":131,"children":133},{"className":132},[],[134],{"type":23,"value":135},"MissKHR",{"type":23,"value":137}," ",{"type":12,"tag":18,"props":139,"children":141},{"className":140},[],[142],{"type":23,"value":143},"Execution",{"type":23,"value":137},{"type":12,"tag":18,"props":146,"children":148},{"className":147},[],[149],{"type":23,"value":150},"Model",{"type":12,"tag":84,"props":152,"children":154},{"name":153},"VUID-RayTmaxKHR-RayTmaxKHR-04349",[155],{"type":12,"tag":25,"props":156,"children":157},{},[158,160,165,166,169,171,177,178,184,185],{"type":23,"value":159},"The variable decorated with ",{"type":12,"tag":18,"props":161,"children":163},{"className":162},[],[164],{"type":23,"value":4},{"type":23,"value":137},{"type":12,"tag":101,"props":167,"children":168},{"type":103},[],{"type":23,"value":170}," be declared using the\n",{"type":12,"tag":18,"props":172,"children":174},{"className":173},[],[175],{"type":23,"value":176},"Input",{"type":23,"value":137},{"type":12,"tag":18,"props":179,"children":181},{"className":180},[],[182],{"type":23,"value":183},"Storage",{"type":23,"value":137},{"type":12,"tag":18,"props":186,"children":188},{"className":187},[],[189],{"type":23,"value":190},"Class",{"type":12,"tag":84,"props":192,"children":194},{"name":193},"VUID-RayTmaxKHR-RayTmaxKHR-04350",[195],{"type":12,"tag":25,"props":196,"children":197},{},[198,199,204,205,208],{"type":23,"value":159},{"type":12,"tag":18,"props":200,"children":202},{"className":201},[],[203],{"type":23,"value":4},{"type":23,"value":137},{"type":12,"tag":101,"props":206,"children":207},{"type":103},[],{"type":23,"value":209}," be declared as a\nscalar 32-bit floating-point value",{"title":211,"searchDepth":212,"depth":212,"links":213},"",2,[],"markdown",1725732533522]