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

terça-feira, 22 de junho de 2010

Tutorial: Instalação do Android SDK

Você precisará fazer o download dos seguintes componentes:
1 - JDK
2 - Eclipse
3 - Android SDK

  • Android SDK

Vá até o executável que se encontrará no diretório do Android SDK e execute. Em Available Packages, temos as versões da plataforma do Android. Você pode deixar marcada apenas a opção para o Android 2.1, ao qual iremos utilizar ou manter todos. Clique em Install Selected.

                                                                               Figura 1

Para configurar o Android SDK em seu sistema operacional, fazemos da seguinte forma:
No  Windows, vá em Painel de Controle>Sistema e Segurança>Sistema>Configurações Avançadas do Sistema.  Na aba Avançado clique no botão Variáveis de Ambiente.

Edite a variável PATH adicionando um ponto-e-vírgula (;) seguido do caminho pertencente ao diretório do Android SDK com o diretório tools e confirme. Se estiver instalado no Windows,  no drive C:, teria o seguinte caminho:
C:\android-sdk-windows\tools

  •  Plugin do Android
 Com o Eclipse iniciado, vá até o menu Help > Install New Software. Na caixa de diálogo Available Software, clique em  Add….

Na caixa de diálogo Add Site,  coloque o seguinte endereço em Location:
https://dl-ssl.google.com/android/eclipse/

Sua caixa de diálogo ficará similar a Figura 2.

                                                                             Figura 2

Assim que adicionar o plugin, marque Developer Tools e clique no botão Next.

                                                                            Figura 3

Na segunda etapa, mantenha como está, caso não tenha erros e prossiga. Na terceira etapa, aceite os termos de licença e clique no botão Finish.

                                                                           Figura 4

Ao terminar a instalação, aceite o reinicio do Eclipse.

Para configurar o Android SDK, vá ao menu Window>Preferences, após o reinício do Eclipse na instalação do plugin, selecione Android.

                                                                           Figura 5

Qualquer dúvida comente, e estarei ajudando.
Fiquem ligados! Em breve colocarei um tutorial de como fazermos um Hello World.

[]'s


Android

Estou estudando o Android, fiz uma simples calculadora e estou fazendo agora um
sistema de controle financeiro. Algo bem simples mais que é muito bom para treinar.






[]'s

segunda-feira, 21 de junho de 2010

Desenvolver App para Iphone no Windows

Desenvolver aplicativos para Iphone no Windows? Isso não é mentira da internet?

De certa forma sim, houve muitos boatos de alguns hacks para a SDK Iphone, para poder usá-la no Windows,
porém era tudo mentira. Mas pesquisando sobre o assunto achei um projeto interessante, de um brasileiro inclusive!

Chama-se WIPA, está tendo grandes avanços, e logo irá liberar a versão Pro, onde conta com alguns adicionais, que a versão simples ainda não possue.



O interessante dessa IDE é que você não precisará programar em Objective-C (linguagem OOP da Apple). Você irá usar JavaScript. Sim! Apenas JavaScript, não cheguei a realizar testes, mais fica a dica para quem quer programar Apps para Iphone e não possue dinheiro para comprar um IMac ou Macbook.

Site Oficial:
http://www.apaladini.com.br/

Noticias(desatualizado):
http://sites.google.com/site/adrianopaladini/wipa/

[]'s

Welcome!

Seja bem-vindo ao meu blog!

E que tal começarmos bem? Estarei postando o mais rápido possivel um tutorial para programação no Android, isso mesmo a nova plataforma mobile do Google, que está crescendo cada dia mais, e hoje já briga na mesma altura com o iphone.


Como vemos no gráfico, o Android já alcançou 9% do mercado de Smartphones. Um numero significativo se formos pensar que tanto a Apple quanto a Google cresceram 2% no primeiro trimestre de 2010, nesse mesmo período a Microsoft e a RIM caíram 2%.


No geral, o segmento de smartphones cresceu consideravelmente em todo mundo. No segundo trimestre de 2009, os smartphones representavam 16 por cento do mercado de telefonia celular. No primeiro trimestre deste ano, saltou para 23 por cento.

Já podemor ver assim, que não será uma má escolha investirmos nosso conhecimento no desenvolvimento para smartphones, tanto Apple quanto Google.

Comente por favor!
[]'s