[{"data":1,"prerenderedAt":425},["ShallowReactive",2],{"ANJHtwz60r":3},{"title":4,"description":5,"type":6,"xrefs":7,"body":8,"_type":424,"_id":4},"ClipDistance","Application-specified clip distances","builtins",[],{"type":9,"children":10,"toc":420},"root",[11,24,52,68,99],{"type":12,"tag":13,"props":14,"children":16},"element","h6",{"id":15},"clipdistance",[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,42,44,50],{"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\nmake that variable contain the mechanism for controlling user clipping.\n",{"type":12,"tag":18,"props":38,"children":40},{"className":39},[],[41],{"type":23,"value":4},{"type":23,"value":43}," is an array such that the i",{"type":12,"tag":45,"props":46,"children":47},"sup",{},[48],{"type":23,"value":49},"th",{"type":23,"value":51}," element of the array\nspecifies the clip distance for plane i.\nA clip distance of 0 means the vertex is on the plane, a positive distance\nmeans the vertex is inside the clip half-space, and a negative distance\nmeans the vertex is outside the clip half-space.",{"type":12,"tag":53,"props":54,"children":55},"note",{},[56],{"type":12,"tag":25,"props":57,"children":58},{},[59,61,66],{"type":23,"value":60},"The array variable decorated with ",{"type":12,"tag":18,"props":62,"children":64},{"className":63},[],[65],{"type":23,"value":4},{"type":23,"value":67}," is explicitly sized by\nthe shader.",{"type":12,"tag":53,"props":69,"children":70},{},[71],{"type":12,"tag":25,"props":72,"children":73},{},[74,76,83,85,90,92,97],{"type":23,"value":75},"In the last ",{"type":12,"tag":77,"props":78,"children":80},"a",{"href":79},"/man/VkGraphicsPipelineCreateInfo#pipelines-graphics-subsets-pre-rasterization",[81],{"type":23,"value":82},"pre-rasterization\nshader stage",{"type":23,"value":84},", these values will be linearly interpolated across the\nprimitive and the portion of the primitive with interpolated distances less\nthan 0 will be considered outside the clip volume.\nIf ",{"type":12,"tag":18,"props":86,"children":88},{"className":87},[],[89],{"type":23,"value":4},{"type":23,"value":91}," is then used by a fragment shader, ",{"type":12,"tag":18,"props":93,"children":95},{"className":94},[],[96],{"type":23,"value":4},{"type":23,"value":98},"\ncontains these linearly interpolated values.",{"type":12,"tag":100,"props":101,"children":103},"validity-group",{"name":102},"Valid Usage",[104,196,267,324,401],{"type":12,"tag":105,"props":106,"children":108},"validity-field",{"name":107},"VUID-ClipDistance-ClipDistance-04187",[109,179],{"type":12,"tag":25,"props":110,"children":111},{},[112,114,119,121,126,128,134,136,142,143,149,150,156,158,164,165,171,173],{"type":23,"value":113},"The ",{"type":12,"tag":18,"props":115,"children":117},{"className":116},[],[118],{"type":23,"value":4},{"type":23,"value":120}," decoration ",{"type":12,"tag":122,"props":123,"children":125},"normative",{"type":124},"must",[],{"type":23,"value":127}," be used only within the\n",{"type":12,"tag":18,"props":129,"children":131},{"className":130},[],[132],{"type":23,"value":133},"MeshEXT",{"type":23,"value":135},", ",{"type":12,"tag":18,"props":137,"children":139},{"className":138},[],[140],{"type":23,"value":141},"MeshNV",{"type":23,"value":135},{"type":12,"tag":18,"props":144,"children":146},{"className":145},[],[147],{"type":23,"value":148},"Vertex",{"type":23,"value":135},{"type":12,"tag":18,"props":151,"children":153},{"className":152},[],[154],{"type":23,"value":155},"Fragment",{"type":23,"value":157},",\n",{"type":12,"tag":18,"props":159,"children":161},{"className":160},[],[162],{"type":23,"value":163},"TessellationControl",{"type":23,"value":135},{"type":12,"tag":18,"props":166,"children":168},{"className":167},[],[169],{"type":23,"value":170},"TessellationEvaluation",{"type":23,"value":172},", or ",{"type":12,"tag":18,"props":174,"children":176},{"className":175},[],[177],{"type":23,"value":178},"Geometry",{"type":12,"tag":25,"props":180,"children":181},{},[182,188,190],{"type":12,"tag":18,"props":183,"children":185},{"className":184},[],[186],{"type":23,"value":187},"Execution",{"type":23,"value":189}," ",{"type":12,"tag":18,"props":191,"children":193},{"className":192},[],[194],{"type":23,"value":195},"Model",{"type":12,"tag":105,"props":197,"children":199},{"name":198},"VUID-ClipDistance-ClipDistance-04188",[200],{"type":12,"tag":25,"props":201,"children":202},{},[203,205,210,212,217,218,223,224,229,230,235,236,241,242,245,247,253,254,260,261],{"type":23,"value":204},"The variable decorated with ",{"type":12,"tag":18,"props":206,"children":208},{"className":207},[],[209],{"type":23,"value":4},{"type":23,"value":211}," within the ",{"type":12,"tag":18,"props":213,"children":215},{"className":214},[],[216],{"type":23,"value":133},{"type":23,"value":157},{"type":12,"tag":18,"props":219,"children":221},{"className":220},[],[222],{"type":23,"value":141},{"type":23,"value":172},{"type":12,"tag":18,"props":225,"children":227},{"className":226},[],[228],{"type":23,"value":148},{"type":23,"value":189},{"type":12,"tag":18,"props":231,"children":233},{"className":232},[],[234],{"type":23,"value":187},{"type":23,"value":189},{"type":12,"tag":18,"props":237,"children":239},{"className":238},[],[240],{"type":23,"value":195},{"type":23,"value":189},{"type":12,"tag":122,"props":243,"children":244},{"type":124},[],{"type":23,"value":246}," be declared using the\n",{"type":12,"tag":18,"props":248,"children":250},{"className":249},[],[251],{"type":23,"value":252},"Output",{"type":23,"value":189},{"type":12,"tag":18,"props":255,"children":257},{"className":256},[],[258],{"type":23,"value":259},"Storage",{"type":23,"value":189},{"type":12,"tag":18,"props":262,"children":264},{"className":263},[],[265],{"type":23,"value":266},"Class",{"type":12,"tag":105,"props":268,"children":270},{"name":269},"VUID-ClipDistance-ClipDistance-04189",[271,286],{"type":12,"tag":25,"props":272,"children":273},{},[274,275,280,281],{"type":23,"value":204},{"type":12,"tag":18,"props":276,"children":278},{"className":277},[],[279],{"type":23,"value":4},{"type":23,"value":211},{"type":12,"tag":18,"props":282,"children":284},{"className":283},[],[285],{"type":23,"value":155},{"type":12,"tag":25,"props":287,"children":288},{},[289,294,295,300,301,304,306,312,313,318,319],{"type":12,"tag":18,"props":290,"children":292},{"className":291},[],[293],{"type":23,"value":187},{"type":23,"value":189},{"type":12,"tag":18,"props":296,"children":298},{"className":297},[],[299],{"type":23,"value":195},{"type":23,"value":189},{"type":12,"tag":122,"props":302,"children":303},{"type":124},[],{"type":23,"value":305}," be declared using the ",{"type":12,"tag":18,"props":307,"children":309},{"className":308},[],[310],{"type":23,"value":311},"Input",{"type":23,"value":189},{"type":12,"tag":18,"props":314,"children":316},{"className":315},[],[317],{"type":23,"value":259},{"type":23,"value":189},{"type":12,"tag":18,"props":320,"children":322},{"className":321},[],[323],{"type":23,"value":266},{"type":12,"tag":105,"props":325,"children":327},{"name":326},"VUID-ClipDistance-ClipDistance-04190",[328,356],{"type":12,"tag":25,"props":329,"children":330},{},[331,332,337,339,344,345,350,351],{"type":23,"value":204},{"type":12,"tag":18,"props":333,"children":335},{"className":334},[],[336],{"type":23,"value":4},{"type":23,"value":338}," within the\n",{"type":12,"tag":18,"props":340,"children":342},{"className":341},[],[343],{"type":23,"value":163},{"type":23,"value":135},{"type":12,"tag":18,"props":346,"children":348},{"className":347},[],[349],{"type":23,"value":170},{"type":23,"value":172},{"type":12,"tag":18,"props":352,"children":354},{"className":353},[],[355],{"type":23,"value":178},{"type":12,"tag":25,"props":357,"children":358},{},[359,364,365,370,371,374,376,381,382,387,389,394,396],{"type":12,"tag":18,"props":360,"children":362},{"className":361},[],[363],{"type":23,"value":187},{"type":23,"value":189},{"type":12,"tag":18,"props":366,"children":368},{"className":367},[],[369],{"type":23,"value":195},{"type":23,"value":189},{"type":12,"tag":122,"props":372,"children":373},{"type":124},[],{"type":23,"value":375}," not be declared in a ",{"type":12,"tag":18,"props":377,"children":379},{"className":378},[],[380],{"type":23,"value":259},{"type":23,"value":189},{"type":12,"tag":18,"props":383,"children":385},{"className":384},[],[386],{"type":23,"value":266},{"type":23,"value":388}," other than\n",{"type":12,"tag":18,"props":390,"children":392},{"className":391},[],[393],{"type":23,"value":311},{"type":23,"value":395}," or ",{"type":12,"tag":18,"props":397,"children":399},{"className":398},[],[400],{"type":23,"value":252},{"type":12,"tag":105,"props":402,"children":404},{"name":403},"VUID-ClipDistance-ClipDistance-04191",[405],{"type":12,"tag":25,"props":406,"children":407},{},[408,409,414,415,418],{"type":23,"value":204},{"type":12,"tag":18,"props":410,"children":412},{"className":411},[],[413],{"type":23,"value":4},{"type":23,"value":189},{"type":12,"tag":122,"props":416,"children":417},{"type":124},[],{"type":23,"value":419}," be declared as an\narray of 32-bit floating-point values",{"title":421,"searchDepth":422,"depth":422,"links":423},"",2,[],"markdown",1725732530542]