{"id":412,"date":"2019-10-29T09:05:49","date_gmt":"2019-10-29T16:05:49","guid":{"rendered":"http:\/\/fx-td.com\/houdiniandchill\/?p=412"},"modified":"2019-10-29T09:12:57","modified_gmt":"2019-10-29T16:12:57","slug":"archived-post-by-bender-6","status":"publish","type":"post","link":"http:\/\/fx-td.com\/houdiniandchill\/2019\/10\/29\/archived-post-by-bender-6\/","title":{"rendered":"Archived post by Bender"},"content":{"rendered":"<p class=\"\">From @trzanko  ray sop or prim uv&#8217;s don&#8217;t yield super great accuracy, as it only interpolates among a primitive&#8217;s points, to get a smooth position you can leverage the osd vex functions<br \/>\nhere&#8217;s my subdiv ray snippet which illustrates this, you can see the diff between the osd pos and the primuv pos if you comment out the line which declares the variable sDP<br \/>\n&#8220;`int primNum; vector UV;<br \/>\nfloat dist = xyzdist( 1, @P, primNum, UV);<br \/>\nvector restN = primuv(1,&#8221;N&#8221;,primNum,UV); vector posOnRest = primuv(1,&#8221;P&#8221;,primNum,UV);<br \/>\n\/\/subdiv float pU, pV; int pId; int patch = osd_lookuppatch( 1, primNum, UV.x, UV.y, pId, pU, pV);<br \/>\n\/\/these two functions return the last argument \/\/so posOnRest is being overwritten in the function, much like xyzdist() int sDN = osd_limitsurface( 1, &#8216;N&#8217;, pId, pU, pV, restN); int sDP = osd_limitsurface( 1, &#8216;P&#8217;, pId, pU, pV, posOnRest);<br \/>\n@P = posOnRest;&#8220;`<\/p>\n<p class=\"\">posting Tighe&#8217;s post for re-gemming<\/p>\n","protected":false},"excerpt":{"rendered":"<p>From @trzanko ray sop or prim uv&#8217;s don&#8217;t yield super great accuracy, as it only interpolates among a primitive&#8217;s points, to get a smooth position you can leverage the osd vex functions here&#8217;s my subdiv ray snippet which illustrates this, you can see the diff between the osd pos and the primuv pos if you &hellip; <a href=\"http:\/\/fx-td.com\/houdiniandchill\/2019\/10\/29\/archived-post-by-bender-6\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Archived post by Bender<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts\/412"}],"collection":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/comments?post=412"}],"version-history":[{"count":0,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts\/412\/revisions"}],"wp:attachment":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/media?parent=412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/categories?post=412"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/tags?post=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}