जब किसी आकृति का यूवी निर्देशांक बनावट से परे चला जाता है तो बनावट के व्यवहार का तरीका बदल जाता है।
texture() को काम करने के लिए, किसी आकृति को उसकी सतह पर बिंदुओं को छवि में पिक्सेल पर मैप करने के तरीके की आवश्यकता होती है। rect() और box() जैसी अंतर्निहित आकृतियाँ पहले से ही मौजूद हैं बनावट मानचित्रण उनके शीर्षों के आधार पर। vertex() के साथ बनाई गई कस्टम आकृतियों को यूवी निर्देशांक के रूप में पारित होने के लिए बनावट मैपिंग की आवश्यकता होती है।
प्रत्येक कॉल vertex() में 5 तर्क शामिल होने चाहिए, जैसे vertex(x, y, z, u, v), एक छवि के भीतर निर्देशांक <code>(x, y, z)</code> पर शीर्ष को निर्देशांक <code>(u, v)</code> पर पिक्सेल पर मैप करने के लिए। उदाहरण के लिए, एक आयताकार छवि के कोनों को डिफ़ॉल्ट रूप से एक आयत के कोनों पर मैप किया जाता है:
// Apply the image as a texture.
texture(img);
<p>// Draw the rectangle.
rect(0, 0, 30, 50);
</p>यदि उपरोक्त कोड स्निपेट में छवि का आयाम 300 x 500 पिक्सेल है, वही परिणाम इस प्रकार प्राप्त किया जा सकता है:
// Apply the image as a texture.
texture(img);
<p>// Draw the rectangle.
beginShape();</p>
<p>// Top-left.
// u: 0, v: 0
vertex(0, 0, 0, 0, 0);</p>
<p>// Top-right.
// u: 300, v: 0
vertex(30, 0, 0, 300, 0);</p>
<p>// Bottom-right.
// u: 300, v: 500
vertex(30, 50, 0, 300, 500);</p>
<p>// Bottom-left.
// u: 0, v: 500
vertex(0, 50, 0, 0, 500);</p>
<p>endShape();
</p>textureWrap() नियंत्रित करता है कि बनावट कैसे व्यवहार करती है जब उनकी यूवी बनावट से परे जाती है। ऐसा करने से टाइलिंग जैसे दिलचस्प दृश्य प्रभाव उत्पन्न हो सकते हैं। उदाहरण के लिए, ऊपर दिए गए कस्टम आकार में यू-निर्देशांक छवि की चौड़ाई से अधिक हो सकते हैं:
// Apply the image as a texture.
texture(img);
<p>// Draw the rectangle.
beginShape();
vertex(0, 0, 0, 0, 0);</p>
<p>// Top-right.
// u: 600
vertex(30, 0, 0, 600, 0);</p>
<p>// Bottom-right.
// u: 600
vertex(30, 50, 0, 600, 500);</p>
<p>vertex(0, 50, 0, 0, 500);
endShape();
</p>600 के यू-निर्देशांक बनावट छवि की चौड़ाई 300 से अधिक हैं। यह दिलचस्प संभावनाएं पैदा करता है।
पहला पैरामीटर, wrapX, तीन संभावित स्थिरांक स्वीकार करता है। यदि CLAMP पास हो जाता है, जैसा कि textureWrap(CLAMP) में होता है, तो बनावट के किनारे पर मौजूद पिक्सेल आकृति के किनारों तक विस्तारित हो जाएंगे। यदि REPEAT पास हो जाता है, जैसे कि textureWrap(REPEAT) में, बनावट आकृति के किनारों तक पहुंचने तक बार-बार टाइल होगी। यदि MIRROR पास हो जाता है, जैसा कि textureWrap(MIRROR) में होता है, तो बनावट बार-बार टाइल करेगी जब तक कि वह आकृति के किनारों तक नहीं पहुंच जाती, और टाइलों के बीच उसका अभिविन्यास बदल जाता है। डिफ़ॉल्ट रूप से, बनावट CLAMP.
दूसरा पैरामीटर, wrapY, वैकल्पिक है। यह समान तीन स्थिरांक स्वीकार करता है, CLAMP, REPEAT, औरMIRROR। यदि इनमें से एक स्थिरांक पारित हो जाता है, जैसे कि textureWRAP(MIRROR, REPEAT), तो बनावट MIRROR क्षैतिज रूप से और दोहराया जाएगा लंबवत रूप से होगी। डिफ़ॉल्ट रूप से, wrapY को wrapX के समान मान पर सेट किया जाएगा।
ध्यान दें: textureWrap() का उपयोग केवल WebGL मोड में किया जा सकता है।
उदाहरण
सिंटैक्स
textureWrap(wrapX, [wrapY])
पैरामीटर्स
या तो क्लैंप, रिपीट, या मिरर
या तो क्लैंप, रिपीट, या मिरर