A comunidade brasileira de desenvolvimento e programação de jogos.
Engine

Visualizador de Molécula - Assembly OpenGL 

Autor: Beyond2000!
Visualizador de molécula em 3D, feito em Assembly usado pelo RosAsm. A idéia foi baseada em um GlScene para Delphi.

Apis usadas das seguintes bibliotecas dinâmicas:

  • glu32.dll
  • opengl32.dll
  • Gdi32.dll
  • Kernel32.dll
  • user32.dll


O programa tem ao todo 800 linhas de código, além de 21.945 linhas relativas à base de dados (Modelo: Indices, Vertices, Materiais, Normais, Texturas). Logo temos algo em torno de 23.000 linhas no máximo de programação divididas entre código e suas variáveis correspondentes.

Autor:
Beyond2000!

Ano: maio/06

Tempo de programação: 2 semanas. (de 05/05/06 até 18/05/06)
Assembler Utilizado: RosAsm
Não Contém áudio

Requisitos:
OpenGL
Windows2000 ou superior (Não testado no 95, 98, ME, NT4)

Uso do programa: Basta deszipar e rodar.

Funcionalidade do programa:
  • Pouco ocupa a memória apesar da quantidade de dados existentes e carregados. Ainda tem espaço pra diminuir mais.
  • Adicionado um pequeno Setup de inicialização.
  • Você pode optar pelo modo de resolução de sua tela (1024*768; 800*600; 640*480)
  • Você pode optar pelo padrão de cores (32 ou 16 Bits)
  • Adicionado item de efeitos da janela. Tela cheia, atrás do desktop, fadein e fade out.
  • Se optar pelo modo de background (atrás do desktop), o ActiveDeskTop precisa estar habilitado. Para fechar o aplicativo nesse modo, só pelo task manager. (Falta implantar um systray menu pra fechar o aplicativo nesse modo). E, se for usar o modo de background, aconselho usar a resolução 640*480, pra nao ficar tao lento.
  • Para sair do programa, aperte a Tecla Esc. (Só funciona se o backgroundmode nao estiver ativado, do contrário só pelo task manager)
  • Ao optar pelo modo de background, ative o seu ActiveDeskTop.

Caracteristicas do modelo:
  • 170 Objetos
  • 5165 Vertices
  • 185 Coordenadas de Textura
  • 744 Normais
  • 15680 Triângulos

Lista de funcionalidades para terminar:
  • Verificar o gerenciamento de memória das apis de OpenGL. O Consumo de 8 até 18% de um total de 256 é, pra mim, bastante excessivo)
  • Implementar o systray menu icon pra fechar o programa quando o modo de background estiver ativo
  • Corrigir o modo de FadeIn e fadeOut. (fadeIn não esta funcionando corretamente. Pra funcionar vc precisa maximizar ou minimizar a janela.
  • Colocar um pop-menu de configurações gerais, tanto no modo tela cheia como no normal, e adicionar cores, texturas, outros efeitos da janela.
  • Fumar mais um cigarro e tomar mais uma breja...afinal...eu mereço ;)



Atualização:
24/05/06

Notas do Autor:

Iniciei esse projeto como uma brincadeira após ter tido meu interesse em OpenGL reativado, e, após ter recebido a ajuda de certas funções apis de OpenGl em um tópico o qual solicitei ajuda. ( Veja o Tópico aqui. ) (Obrigado Stranger ;) )


No momento ele apenas visualiza e rotaciona livremente uma molécula (chamada de Circulene, se não me engano).

Estou analisando as funções de OpenGL, e vendo como usar texturas (bitmaps), e como mudar o brilho desse visualizador.

Dependendo do resultado, ampliarei o visualizador para carregar outros tipos de modelos.

O inicial é modelo do tipo pdb (protein data bank), pois é o mais simples de escanear e criar, posteiormente verei a possibilidade de fazer para 3DS, ou outros padrões.

Como ainda estou trabalhando no programa, não disponibilizei o código fonte ainda. Tão logo consiga melhorar a textura, e o brilho postarei o código.

O programa em si é minusculo (Mal atinge 6 ou 7 Kb a parte de código). Entretanto, como inseri o modelo junto da base de dados interna (ou seja, no proprio eecutavel) o tamanho final é o de 355 Kb. (quase 350 Kb so pelo modelo)

Se alguém tiver idéias sobre brilhos, texturas etc...por favor entre em contato, pra ficar mais fácil criá-las.

À propósito....não levem à mal a baixa qualidade, foi meu primeiro projeto em assembly com OpenGl ;)
  Cadastro: 18/05/2006
Atualização: 02/06/2009
Status: 100% concluído
Views: 1815

Arquivos 

Molecula somente fonte (24/05/2006 21:11)
Molecula com fonte interna (24/05/2006 21:10)

Imagens 

Visualizador de Molecula Atras do desktop com background

Desenvolvido e administrado por: Luiz Pestana (2004 - 2012)