cevap

1

Bu silindirin üzerine tam bir şal değil, ama bir başlangıç ​​fikri/örnek alacak:

(kod değil HLSL içinde, GLSL içindedir, ama ben dönüştürmek zor değil olacağını düşünüyorum)

Bu

alt text

itibaren

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); 
} 

o alt text

gibi bir şey alacak

İyi şanslar

+0

Cevabınız için teşekkürler. Bunu deneyeceğim. –

+0

Tam olarak neye ihtiyacım var. Herhangi biri HLSL'ye ihtiyaç duyarsa, burada sampler2D girişi: register (s0); float4 main (float2 uv: TEXCOORD): COLOR { \t float4 color = 0; \t float2 center = float2 (0.5, uv.x/2); \t center = float2 (pow (center.x, 1.7), pow (center.y, 2.2)); \t center.y = 3.9 * sin (1.8 x 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 color = tex2D (giriş, uv); \t dönüş (renk); } Bu bağlantı ile, özel gölgelendirici efektlerinin nasıl kullanılacağını öğrenebilirsiniz: http://www.silverlight.net/learn/videos/all/pixel-effects/ –

+0

Giriş değişkenleri ile genelleştirilmiş bir gölgelendirici alabilir miyiz? – foson

0

Zam3d'yi denemek isteyebilirsiniz. Daha önce deneme sürümlerini kullandım ve 3D şekli alabilir ve arka planı bir görüntüye ayarlayıp deneyebilirsiniz. Bir bak ve yardım edip edemeyeceğini gör.