Videos 3D com Windows Presentation Foundation

Publicado: 22/06/2006 em IntoSpaces

Há aproximadamente 1 mês eu procurava pela documentação e foruns afora como renderizar videos flutuantes com DirectX e o máximo que consegui foi como renderizar uma sequencia de imagens em uma superfície 3D.
Então o que teria que ser feito? Adentrar ao arquivo de video e pegar frame por frame e fazer com que fossem renderizados sequencialmente na velocidade correta. Uma trabalheira sem tamanho, mas e o som? Então, boa pergunta ehehehehe

Estes dias estudando um pouco sobre WPF encontrei uma solução para o meu problema e de maneira relativamente muito mais fácil e eficaz que a sugerida pelos artigos de DirectX.

O resultado é este acima, onde tenho três visualizações do mesmo video e a qualidade é perfeita. Tudo resolvido em um arquivo XAML de 6k.

Observando esta implementação podemos pensar mais sobre como fazer isto com o DirectX. O conceito utilizado é de ViewPorts, que são visualizações diferentes de um mesmo objeto. Lembram nos jogos de carro, onde uma câmera possibilita que visualizemos o retrovisor do carro enquanto corremos? Este é um ViewPort.
E a questão do som como poderia ser resolvida? Aparentemente o som esta acontecendo pela exibição de um video de maneira mais comum então damos um jeito de esconder o filme real e deixar apenas seu som e os nossos viewports flutuando…

Uma solução interessante, mas precisa ser muito refinada

Ficaram curiosos pra ver este exemplo funcionando não? Então peguem o arquivo

 XAML

Para testar com seus próprios videos alterem o elemento <MediaElement  Source="ng.mpg" /> passando para source o caminho físico ou a URL do video e pronto, você terá uma aplicação rica rodando dentro do seu Internet Explorer.

Vale lembrar que para visualizar documentos XAML é necessário ter instalado o Windows Vista Beta 2 ou Windows XP SP2 ou Windows Server 2003 e o WinFX Runtime Components

A conclusão que chegamos é que o WPF realmente traz uma evolução muito grande na maneira como desenvolvemos nossas aplicações e como a experiência do usuário está chegando a um nível superior. Basicamente teremos a interação e dinamismo que os jogos proporcionam, se usarmos com sabedoria temos um excelente caminho para conquistar mais clientes para nossas aplicações, que devem melhorar também😉

A fonte é do blog do Lester
http://blogs.msdn.com/llobo/archive/2006/05/30/611026.aspx

[]’s
Shinji

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s