5

में सिलेंडर के आसपास छवि को कैसे लपेटें मैं चांदी की रोशनी में सिलेंडर के चारों ओर लपेटने की कोशिश कर रहा हूं। मैंने Google में बहुत कुछ देखा लेकिन कुछ भी नहीं मिला। जैसा कि मुझे पता है कि यह पिक्सेल शेडर के साथ किया जा सकता है, लेकिन यह नहीं पता कि कैसे।
क्या यह संभव है?
धन्यवाद।सिल्वरलाइट

उत्तर

1

यह सिलेंडर पर एक पूरी चादर नहीं है, लेकिन आप एक आरंभिक विचार/उदाहरण मिल जाएगा:

(कोड, GLSL में है HLSL में नहीं है, लेकिन मुझे लगता है कि यह यह कन्वर्ट करने के लिए मुश्किल नहीं होगा)

uniform sampler2D tex; 

void main() 
{ 
vec2 cen = vec2(0.5,gl_TexCoord[0].y)-gl_TexCoord[0].xy; 
cen = vec2(pow(cen.x,1.7),pow(cen.y,2.2)); 
cen.y = 3.9*sin(1.8*gl_TexCoord[0].x-2.3); 
vec2 mcoord = 1.65*vec2(-0.22+gl_TexCoord[0].x,1.95+gl_TexCoord[0].y); 
gl_FragColor = texture2D(tex, mcoord+cen); 
} 
इस

alt text

से

आपको लगता है कि alt text

की तरह कुछ मिल जाएगा

शुभकामनाएं

+0

उत्तर के लिए धन्यवाद। मैं कोशिश करूँगा –

+0

मुझे पता है कि मुझे क्या चाहिए। यदि किसी को यहां एचएलएसएल की आवश्यकता है तो यह नमूना 2 डी इनपुट: रजिस्टर (एस 0); फ्लोट 4 मुख्य (फ्लोट 2 यूवी: टेक्स्टकोर्ड): रंग { \t फ्लोट 4 रंग = 0; \t \t float2 center = float2 (0.5, uv.x/2); \t केंद्र = float2 (पाउ (center.x, 1.7), पाउ (center.y, 2.2)); \t center.y = 3.9 * पाप (1.8 * uv.x - 2.3); \t float2 mcoord = 1.65 * float2 (-0.22 + uv.x, 1.95 + uv.y); \t uv.x = mcoord.x + center.x; \t uv.y = mcoord.y + center.y; \t रंग = tex2D (इनपुट, यूवी); \t वापसी (रंग); } इस लिंक के साथ आप कस्टम शेडर प्रभावों का उपयोग कैसे सीख सकते हैं: http://www.silverlight.net/learn/videos/all/pixel-effects/ –

+0

क्या हम इनपुट चर के साथ एक सामान्यीकृत शेडर प्राप्त कर सकते हैं? – foson

0

आप Zam3d को आजमा सकते हैं। मैंने पहले परीक्षण संस्करणों का उपयोग किया है, और आप 3 डी आकार प्राप्त कर सकते हैं और पृष्ठभूमि को पृष्ठभूमि में सेट और सेट कर सकते हैं। एक नज़र डालें और देखें कि क्या इससे मदद मिलती है।