GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Script] Embaçamento e nitidez

4 participantes

Ir para baixo

[Script] Embaçamento e nitidez Empty [Script] Embaçamento e nitidez

Mensagem por GameMakerTutoriais Qua 31 Jul 2013, 02:00




Efeitos de embaçamento e nitidez

[Script] Embaçamento e nitidez Antial10

Download link: http://the640kbworld.webng.com/gamemaker/gamemaker_blur_and_sharpen.zip


Fake blurriness

Na verdade, são dois scripts em um projeto. Essa não é uma técnica de embaçamento certa, mas é o que dá pra fazer no GML usando surfaces.

Blend modes não são necessários para o Blur porque ele é só um cálculo de média entre pixels adjacentes. Lá no 640kbw, postei o exemplo em Pascal, pixel a pixel, caso alguém queira pegar (Turbo Pascal).

No GM, usando surfaces fica fácil, porque dá pra tirar o cálculo da área inteira só usando alpha. Muito melhor do que pixel a pixel. Seria até mais fácil se o GM fosse um cara legal, mas sabe-se lá o porquê, o alpha dele é bizarro. Tive que usar uns blends pra fazer malabarismo com o alpha, mas acabou dando certo.


Fake shapen

Também não é o jeito certo, mas ficou até melhor do que eu esperava! O lance do sharpen é você tentar encontrar áreas com alto contraste entre pixels próximos. Com surface, é mamão com açúcar.

Quando você tem uma área onde um mesmo matiz e luminosidade predominam, isso se chama área contígua (tipo um céu sem nuvens, por exemplo). Sempre que, em áreas contíguas, há pontos adjacentes com alto valor de contraste, **pressupõe-se** que ali haja "algum contorno" da figura (também pus o fonte do Turbo Pascal no 640kbw).

São essas áreas de destaque que o sharpen realça. Usando blends, é fácil. Só que não é um sharpen real, é um fake bem enganador, mas dá pra brincar com isso. Esse é o efeito mais louco de todos, porque a partir dele, você faz outros duzentos só com experimentações.

[Script] Embaçamento e nitidez Mlscre10

Daqui a uns dias, vou postar um projeto open aí (aliás, antigo, mas eu consegui melhorar), cheio dos efeitos. Tem até um dithering tosco que eu consegui programar. É um editorzinho, mas vai ser legal porque, quem baixar, vai poder usar GML pra desenhar:

[Script] Embaçamento e nitidez Mlscre11
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Script] Embaçamento e nitidez Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Embaçamento e nitidez Empty Re: [Script] Embaçamento e nitidez

Mensagem por PedroX Ter 06 Ago 2013, 21:13

Ótimas contribuições. Gostei mais do de nitidez (por questão de gosto mesmo).

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6086
Prêmios : [Script] Embaçamento e nitidez Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

[Script] Embaçamento e nitidez Empty Re: [Script] Embaçamento e nitidez

Mensagem por Rodrigo Santiago Ter 06 Ago 2013, 21:40

Não entendo...você pode explicar como fez esse blur? O que você disse ficou vago.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Script] Embaçamento e nitidez Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Embaçamento e nitidez Empty Re: [Script] Embaçamento e nitidez

Mensagem por All-x Qua 07 Ago 2013, 10:52

Ótimo Brendan. Eu uso uma técnica diferente para o blur, apenas desenho a imagem com resolução menor e aumento a escala proporcionalmente ao tamanho original. Mas só funciona se a interpolação estiver ativada. Gambiarra, é nóis.

Muito bom, apesar de estar em Inglês.

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [Script] Embaçamento e nitidez Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[Script] Embaçamento e nitidez Empty Re: [Script] Embaçamento e nitidez

Mensagem por GameMakerTutoriais Ter 13 Ago 2013, 22:18



@Alex

Muito legal! É um artifício bem interessante, também. Aliás, é até mais cômodo de usar porque com certeza é mais rápido que o blur das surfaces.


@Rodrigo Santiago

Agora você me apertou. Eu vou tentar resumir...

brendan640 escreveu:Blend modes não são necessários para o Blur porque ele é só um cálculo de média entre pixels adjacentes.
Média de valores é o que a gente já sabe. Tirar a média é: somar todos os valores e dividir pela quantidade total de valores. Também sabemos que a cor é um valor e, pra tirar a média entre várias cores, nós vamos trabalhar com os componentes R, G e B de cada uma.

Quando somamos uma cor com outra (X + Y), o resultado (Z) do cálculo é:

"Z_Red = (X_Red + Y_Red)/2" (isso é pra Red, mas é a mesma coisa com Green e Blue).

brendan640 escreveu:No GM, usando surfaces fica fácil, porque dá pra tirar o cálculo da área inteira só usando alpha.
No Game Maker, você pode chegar a esse resultado sobrepondo o pixel X com Y usando alpha 0.5. Ou seja, quando você desenha um sprite A sobre B usando alpha 0.5, você está somando as cores da imagem A com B.

Se isso fosse feito pixel a pixel, teríamos que usar a função "merge_color". Por isso comentei que....

brendan640 escreveu:Muito melhor do que pixel a pixel.
O script vai sobrepondo a imagem da surface usando alpha 0.5 "dentro dela mesma" e sempre usando uma diferença de distância MAIOR que 1 pixel (se você observar, o primeiro argumento do script é justamente essa distância). No exemplo está 0.25 porque o processo é feito de 8 em 8 vezes e a cor acaba sofrendo perda.

Por exemplo... Vamos mesclar A com B, mas vamos mover a imagem B em: 1 pixel para a direita e 1 pixel para baixo..

Código:
Imagem A      Imagem B
[A][B][C]      [1][2][3]
[D][E][F]      [4][5][6]
[G][H][I]      [7][8][9]

Resultado:
[A][B][C]
[D][E + 1][F + 2][3]
[G][H + 4][I + 5][6]
[7][8][9]
Basicamente, ela vai "dando a volta" desse jeito e somando as cores com alpha. É isso que dá a impressão de "embaçado". Isso tudo é "tirar a média entre pixels adjacentes" com distância de "X" pixels (a "intensidade" do blurriness).

avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Script] Embaçamento e nitidez Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Embaçamento e nitidez Empty Re: [Script] Embaçamento e nitidez

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos