Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Gráficos 2D/3D  Criação de "Máscaras"
Anterior Anterior
 
Próximo Próximo
Nova Entrada 20/3/2009 23:46
  lucianoJose
195 tópicos
Iniciante


Re: Criação de "Máscaras" 
 lbmaker escreveu
Isso é o que eu temia, ter que criar as máscaras usando funções "pixel a pixel", mais já que é o único jeito vamos usar essa mesmo né...

só tem algumas auterações, pois como uso a cor rosa puro (255, 0, 255) como cor de fundo transparente, tem que fazer uma auteraçãozinha para quando for da cor rosa puro copiar ela, porque sinão cria uma mascara totalmente branca hehe... a auteração seria criar uma variavel maskColor para guardar a cor que será "ignorada" antes do loop :

Color maskColor;
maskColor = new Color(255, 0, 255, 255);

e dentro do loop só fazer um if para checar se a cor não é a cor da máscara :

                if (cor != maskColor)
                {
                    cor.R = 255;
                    cor.G = 255;
                    cor.B = 255;
                }

Bem, resolveu meu problema, mais se souberem de algum meio de criar isso sem ser "pixel a pixel" não esqueçam de avisar.


Até mais e valew...


Uma solução melhor que essa, seria você fazer todo esse processamento na GPU. Você pode montar um efeito parecido com este:

 
sampler samplerState;
 
struct PS_INPUT
{
      float2 TexCoord : TEXCOORD0;
};
 
float4 Flash(PS_INPUT Input) : COLOR0
{
      float4 color = tex2D(samplerState, Input.TexCoord.xy);
     
      color.rgb = 1;   
     
      return color;
}
 
technique Technique1
{
      pass P0
      {
            PixelShader = compile ps_1_1 Flash();
      }
}


O código HLSL acima obtém o mesmo resultado obtido que eu apresentei anteriormente com código C#. 

Pra usar isso no XNA vc tem que criar um "Effect File" no projeto "Content" daí copia e cola todo esse código lá no arquivo ".fx".

Tenta rodar isso no XNA, se você não conseguir, avisa ai que estamos por aqui.

abraços

@lucianoJoseBr My Blog: http://lucjose.wordpress.com
 
Nova Entrada 21/3/2009 0:49
  lbmaker
12 tópicos
10th Level Poster


Re: Criação de "Máscaras" 
Interessante cara, eu vi alguns exemplos como este para blur e grayscale, mais não sabia como usar, se puder ensinar como instalar esse código passo a passo e como usar tambem, eu queria tipo um modo de usar esse flash mais que eu pudesse auterar o "alpha" dessa mascara gradualmente para fazer um efeito mais realista.

Desculpe se estou sendo chato mais é que eu não conheço nada desses efeitos se puder me ajudar, muito obrigado.

Até mais...
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Gráficos 2D/3D  Criação de "Máscaras"
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso