sábado, 3 de julho de 2010

Novo OpenGL 4.0 promete briga com DirectX 11

Há alguns anos, a disputa de melhor API (biblioteca de funções específicas para a criação e desenvolvimento de aplicativos) ficava entre OpenGL, Direct3D e Glide.

O Glide já foi dos mais utilizados, mas era uma tecnologia que se restringia às placas da extinta 3DFX. Já o Direct3D (do DirectX) é compatível somente com o Windows. Aí é que fica a maior vantagem do OpenGL: ele é multiplataforma.

Até os Macs da Apple utilizam como tecnologia de processamento de gráficos 3D o OpenGL. Mesmo assim, este nunca foi capaz de superar o DirectX em qualidade e capacidade de processamento gráfico mas, desta vez, promete bater de frente com a tecnologia da Microsoft.

O Open GL 4.0 foi anunciado pelo Khronos Group no dia 11 de março de 2010 e traz como promessas uma aceleração significante no processamento de gráficos com qualidade e altíssima flexibilidade. A intenção, além da aprimoração da tecnologia, é permitir cada vez mais funcionalidades através de várias plataformas e sistemas operacionais.

  • Suporte para "tesselation"

“Tessellation” é uma técnica utilizada para reduzir imperfeições em imagens 3D. Ela é altamente utilizada em filmes de animação, como "Procurando Nemo". O funcionamento dela é relativamente simples: os gráficos 3D são feitos de polígonos e consistem em vários triângulos.

O que o “tessellation” faz é permitir o uso de mais polígonos na composição dos gráficos, de maneira que a imagem fique o mais perfeita possível. A tecnologia é realmente nova, pois só agora o hardware é capaz de suportar tal processamento.

E o que era um destaque do DirectX 11 passa a ser também um ponto bastante positivo do novo OpenGL 4.0. Isso porque dois novos estágios de “shaders” permitem agora o descarregamento do “tessellation” direto do processamento do PC para o gráfico. Ou seja, desafoga o processamento do computador e o suporte para a tecnologia melhora. Veja abaixo um exemplo de "tessellation" no DirectX11.


  • Compatibilidade OpenCL

Desenvolvida no início pela Apple, o OpenCL é um padrão para várias plataformas e permite programações paralelas, estendendo o uso do processamento de vídeo para outras funções. Isso permite que o processador principal do computador seja desafogado e o processamento gráfico cuide de outros tipos de execuções, não exclusivamente de vídeo.

Essa aceleração proporcionada pelo OpenCL é usada também no OpenGL 4.0, o que permite mais velocidade no processamento de todo tipo de informação.

  • Variantes  
A nova versão elimina várias diferenças do desenvolvimento de jogos para computador e dispositivos móveis, unificando mais o processo e criando compatibilidade. Isso permite que um dispositivo "converse" com o outro.


Assim, por ser multiplataforma, a atualização para a versão 4.0 acaba por afetar também outras tecnologias que derivam do OpenGL, como é o caso do OpenGL ES, além de tecnologias como o iPhone. O WebGL, para desenvolvimento de aplicações web, também é afetado em questão de melhorias e flexibilidade.


  •  OpenGL 4.0 vs DirectX 11
Como é possível uma batalha entre os dois? Muito simples: o OpenGL não era capaz de desempenhar uma série de funções que o DirectX trazia há tempos, nem com novidades (o “tessellation”, por exemplo). Agora, a tecnologia é capaz de bater de frente, pois apresenta benefícios muito semelhantes.



Em questão de superioridade, o OpenGL oferece  vantagens em relação ao DirectX. Como o processamento na versão 4.0 melhorou significativamente, a flexibilidade de desenvolvimento para várias plataformas acaba por ser uma vantagem ainda maior. Isso porque já era possível fazer isso antes, mas não com a potência do DirectX.

E, caso a Apple implemente para valer o OpenGL 4.0, quem sabe os Macs finalmente se tornem também uma plataforma de jogos de sucesso — isso acabaria com essa que é uma das maiores vantagens de se ter um PC do que um computador da marca da maçã.

  • Qualidade OpenGl e DirectX
Deixo aqui uma uma questão para você pensar. Qual possuo maior qualidade de gráficos? Playstation 3 ou Xbox 360? Com essa resposta você consegue responder a pergunta "Qual possue maior qualidade? OpenGL ou DirectX?"

Você pode ler mais sobre aqui.

Fonte: Baixaki

Ausência

Peço desculpa a todos por esses dias que estive ausente.

Tive vários compromissos e por isso não consegui separar um tempinho para poder deixar o blog em dia. Amanha estarei fazendo isso, colocando noticias e alguns tutorias!!

[]'s

terça-feira, 29 de junho de 2010

Tradução

Olá pessoal!

Estou traduzindo o livro Introduction to 3D Game Programming with DirectX 9.0,
tenho cerca de 80 páginas já traduzida, porém é nescessário uma revisão tanto gramatical quanto técnica,
e estou sem tempo para tal.
Se você tiver interesse em ajudar comente deixando seu contato.

[]'s

domingo, 27 de junho de 2010

Apostila Android

Vou deixar aqui uma Apostila muito interessante e de fácil aprendizagem.
Através dela que consegui pegar o básico do Android.
Feita pelo meu amigo Luciano, ela aborda vários assuntos e ensina a fazer vários aplicativos simples, mais que usam a maioria dos conceitos básicos nescessários.

Download aqui!

E também deixo o blog dele, para quem quiser acompanhá-lo também! (Recomendo)
http://lucianopascal.wordpress.com/

[]'s

quarta-feira, 23 de junho de 2010

HelloWorld - Android

Neste tutorial, iremos aprender a fazer um simples HelloWorld, para familiarizar-mos com o ambiente de desenvolvimento para Android e sua linguagem. Lembrando que levarei em conta que você já saiba pelo menos o básico de Java. Mas antes veremos suas principais bibliotecas:

  • Bibliotecas:
System C library  – uma implementação derivada da biblioteca C padrão
sistema (libc) do BSD sintonizada para dispositivos rodando Linux.
 
Media Libraries – baseado no PacketVideo’s OpenCORE; as bibliotecas
suportam os mais populares formatos de áudio e vídeo, bem como imagens
estáticas.
 
- Surface Manager – gere o acesso ao subsistema de exibição bem como as
múltiplas camadas de aplicações 2D e 3D;
 
- LibWebCore – um web browser engine utilizado tanto no Android Browser
quanto para exibições web.
 
SGL – o engine de gráficos 2D
3D libraries – uma implementação baseada no OpenGL ES 1.0 APIs; as
bibliotecas utilizam aceleração 3D via hardware (quando disponível) ou o
software de renderização 3D altamente otimizado incluído no Android.
 
- FreeType – renderização de fontes bitmap e vector

- SQLite – um poderoso e leve engine de banco de dados relacional disponível
para todas as aplicações  
1ª Etapa: Criar o Projeto

Abra o Eclipse, vá até File>New>Project
Na tela que aparecer, escolha “Android Project” e clique em “Next”.

Após isso, irá aparecer a tela com as configurações de seu projeto android.

Nesta tela, você precisa inserir os seguintes dados:
  • Project name - É o nome do projeto no eclipse.
  • Build Target – É a versão do Android para a qual o seu projeto será direcionado.
  • Application name – É o nome da sua aplicação – o nome que aparecerá no telefone.
  • Package name -  É onde será criada as suas classes java.
  • Create Activity – Marque este checkbox e coloque um nome na caixa de texto. À frente explicarei o que é uma Activity.
Depois disso, basta clicar em “Finish”.


 2ª Etapa: Código


Após isso, será criado um novo projeto e dentro dele, na pasta src// você encontrará um arquivo .java com o nome da Activity que você colocou no passo anterior.

Para fazer a sua aplicação imprimir um texto na tela, modifique este arquivo dessa forma:

package br.com.felipesilveira.hello_world;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class HelloWorld extends Activity {  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        TextView view = new TextView(this);  
        view.setText("Hello, Android");  
        setContentView(view);  
  
    } 
}  


 3ª Etapa: Código

Para rodar nosso recém criado programa no emulador do google, vá até “Run”>Run as “Android Application”. Uma instância do emulador será criada, com o nosso “HelloWorld” rodando.

  • O que é uma Activity?

Neste HelloWorld tivemos contato com o primeiro elemento de um código android: A Activity.
Uma Activity é basicamente uma classe gerenciadora de UI (Interface com o usuário). Todo aplicativo android começa por uma Activity. Para saber mais, veja a documentação da classe Activity. Nos próximos artigos falaremos bastante sobre ela, suas características, seu ciclo de vida e como manipulá-la corretamente.

[]'s




Google no ramo da música?


Segundo o Wall Street Journal, um dos mais importantes e sérios do mundo anunciou que a Google pretende entrar no mundo da música. Calma, a google não irá formar uma banda (rs), ela irá criar um serviço de venda. Assim como o Itunes, daqui a cerca de um ano, foi o que disse o Jornal.

O Google terá que primeiramente montar um serviço muito bem feito para armazenar arquivos, que teria uma integração com a sua busca, para que mais tarde possa ser usado na loja de música.
Ano que vem (2011), quando fosse lançada a loja virtual, o Google iria cobrar uma assinatura para que seus usuários pudessem ter as músicas em seus aparelhos.

E advinha que aparelhos? Sim! Aparelhos de prefência que tiver o Android (A google não é boba não).

É aguardarmos para ver o que essa Gigante que está dominando muitas áreas irá aprontar dessa vez, e para aqueles que estão focados no Android só iram ganhar com esses investimentos da Google.

Fonte: Unidev , Mashable
[]'s

Ferramentas

Que tal ter em mãos algumas ferramentas para ajudar-lhe no desenvolvimento do seu App?

Vou citar algumas que para mim são de grande ajuda muitas vezes.

1 - Ícones para Android - o próprio nome já diz, mais esse site conta com alguns ícones interessantes (gratuitos).

2 - DroidDraw - aplicativo feito em java, auxilia o desenvolvedor a montar o layout de seu App, podendo exportar o código XML para usar em seu programa. O site conta com alguns tutoriais, vale a pena conferir!

3 - Emulador Android 1.5 - Mesmo o Android SDK possuindo um emulador e na sua última versão (2.2), estou deixando aqui um emulador de versão 1.5

[]'s