| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 00:27:29
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Fiz um pequeno gerador de partículas usando o Java 2D:
http://www.pontov.com.br/files/outros/vinigodoy/particles/particles.html
Cliquem com o botão direito para trocar de demonstração.
E com o esquerdo para interagir com a demonstração.
Precisa do Java Web Start para rodar.
Aguardo comentários e sugestões.
This message was edited 2 times. Last update was at 08/12/2010 10:44:00
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 08:55:49
|
Naruffy
JavaEvangelist
![[Avatar]](/images/avatar/d74dc3f2679eee2fa69ddb9597b61258.jpg)
Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline
|
Ficou muito legal Vini, Parabens!
Principalmente o primeiro e o terceiro efeito,
Vou aguardar anciosamente o tutorial
[]s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 10:01:14
|
Rummenigge
Debugger
![[Avatar]](/images/avatar/2a6653ef87c951e948148f5bb14fde84.jpg)
Membro desde: 24/09/2010 15:18:47
Mensagens: 70
Offline
|
Ficou muito louco meu!!! massa mesmo!
Depois você posta o código fonte aê, hehe!
|
Rummenigge_New_Metal |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 10:39:55
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Rummenigge wrote:Ficou muito louco meu!!! massa mesmo! Depois você posta o código fonte aê, hehe!
Sim, como eu falei, depois vou postar uma série de artigos no Ponto V! explicando como o gerador funciona: a física por trás das partículas, os diferentes desenhos do gerador, a técnica de otimização da pintura, os padrões de projeto para torná-lo flexível, etc. Então, lógico, posto os fontes completos. Só não decidi ainda se farei isso em Java ou em C++ (linguagem onde desenvolvi esse gerador originalmente, usando a SDL_Gfx para o desenho das partículas). Se for em C++, provavelmente irei reescrever o mecanismo de pintura na OpenGL antes de postar. A vantagem é que com a OpenGL você pode fazer blending aditivo, e fazer partículas que brilhem mais quando estão juntas (ideal para partículas energéticas, como o fogo). No C++ uma das configurações do gerador também é o modelo de memória usado na alocação das partículas, coisa que o GC torna obsoleto em Java.
This message was edited 2 times. Last update was at 08/12/2010 10:43:03
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 10:47:23
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Realmente excelente, com essa otimização então nem se fala. E eu achei que o desenho no Java2D ficou mais legal do que o do SDL.
Se eu fosse voce, faria em Java
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 11:16:47
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Com a otimização deu para deixar a qualidade do desenho das partículas no máximo, com anti-aliasing, dithering, e tudo mais que temos direito.  O algorítmo de blending do Java 2D é bem melhor que o da SDL também. =)
This message was edited 1 time. Last update was at 08/12/2010 11:17:13
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 11:26:53
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
PS: Aguardo ansiosamente pelos artigos.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 11:48:28
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
Oi,
Parabéns! Melhor do que o aplicativo presente no Iphone 4
Apenas algumas observações:
Não sei se você queria fazer assim, mais quando eu seguro o botão direito em "Candle Flames" o fogo altera de posição (vento para direita/esquerda)... E quando eu seguro o botão direito em "Ring of Fire" o fogo se apaga.
Um detalhe, é que no meu pc (em determinados momentos (quando seguro o botão direito)) na imagem "Ring of Fire" o FPS cai e chega a dar uma travada ao passar para próxima imagem.
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 12:53:26
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Pergunta de leigo:
Reparei que, onde você faz efeito de fogo, você usa círculos. Mas isso me parece um tantinho artificial. Daria para fazer alguma coisa mais realista, tipo um losango que ia afinando até se tornar um ponto e, finalmente, apagar?
(Repare que eu sou bem leigo nessa parte de Java 2D).
[]´s
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 13:41:58
|
juliocbq
GUJ Expert
![[Avatar]](/images/avatar/153704bb24a28e9a6bb49e8ffde1492e.jpg)
Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline
|
Parabéns vini. Aquele nosso debate de ontem possibilitou um ganho enorme no desempenho do gerador de partículas. Quando li o seu email explicando o novo algoritmo achei a lógica sensacional. Mais uma vez mostrando que o bom software não está na linguagem e sim no domínio dos algoritmos. Precisa transformá-lo em artigo.
Parabéns mais uma vez.
|
www.citrox.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 14:51:59
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Do "Baralho" Vini!
Muuito bacana o negócio.
Um detalhe, é que no meu pc (em determinados momentos (quando seguro o botão direito)) na imagem "Ring of Fire" o FPS cai e chega a dar uma travada ao passar para próxima imagem.
Engraçado, aqui o FPS mínimo está em 90(P.V.: Geforce 310GS).
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 16:58:33
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
lina wrote:Não sei se você queria fazer assim, mais quando eu seguro o botão direito em "Candle Flames" o fogo altera de posição (vento para direita/esquerda)... E quando eu seguro o botão direito em "Ring of Fire" o fogo se apaga.
É isso mesmo. Na chama, quando vc clica, vc coloca vento sobre a chama. É como se vc "soprasse" ela. Quanto mais perto da chama, mais forte é o sopro.
No Anel de Fogo e na Cascata, eu desligo o emissor de partículas no clique do mouse.
E no Fireworks vc lança mais um foguete a cada clique.
asaudate wrote:Pergunta de leigo:
Reparei que, onde você faz efeito de fogo, você usa círculos. Mas isso me parece um tantinho artificial. Daria para fazer alguma coisa mais realista, tipo um losango que ia afinando até se tornar um ponto e, finalmente, apagar?
(Repare que eu sou bem leigo nessa parte de Java 2D).
Poderia sim. A biblioteca de partículas permite configurar o tamanho, forma, mudança de cor, transparência, forma do emissor e a física da partícula. Só que eu não perdi muito tempo para montar os demos.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|