Como embrulhar a imagem em torno do cilindro em Silverlight
-
25-09-2019 - |
Pergunta
Estou tentando embrulhar a imagem em torno do cilindro em Silverlight. Eu parecia muito no Google, mas não encontrei nada. Como eu sei, isso pode ser feito com o Pixel Shader, mas não sei como.
É possível?
Obrigado.
Solução
Não é um envoltório completo no cilindro, mas você terá uma ideia/exemplo inicial:
(O código está no GLSL, não no HLSL, mas acho que não será difícil convertê -lo)
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);
}
A partir disso
você vai conseguir algo assim
Boa sorte
Outras dicas
Você pode querer experimentar o ZAM3D. Eu já usei versões de teste anteriormente e você pode obter a forma 3D e tentar definir o plano de fundo para uma imagem. Dê uma olhada e veja se isso ajuda.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow