Conectar-se
Quem está conectado
36 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 36 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 24/03/2010
Número de Mensagens : 1129
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 17

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://awesomewizards.deviantart.com/

Aplicação de Filtros

em Ter 02 Jul 2013, 13:09
Bom... Sabem aqueles filtros (shaders) que podem ser aplicados nos emuladores? Eu queria saber se é possível adicionar algum filtro ao gráfico em um jogo feito no Game Maker, e se possível saber como funciona, obrigado pela ajuda senhores õ/
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 26

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Aplicação de Filtros

em Ter 02 Jul 2013, 14:02


Você tem que, primeiro, entender a rasterização. O shader vem depois.

Todo elemento gráfico é - antes de se tornar visível no monitor - um conjunto de instruções (daí vem a enorme quantidade de formatos de gráficos, independente da sua natureza, seja 3D, vetor plano, etc...).

O processo de rasterização faz com que a instrução vire uma imagem pra nós, mas pra que isso aconteça, obviamente a imagem deve se transformar em pixels. Isso é rasterizar: tornar o que antes era instrução (cálculo) em imagem visual (pixel).

O shader é aplicado depois, quando a imagem já é um mapa de pixels. O que ele faz é alterar a forma como os pixels são mostrados na saída do processo de rasterização, por isso que é um processo maleável, pois não faz alteração na fonte da rasterização (que pode usar vários shaders em conjunto).

Os efeitos de shader mais modernos usam a placa de vídeo diretamente, mas eu já vi simulação de pixel shader escrito em Assembly e rodando lisinho em PCs velhos. O segredo do shader é pura matemática, mas a grande sacada dele é usar a GPU direto, por isso fica rápido.

O shader mais simples que eu já vi (e justamente o mais comum e antigo) é o blurriness (embaçamento). Não tem nada absurdo nele, ele só calcula uma média da cor entre um pixel qualquer e os demais que o circundam. Qualquer pessoa consegue programar um shader no GM, mas ficaria MUITO lento. Diferentemente desse exemplo abaixo, onde o criador usou a GM Library (acho que o nome é esse, não tenho certeza) pra criar o shader diretamente no canvas da janela.

http://gmc.yoyogames.com/index.php?showtopic=492876

O Kabeção usou essa mesma Lib pra criar um efeito de "troca de cores" varrendo os pixels da imagem. Pesquise no fórum e você achará.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Aplicação de Filtros

em Ter 02 Jul 2013, 18:50
brendan640, você não deve saber mas hoje teve um update do GMS com um sistema beta de shaders que funciona até mesmo para HTML5 e suporta GLSL e HLSL além de um compilador beta para finalmente livrar o GM do runner.
Agora vou ficar muitos dias brincando com isso. ;D

Eu sempre quiz a possibilidade de mudar as paletas como naqueles jogos de luta e por isso fiz aquela DLL. Mas agora parece que finalmente vou poder fazer isso de forma descomplicada e ainda com muitas outras possibilidades.

The Wizard, no Tech Blog da Yoyo Games tem um monte de artigos explicando o uso dos shaders no GMS.
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 26

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Aplicação de Filtros

em Qua 03 Jul 2013, 13:40

Acho que muita gente já esperava isso desde a versão 5 porque foi meio que uma "guinada" do GM pra sair do que era só DirectDraw (no GM4). O 6 já tinha uns recursos mais avançados de DirectX, mas eu nem sonharia com shaders (nem sei se a versão do DirectX 7 ou 8, na época, tinha isso).

Imagine tentar escrever um shader no braço... Em GML seria insano! Mas já que eles vão descartar o runner e realmente compilar, aí a coisa anda! Isso sim é uma notícia maravilhosa (pelo menos pra quem pretende mexer no Windows/Linux).

A outra parte boa é que os jogos vão ficar mais protegidos, também.

Mas é incrível que isso funcione até em HTML5! Quem imaginaria há uns 8 anos atrás ver uma linguagem de hipertexto fazendo essas maravilhas que fazem hoje? Se o cara não apelasse pro Flash, ficava empacado. Ou era Flash ou era nada.

E o Game Maker lá vai indo de vento em popa! Cool
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum