Próbuję oblewać obraz wokół cylindra w silverlight. Dużo wyglądałem w Google, ale niczego nie znalazłem. Jak wiem, można to zrobić za pomocą cieniowania pikseli, ale nie wiem jak.
Czy to możliwe?
Dzięki.Jak oblewać obraz wokół cylindra w Silverlight
5
A
Odpowiedz
1
To nie jest kompletna okład na cylindrze, ale dostaniesz początkowy pomysł/example:
(Kod jest w GLSL, a nie w HLSL, ale myślę, że będzie to nie trudno go przekonwertować)
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);
}
Od tego
dostaniesz coś takiego
Powodzenia
0
Możesz chcieć wypróbować Zam3d. Używałem wcześniej wersji próbnych i możesz uzyskać kształt 3D i spróbować ustawić tło dla obrazu. Zobacz, czy to pomaga.
Powiązane problemy
- 1. Jak mogę pobrać RMagick do zawijania obrazów wokół cylindra?
- 2. Jak ładować obraz zasobów png w Silverlight?
- 3. Jak mogę niezawodnie obracać obraz wokół punktu?
- 4. wpf obracać obraz wokół centrum
- 5. Android, Jak mogę obrócić strzałkę (obraz) wokół ustalonego punktu?
- 6. Interpolacja powierzchni cylindra 3D w Matlab
- 7. Generowanie losowych punktów na powierzchni cylindra
- 8. Jak ustawić Image.Source w Silverlight (Code behind)
- 9. Jak narysować ciąg bitmap w Silverlight?
- 10. Python OpenCV obraca obraz o X stopni wokół określonego punktu
- 11. Animate Margin Change w Silverlight
- 12. Biała przestrzeń wokół obrazu
- 13. Jak pozbyć się dodatkowej marży wokół przycisku?
- 14. Jak zmniejszyć wewnętrzne wypełnienie wokół tekstu w obiekcie przycisku Android?
- 15. Jak usunąć obramowanie wokół obrazu w css?
- 16. Jak zawijać tekst wokół komponentów w JTextPane?
- 17. Jak obrócić w CSS3 wokół początku?
- 18. Jak narysować wielokąt wokół polilinii w JavaScript?
- 19. MVVM (ICommand) w Silverlight
- 20. Jak usunąć pustą przestrzeń wokół obrazu w systemie Android?
- 21. Wiązanie płótna w silverlight
- 22. Obrazy niewyświetlane w silverlight po uruchomieniu aplikacji
- 23. Jak dodać dopełnienie wokół WebView
- 24. Jak obracać sprite wokół stawu
- 25. Zastosuj obrót do cylindra na podstawie końcówki rury Normalny
- 26. Wrap div wokół obrazu
- 27. Jak dodać obramowanie wokół TableLayout?
- 28. Jak narysować obramowanie wokół UILabel?
- 29. Jak wykonać ☆ obrót wokół środka?
- 30. Jak zapisać obraz jako obraz?
Dzięki za odpowiedź. Spróbuję tego. –
Wszystko, czego potrzebuję. Jeśli ktokolwiek potrzebuje HLSL, to jest to wejście sampler2D: register (s0); float4 main (float2 uv: TEXCOORD): COLOR { \t float4 color = 0; \t \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 * 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 (input, uv); \t powrót (kolor); } Za pomocą tego linku można się nauczyć obsługi niestandardowych efektów cieniowania: http://www.silverlight.net/learn/videos/all/pixel-effects/ –
Czy możemy uzyskać uogólniony shader ze zmiennymi wejściowymi? – foson