कस्टम आकारों पर पाठ्यवस्तुओं को लागू करते समय उपयोग की जाने वाली निर्देशांक प्रणाली को बदलता है।
texture() को काम करने के लिए, एक आकार को अपनी सतह के बिंदुओं को एक छवि के पिक्सेलों से मैप करने की आवश्यकता होती है। rect() और box() जैसे बिल्ट-इन आकारों में इन पाठ्यवस्तु मैपिंग्स को उनके शीर्षों के आधार पर पहले से मौजूद होता है। vertex() के साथ बनाए गए कस्टम आकारों के लिए, पाठ्यवस्तु मैपिंग्स को uv निर्देशांकों के रूप में पास की जानी चाहिए।
vertex() को प्रत्येक कॉल में 5 आर्गुमेंट होने चाहिए, जैसे vertex(x, y, z, u, v), ताकि (x, y, z) निर्देशांकों पर मौजूद शीर्ष को किसी छवि में (u, v) निर्देशांकों पर मौजूद पिक्सेल से मैप किया जा सके। उदाहरण के लिए, एक आयतकार छवि के कोनों को डिफ़ॉल्ट रूप से एक आयत के कोनों से मैप किया जाता है:
// 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>textureMode() यूवी निर्देशांकों के लिए निर्देशांक प्रणाली को बदलता है।
पैरामीटर mode दो संभावित स्थिरांकों को स्वीकार करता है। यदि NORMAL पास किया जाता है, जैसे textureMode(NORMAL), तो पाठ्यवस्तु के यूवी निर्देशांक छवि के आयामों के बजाय 0 से 1 के दायरे में प्रदान किए जा सकते हैं। यह अलग-अलग आकार की छवियों के लिए एक ही कोड का उपयोग करने में मदद कर सकता है। उदाहरण के लिए, ऊपर दिए गए कोड स्निपेट को निम्नानुसार पुनर्लिखित किया जा सकता है:
// Set the texture mode to use normalized coordinates.
textureMode(NORMAL);
<p>// Apply the image as a texture.
texture(img);</p>
<p>// Draw the rectangle.
beginShape();</p>
<p>// Top-left.
// u: 0, v: 0
vertex(0, 0, 0, 0, 0);</p>
<p>// Top-right.
// u: 1, v: 0
vertex(30, 0, 0, 1, 0);</p>
<p>// Bottom-right.
// u: 1, v: 1
vertex(30, 50, 0, 1, 1);</p>
<p>// Bottom-left.
// u: 0, v: 1
vertex(0, 50, 0, 0, 1);</p>
<p>endShape();
</p>डिफ़ॉल्ट रूप से, mode IMAGE है, जो छवि के आयामों के अनुसार यूवी निर्देशांक को मापता है। textureMode(IMAGE) को कॉल करने से डिफ़ॉल्ट लागू होता है।
ध्यान दें: textureMode() का उपयोग केवल WebGL मोड में किया जा सकता है।
उदाहरण
सिंटैक्स
textureMode(mode)
पैरामीटर्स
या तो छवि या सामान्य।