गेड एवं पिक्सेल शेडरों को लोड करके एक p5.Shader ऑब्जेक्ट बनाता है।
शेडर वह प्रोग्राम हैं जो ग्राफ़िक्स प्रोसेसिंग यूनिट (GPU) पर चलते हैं। वे एक ही समय में कई पिक्सेल प्रोसेस कर सकते हैं, जिससे वे कई ग्राफ़िक कार्यों के लिए तेज हो जाते हैं। वे GLSL नामक भाषा में लिखे जाते हैं और स्केच में शेष कोड के साथ चलते हैं।
एक बार p5.Shader ऑब्जेक्ट बना लिया गया, तो इसका उपयोग shader() फ़ंक्शन के साथ किया जा सकता है, जैसे shader(myShader)। एक शेडर प्रोग्राम दो फ़ाइलों से बना होता है, एक गेड शेडर और एक पिक्सेल शेडर। गेड शेडर स्क्रीन पर 3D ज्यामिति के रेंडरिंग को प्रभावित करता है और पिक्सेल शेडर रंग को प्रभावित करता है।
loadShader() .vert और .frag फ़ाइलों से गेड और पिक्सेल शेडर लोड करता है। उदाहरण के लिए, loadShader('/assets/shader.vert', '/assets/shader.frag') कॉल करना दोनों आवश्यक शेडर लोड करता है और एक p5.Shader ऑब्जेक्ट लौटाता है।
तीसरा पैरामीटर, successCallback, वैकल्पिक है। यदि कोई फ़ंक्शन पास किया जाता है, तो शेडर लोड होने के बाद इसे कॉल किया जाएगा। कॉलबैक फ़ंक्शन नए p5.Shader ऑब्जेक्ट का उपयोग कर सकता है।
चौथा पैरामीटर, failureCallback, भी वैकल्पिक है। यदि कोई फ़ंक्शन पास किया जाता है, तो यदि शेडर लोड करना असफल हो जाता है तो इसे कॉल किया जाएगा। कॉलबैक फ़ंक्शन त्रुटि इवेंट का उपयोग कर सकता है।
शेडर लोड करने में समय लग सकता है। preload() में loadShader() कॉल करने से यह सुनिश्चित हो जाता है कि शेडर setup() या draw() में उपयोग किए जाने से पहले लोड हो जाएं।
नोट: शेडर केवल WebGL मोड में ही उपयोग किए जा सकते हैं।
उदाहरण
सिंटैक्स
loadShader(vertFilename, fragFilename, [successCallback], [failureCallback])
पैरामीटर्स
लोड किए जाने वाले वर्टेक्स शेडर का पथ।
लोड किए जाने वाले फ़्रैगमेंट शेडर का पथ।
शेडर लोड होने के बाद कॉल करने का फ़ंक्शन। p5.Shader ऑब्जेक्ट को पास किया जा सकता है।
यदि शेडर लोड होने में विफल रहता है तो कॉल करने का कार्य। एक Error ईवेंट ऑब्जेक्ट पारित किया जा सकता है।