www.programadoresdejogos.com

[P D J - Programadores e Desenvolvedores de Jogos]
Bem-vindo: Qua Set 08, 2010 8:18 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 7 mensagens ] 
Autor Mensagem
 Título: GL_TRIANGLES para texturas
MensagemEnviado: Sáb Fev 06, 2010 3:37 pm 
Offline
Iniciante PDJer
Iniciante PDJer
Avatar do usuário

Registrado em: Ter Jun 23, 2009 5:17 pm
Mensagens: 59
Sabendo que o polígono mais barato para ser desenhado é um triangulo, me daria mais performance imprimir meus sprites com triangulos ao invés de quadrados? Quando eu imprimir um simples tile 32x32 por exemplo, seria usado um triangulo (0,0)(1,0)(0,1) e outro (1,1)(1,0)(0,1).

Vale a pena trocar GL_QUADS por GL_TRIANGLES?


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sáb Fev 06, 2010 6:19 pm 
Offline
Colaborador PDJer
Colaborador PDJer
Avatar do usuário

Registrado em: Sex Jan 18, 2008 4:58 pm
Mensagens: 867
Localização: Brazil
Eu acho que não vale a pena, visto que o GL_QUADS são 2 triângulos, mas usa-se apenas 4 comandos de vertex para posicionado na tela.

Se realmente deseja perfomance, tem que usar ou extensões, ou começar a utilizar vertex_arrays.

http://www.songho.ca/opengl/gl_vertexarray.html

Esse artigo ai é meio confuso, pois é pra 3d, mas funciona se voce usar apenas para desenhar quadrados


Uma coisa que notei no Mdian, era que, apenas de verificar se a ultima textura é a mesma que irá desenhar, e se for, nao fazer o comando gl_bind novamente, ganhei 500 FPS.

Outro detalhe era que eu apenas fazia GL_begin e GL_End quando necessario(durante trocas de texturas).
era mais ou menos assim:
Código:
GL_Begin()

for each textures {
if(last_text != text){
  gl_end();
  gl_bind...
  gl_begin()
}
gl_vertex
gl_vertex
gl_vertex
gl_vertex
} // foreach

gl_end();


Era quase isso, nao tenho mais o code =/
talvez voce ache pedaços dele aqui:
viewtopic.php?t=12287

_________________
Procurando por artigos?
Imagem
http://www.desenvolvedoresonline.com

Imagem
http://www.renatocron.com/


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sáb Fev 06, 2010 10:46 pm 
Offline
Iniciante PDJer
Iniciante PDJer
Avatar do usuário

Registrado em: Ter Jun 23, 2009 5:17 pm
Mensagens: 59
Realmente rento, estou tirando todos glBindTexture deixando para ser rodado somente 1x no início, pois a textura vai ser uma só para todos tiles (pelo menos no início) e então vou fazendo clipping (estou implementando isso atualmente).

No meu projeto performance é primordial, se for atrapalhar eu realmente não posso implementar, por isso a busca por gastar menos processo.


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Dom Fev 07, 2010 12:26 am 
Offline
Colaborador PDJer
Colaborador PDJer
Avatar do usuário

Registrado em: Sex Jan 18, 2008 4:58 pm
Mensagens: 867
Localização: Brazil
Eu realmente possi dizer uqe hoje perfomance não é la tão grande coisas para jogos 2d.
Eu estava louco por perfomance numa epoca, que eu estava chegando aos 2700 e queria mais.
Hoje fico satisfeito com 700 (LOL)

_________________
Procurando por artigos?
Imagem
http://www.desenvolvedoresonline.com

Imagem
http://www.renatocron.com/


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Fev 09, 2010 2:39 pm 
Offline
Iniciante PDJer
Iniciante PDJer
Avatar do usuário

Registrado em: Ter Jun 23, 2009 5:17 pm
Mensagens: 59
Qdsuando vc diz 2700 vc se refere a que? FPS?


Voltar ao topo
 Perfil  
 
 Título: Re: GL_TRIANGLES para texturas
MensagemEnviado: Dom Abr 11, 2010 5:46 am 
Offline
Colaborador PDJer
Colaborador PDJer
Avatar do usuário

Registrado em: Sex Jan 18, 2008 4:58 pm
Mensagens: 867
Localização: Brazil
Concluindo o topico
é melhor usar o GL_QUADS
pois pelo menos voce estara fazendo "apenas" 6 comandos. Se voce reparar, o quadrado no proprio opengl é sim 2 triangulos.
Se voce for desenhar com GL_TRIANGLES vai ter que fazer 8 comandos.

O melhor mesmo e usar glDrawArrays, mas é 1 pouquinho mais chato!

_________________
Procurando por artigos?
Imagem
http://www.desenvolvedoresonline.com

Imagem
http://www.renatocron.com/


Voltar ao topo
 Perfil  
 
 Título: Re: GL_TRIANGLES para texturas
MensagemEnviado: Dom Abr 11, 2010 2:50 pm 
Offline
Administrador
Administrador
Avatar do usuário

Registrado em: Dom Jan 07, 2007 8:18 pm
Mensagens: 790
Localização: Curitiba
É o que eu vivia dizendo pro Rento. Pq vc quer chegar a 3000 FPS se o monitor, quando muito, só consegue exibir 100?

Mas realmente, várias coisas podem ser feitas para ganhar performance:
1. Desenhar todas as formas de texturas iguais de uma só vez;
2. Usar VertexArrays;
3. Fazer culling corretamente;
4. Evitar acender muitas luzes ao mesmo tempo;

_________________
Programa jogos de computadores?
http://www.pontov.com.br


Voltar ao topo
 Perfil  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 7 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Google [Bot] e 0 visitantes


Enviar mensagens: Proibido
Responder mensagens: Proibido
Editar mensagens: Proibido
Excluir mensagens: Proibido
Enviar anexos: Proibido

Procurar por:
Ir para:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB