एक वीडियो उस दुनिया की शुरुआत हो सकता है जिसे तुम बदल सकते हो। किसी कोडिंग एजेंट को एक रेफरेंस दो, उसे फ्रेम्स का अध्ययन करने दो, और उससे कहो कि वह उस सीन को प्रोसीजरल कोड के रूप में फिर से बनाए। फिर कैमरा, लाइटिंग, मटेरियल्स या मोशन बदलो और उसे दोबारा रेंडर करो।
Video 2 GLSL के पीछे यही विचार है — यह रेफरेंस-टू-शेडर वर्कफ़्लो है जिसे मैं shader-skills के इर्द-गिर्द विकसित कर रहा हूँ। दिलचस्प बात यह है कि इस प्रक्रिया का कितना हिस्सा अगले वीडियो के लिए भी काम आ सकता है।
https://x.com/gokayfem/status/2111907592129671505
दो हिस्से जो साथ मिलकर काम करते हैं
shader-skills कोडिंग एजेंट्स को ग्राफ़िक्स तकनीकों की एक लाइब्रेरी, काम करने वाले उदाहरण, और प्रोसीजरल शेडर्स बनाने व जाँचने की एक प्रक्रिया देता है। Video 2 GLSL इसमें एक रेफरेंस-आधारित टास्क जोड़ता है: किसी क्लिप का अध्ययन करो, उसका स्पेसिफिकेशन निकालो, सीन तैयार करो, और फिर परिणाम की तुलना उस क्लिप से करो।
यह स्किल Claude Code, Codex, Cursor, Gemini और अन्य कोडिंग एजेंट्स को सपोर्ट करती है। इसके दोबारा इस्तेमाल होने वाले हिस्से शेप्स, नॉइज़, मटेरियल्स, टेरेन, बिल्डिंग्स, पानी, बादल, लाइटिंग और रंग को कवर करते हैं। तुम इनका इस्तेमाल किसी ओरिजिनल सीन, इंटरैक्टिव प्रयोग या वीडियो रीक्रिएशन के लिए कर सकते हो।
स्टैंडअलोन Video 2 GLSL टार्गेट के लिए, आउटपुट एक सिंगल Shadertoy-कम्पैटिबल फ्रैगमेंट शेडर होता है। ज्यामिति (geometry) को गणितीय रूप से बताया जाता है, सरफेस प्रोसीजरल होते हैं, और एनिमेशन समय द्वारा नियंत्रित होता है। रेफरेंस वीडियो विज़ुअल स्पेसिफिकेशन देता है; इसके फ्रेम्स शेडर के अंदर प्लेबैक नहीं होते।



वीडियो को स्पेसिफिकेशन में बदलकर शुरुआत करो
पहला कदम है भरोसेमंद फ्रेम एक्सट्रैक्शन। कोई वीडियो URL या फाइलनेम एजेंट को काम करने के लिए बहुत कम जानकारी देता है। उसे यह देखने की ज़रूरत होती है कि असल में क्या दिख रहा है और समय के साथ यह कैसे बदल रहा है।
यह रीयूज़ेबल प्रॉम्प्ट सीन कोड से पहले एक REFERENCE.md माँगता है: क्लिप के तथ्य, शॉट टाइमलाइन, ऑब्जेक्ट इन्वेंट्री, सब्जेक्ट के अनुपात, मोशन, कैमरा फ़्रेमिंग, लाइटिंग और सैंपल किया गया पैलेट। यह एजेंट से यह भी कहता है कि वह पहचाने कि वह क्या कुछ बिल्कुल वैसा नहीं बना सकता और अप्रूवल के लिए विकल्प सुझाए।
ये अवलोकन क्लिप के हिसाब से बदलते हैं। किसी कैरेक्टर शॉट को कॉन्टैक्ट पॉइंट्स, चाल (stride) और सेकेंडरी मोशन की ज़रूरत होती है। किसी आर्किटेक्चरल शॉट को अनुपात, परस्पेक्टिव और कैमरा ट्रैवल की ज़रूरत होती है। पानी के शॉट को सरफेस मूवमेंट, रिफ्लेक्शन्स और गहराई पर ध्यान देने की ज़रूरत होती है। यही ब्रेकडाउन प्रक्रिया हर एक को एक ठोस शुरुआती बिंदु देती है।
एजेंट को टेस्ट किए गए ग्राफ़िक्स बिल्डिंग ब्लॉक्स दो
देखने में सही लगने वाला फ़ॉर्मूला भी असुरक्षित डिस्टेंस फील्ड, अस्थिर नॉइज़ या गलत रंग पैदा कर सकता है। जब ये गलतियाँ किसी बड़े सीन के अंदर आ जाती हैं, तो इन्हें अलग करके ढूँढना और भी मुश्किल हो जाता है।
shader-skills में अभी 20 GLSL मॉड्यूल्स में 186 फंक्शन्स शामिल हैं। एजेंट किसी तकनीक को सर्च कर सकता है, लाइब्रेरी फंक्शन को नाम से कॉल कर सकता है, और बंडलर का इस्तेमाल करके उसकी डिपेंडेंसीज़ को एक सेल्फ-कंटेन्ड शेडर में शामिल कर सकता है।
इस लाइब्रेरी में शेप्स के लिए साइन्ड डिस्टेंस फंक्शन्स, उन्हें जोड़ने वाले ऑपरेटर्स, प्रोसीजरल नॉइज़ और पैटर्न्स, रेमार्चिंग हेल्पर्स, शेडिंग, एटमॉस्फियर और कलर ट्रांसफ़ॉर्म्स शामिल हैं। टेम्प्लेट्स दिखाते हैं कि पूरे सीन्स में ये हिस्से एक साथ कैसे काम करते हैं।
वैलिडेशन WebGL2 में कंपाइलेशन और GPU पर न्यूमेरिकल गुणों को कवर करता है: डिस्टेंस-फील्ड साइन्स और बाउंड्स, नॉइज़ डेरिवेटिव्स, कलर राउंड ट्रिप्स और अन्य चेक होने वाले व्यवहार। रेंडर किए गए उदाहरण एक विज़ुअल चेक जोड़ते हैं। ये जाँचें हिस्सों को अधिक भरोसेमंद बनाती हैं; फिर भी अंतिम सीन की जाँच ज़रूरी है।

रेंडरर के इर्द-गिर्द एक फीडबैक लूप बनाओ
यह वर्कफ़्लो ब्लॉकआउट और टाइमिंग, मोशन, सब्जेक्ट डिटेल, एनवायरनमेंट डिटेल, लाइट और रंग, रेफरेंस मैचिंग, और परफॉर्मेंस से होकर आगे बढ़ता है। हर माइलस्टोन कुछ ऐसा तैयार करता है जिसे देखकर परखा जा सके।
रेफरेंस और रेंडर की तुलना एक ही समय और फ़्रेमिंग पर होनी चाहिए। कंपोज़िशन के लिए पूरे फ्रेम्स, ऑब्जेक्ट शेप और मटेरियल्स के लिए क्रॉप्स, और मोशन के लिए फ्रेम सीक्वेंस का इस्तेमाल करो। एक आकर्षक स्टिल इमेज फिसलते पैरों, कैमरा जंप या बहुत जल्दी होने वाली किसी इंटरैक्शन को छिपा सकती है।
प्रॉम्प्ट बार-बार समीक्षा करने को कहता है: पाँच सबसे बड़े अंतर पहचानो, उन्हें ठीक करो, और दोबारा रेंडर करो। माप (measurements) इस समीक्षा में मदद करते हैं। सब्जेक्ट का आकार और होराइज़न की स्थिति कैमरा की गलतियों का पता लगाने में मदद करती है; सैंपल किए गए रंग ग्रेडिंग की समस्या ढूँढने में मदद करते हैं; मोशन प्रोब्स असंततताओं (discontinuities) को खोजने में मदद करते हैं।
यहाँ तेज़ इटरेशन मायने रखता है। लो-रेज़ोल्यूशन प्रीव्यू और अलग किए गए ऑब्जेक्ट व्यूज़ तुम्हें महँगे रेंडर्स में जाने से पहले अनुपात सुधारने देते हैं। मटेरियल्स और लाइटिंग को निखारने से पहले सिल्हूट्स और ऑब्जेक्ट अनुपातों की जाँच करो।

जटिल सीन्स को ज़िम्मेदारियों के हिसाब से बाँटो
बड़े सीन्स में कई एजेंट्स अलग-अलग हिस्सों पर काम करें तो फायदा होता है: सब्जेक्ट, एनवायरनमेंट, प्रॉप्स, मोशन या लाइटिंग। यह बँटवारा सीन की ज़रूरतों के अनुसार होना चाहिए।
शेयर्ड इंटरफेस इस काम को आपस में संगत रखते हैं। स्केल, कोऑर्डिनेट्स, टाइमिंग और मटेरियल आइडेंटिफायर्स पर सहमति बनाओ, हर एजेंट को उसकी फाइल्स की ज़िम्मेदारी दो, और असली रेंडर्स से सबूत माँगो। कोई ऑर्केस्ट्रेटर इन हिस्सों को जोड़ सकता है और संयुक्त इमेज की तुलना रेफरेंस से करके उसे परख सकता है।
यहाँ सीखने वाली बात रिव्यू स्ट्रक्चर है: किसी को पूरे शॉट का मूल्यांकन करना ही होगा। एक विस्तृत बिल्डिंग या विश्वसनीय कैरेक्टर भी कंपोज़िशन के हिसाब से गलत हो सकता है।
ये प्रयोग क्या साबित करते हैं
अभी तक के काम में बदलती एक्शन्स वाला एक फ्लोटिंग-आइलैंड सीक्वेंस, इंटरैक्शन्स वाला एक विलेज सीक्वेंस, और एक अनंत स्ट्रीट लूप शामिल है। इनकी ज़रूरतें अलग-अलग हैं: इवेंट टाइमिंग, प्लांटेड कॉन्टैक्ट्स, कैमरा ट्रांज़िशन्स और सटीक पुनरावृत्ति — हर एक के लिए अलग सीन लॉजिक चाहिए। इनका पूरा होना और विज़ुअल क्वालिटी भी अलग-अलग है।
इन सभी में एक ही प्रक्रिया उपयोगी बनी रहती है: निकालो, मापो, जोड़ो, रेंडर करो, तुलना करो और सुधारो। इस रेपो में प्रोसीजरल सिटी, टेरेन और वॉटर के उदाहरण भी हैं, जबकि अलग इंटरैक्टिव प्रयोग ऑर्गेनिक फॉर्म्स और ब्लैक-होल इमेजरी की खोज करते हैं।
क्या एडिटेबल बनता है और क्या अनिश्चित रहता है
एक बार जब कोई सीन कोड के रूप में मौजूद हो जाता है, तो तुम कैमरा पोज़िशन, लाइट डायरेक्शन, पैलेट, टाइमिंग और प्रोसीजरल डिटेल के लिए कंट्रोल्स उपलब्ध करा सकते हो। स्ट्रीट प्रयोग ने उसी बने हुए सेट से अलग-अलग कैमरा व्यूज़ दिखाए।
ये नए व्यूज़ रिकंस्ट्रक्शन की सीमाएँ भी दिखाते हैं। कोई रेफरेंस दुनिया का सिर्फ एक हिस्सा दिखाता है। छिपी हुई सतहों का अनुमान लगाना पड़ता है, और AI-जनित वीडियो में बदलती ज्यामिति या असंगत मोशन हो सकता है। एक कोण से सटीक मिलान पूरी तरह सही और पूर्ण सीन की गारंटी नहीं देता।
परफॉर्मेंस एक और सीन-विशिष्ट परिणाम है। विस्तृत रेमार्च्ड ज्यामिति, वनस्पति, छायाएँ और रिफ्लेक्शन्स भारी पड़ सकते हैं। टार्गेट मशीन पर फ्रेम टाइम मापो, शॉट के अलग-अलग क्षणों की जाँच करो, और बाकी विज़ुअल अंतरों के साथ-साथ छूटे हुए लक्ष्यों की रिपोर्ट दो।
Video 2 GLSL एक रीयूज़ेबल ऑथरिंग वर्कफ़्लो है। किसी भी तरह की फुटेज पर इसकी विश्वसनीयता का अभी व्यापक मूल्यांकन होना बाकी है। मौजूदा काम हमें कई ठोस प्रयोग और सुधार के लिए एक साझा तरीका देता है।

अपने खुद के रेफरेंस के साथ इसे आज़माओ
Claude Code के लिए, मार्केटप्लेस जोड़ो और प्लगइन इंस्टॉल करो:
claude plugin marketplace add gokayfem/shader-skills
claude plugin install shader-skills@shader-skills
अन्य सपोर्टेड एजेंट्स के लिए:
npx skills add gokayfem/shader-skills
prompts/video-to-shader-prompt.md का इस्तेमाल करो, एक रेफरेंस क्लिप, आउटपुट नाम और टार्गेट मशीन बताओ, और निर्दिष्ट करो कि क्या बना रहना चाहिए या क्या छोड़ा जा सकता है। इम्प्लीमेंटेशन शुरू होने से पहले ब्रेकडाउन की समीक्षा करो।
मैं इसे विज़ुअल रेफरेंस को एडिटेबल प्रोसीजरल सीन्स में बदलने के एक भरोसेमंद तरीके की तरफ लगातार आगे बढ़ाना चाहता हूँ। हर रिकंस्ट्रक्शन को अपने पीछे बेहतर टूल्स, बेहतर टेस्ट्स और ऐसी तकनीकें छोड़नी चाहिए जिनका अगला प्रयोग फिर से इस्तेमाल कर सके।
रिपॉजिटरी: github.com/gokayfem/shader-skills





