سؤال

أحاول التفاف صورة حول الاسطوانة في Silverlight. نظرت كثيرًا في Google لكن لم أجد شيئًا. كما أعلم أنه يمكن القيام به باستخدام Pixel Shader ، لكن لا أعرف كيف.
هل هو ممكن؟
شكرًا.

هل كانت مفيدة؟

المحلول

إنه ليس غلافًا كاملاً على الأسطوانة ، لكنك ستحصل على فكرة/مثال:

(الكود في 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

حظا طيبا وفقك الله

نصائح أخرى

قد ترغب في تجربة ZAM3D. لقد استخدمت إصدارات تجريبية سابقًا ، ويمكنك الحصول على الشكل ثلاثي الأبعاد ومحاولة ضبط الخلفية على صورة. إلقاء نظرة ومعرفة ما إذا كان ذلك يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top