A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Ter Out 27, 2020 3:35 pm

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




Criar novo tópico Responder  [ 2 mensagens ] 
Autor Mensagem
 Título: Pixels e coordenadas cartesianas
MensagemEnviado: Seg Set 29, 2008 1:53 pm 
Offline
Membro novo

Registrado em: Seg Set 29, 2008 1:48 pm
Mensagens: 1
Olá pessoal da gamedev!!!

Tenho algumas dúvidas que compartilho com todos agora...
Por exemplo:

Utilizado a função glTranslatef(x1, y1, z1) consigo colocar um objeto na posição x1 = 0, y1 = 0 e z1 = 0 e depois outro objeto glTranslatef(x2, y2, z2) na posição x2 = 1, y2 = 0 e z2 = 0 entre eles, como medir a quantidade de pixels ?

Pergunto isso, pois imagine que entre estes dois objetos em x2 e x1 a diferença seja de 10 pixels. Suponha que tenho que movimentar o objeto em x1 até x2 com o mouse...
Cada pixel corresponde a 0,1 em coordenadas cartesianas. Então se movo 10 pixels com o mouse - > 0,1 * 10 = 1 Isso da a posição em x2 que desejo chegar.
Então para qualquer movimento é só montar uma relação simples:

1 pixels < - > 0,1
pixels_mouse < - > cood cart

Por esta relação consigo obter o meu movimento. Claro que antes tenho que setar meu pixels_mouse no centro fazendo:

pixels_mouse = pos_atual – width/2;

Com isto consigo centralizar na origem minhas coordenadas provenientes do mouse e usar na relação acima...

Agora, se mudo meu z1 e z2 para qualquer valor a relação pixel/eixo cartesiano muda... Pois o openGL muda automaticamente essa relação quando se muda o z ou quando por exemplo quando a tela é redimensionada...
Então como saber quanto corresponde a cada movimento do mouse a minha coordenada cartesiana para passar para a função glTranslatef? Pois desejo obter o mesmo resultado, saindo de x1 = 0 e chegando em x2 = 1 com o movimento do mouse...

Obrigado pela atenção de todos!!!


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Ago 10, 2010 10:45 pm 
Offline
Membro novo

Registrado em: Ter Ago 10, 2010 9:59 pm
Mensagens: 5
Localização: Itajaí, SC
usa a função gluOrtho2D*() e cada pixel vai ficar como 1 na cartesiana

_________________
Programe...


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

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


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante


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

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