Livros da Novatec com desconto

Fevereiro 10, 2009

Na compra de qualquer livro da NOVATEC EDITORA você terá 20% de desconto. Basta fornecer o seguinte código na hora da compra: DALTONVIEIRA

Fonte: http://www.daltonvieira.com/2009/02/livros-com-descontos-parceira.html


Top links de computação gráfica

Fevereiro 8, 2009

Neste post iremos citar uma lista de links que possuam como assunto principal a computação gráfica.

Se vocês souberem de algum link a mais, por favor, respondam ao post.

Vamos ao que interessa:

  1. http://opengl.luciopaiva.com/
  2. http://orion.lcg.ufrj.br/compgraf1/downloads/glut-3.spec.pdf
  3. http://orion.lcg.ufrj.br/compgraf1/downloads/OpenGL%20Programming%20Guide%20-%20RedBook.pdf
  4. http://www.inf.pucrs.br/~manssour/OpenGL/Tutorial.html
  5. http://www.inf.ufsc.br/~awangenh/CG/apostilas/openGL/
  6. http://nehe.gamedev.net/default.asp

Abraços.


Nosso primeiro programa em OpenGL e C++

Fevereiro 8, 2009
1. Mostrando uma simples janela

O que posso dizer é que a experiência de estar estudando OpenGL não está sendo umas das mais agradáveis.

Até que estou gostando da biblioteca, mas para quem já programou em XNA é difícil de se acostumar com as coisas que temos que fazer na mão em OpenGL. Em XNA nós nos preocupamos apenas com a “regra” do jogo em si.

Um exemplo disto é a criação de uma simples janela. Em XNA não precisamos codificar nada para mostrar uma janela para o usuário. Já em OpenGL temos que codificar algumas linhas.

Neste post iremos analisar o código que é necessário para criar e exibir uma simples janela para o usuário.

   1: #include <GL/glut.h>
   2:
   3: void drawWindow()
   4: {
   5:     glClearColor(1.0f, 0.5f, 0.0f, 1.0f);
   6:     glClear(GL_COLOR_BUFFER_BIT);
   7:     glFlush();
   8: }
   9:
  10: int main(int argc, char *argv[])
  11: {
  12:     glutCreateWindow("Olá Mundo OpenGL");
  13:     glutDisplayFunc(drawWindow);
  14:     glutMainLoop();
  15:     return 1;
  16: }
  1. glutCreateWindow: Criar a janela com de nome “Olá Mundo OpenGL”
  2. glutDisplayFunc: Informa que função será chamada sempre que a janela necessitar ser redesenhada. Neste exemplo, a função chamada é a “drawWindow”
  3. glClear: Limpa a janela e repinta com a cor que é passada para a função glClearColor
  4. glFlush: Força a execução dos comandos da biblioteca GL(Caso tire esta linha, a sua janela pode ficar com o fundo transparente).
  5. glutMainLoop: Dá início ao processamento do ciclo de eventos do glut que serão executados em loop.
2. Desenhando nossa primeira primitiva

Para desenharmos primitivas em nossa janela é bastante simples. Temos uma função no OpenGL chamada “glVertex3f” que é responsável por definir pontos em nosso plano cartesiano.

As coordenadas de nossa janela estão definidos desta maneira:

Untitled

Para desenharmos uma série de pontos e interligá-los, temos que definir um escopo onde iremos informar os pontos. Este escopo é informado com as funções glBegin(x) e glEnd().

A função glBegin recebe um parâmetro que informa como irá ocorrer a ligação entre os pontos. Os possíveis parâmetros são:

  1. GL_POINTS – Desenhamos apenas pontos em nosso plano.
  2. GL_LINES – São desenhadas linhas independentes entre dois pontos.
  3. GL_LINE_STRIP – Liga todos os pontos (não fecha o circuito)
  4. GL_LINE_LOOP – Liga todos os pontos (fecha o circuito)
  5. GL_TRIANGLES – A cada três vértices forma um triângulo
  6. GL_TRIANGLE_STRIP – Liga uma série de triângulos, formando uma tira com os mesmos.
  7. GL_TRIANGLE_FAN – A palavra “fan” significa “leque”. Ou seja, criamos um leque em nosso plano.
  8. GL_QUADS – A cada quatro vértices definidos, é desenhado um quadrado em nossa tela.
  9. GL_QUAD_STRIP – Forma uma malha com os quadrados.
  10. GL_POLYGON – Polígono convexo simples.

Como exemplo, iremos desenhar um triângulo em nossa tela. O código fica da seguinte maneira:

   1: #include <GL/glut.h>
   2:
   3: void drawWindow()
   4: {
   5:     glClearColor(1.0f, 0.5f, 0.0f, 1.0f);
   6:     glClear(GL_COLOR_BUFFER_BIT);
   7:
   8:     glBegin(GL_TRIANGLES);
   9:     glVertex3f(0.0f, 0.5f, 0.0f);
  10:     glVertex3f(-0.5f, -0.5f, 0.0f);
  11:     glVertex3f(0.5f, -0.5f, 0.0f);
  12:     glEnd();
  13:
  14:     glFlush();
  15: }
  16:
  17: int main(int argc, char *argv[])
  18: {
  19:     glutCreateWindow("Olá Mundo OpenGL");
  20:     glutDisplayFunc(drawWindow);
  21:     glutMainLoop();
  22:     return 1;
  23: }

Abraços!!!


jQuery 1.3: Intellisense no Visual Studio 2008

Fevereiro 7, 2009

Publiquei um post no devmedia falando como habilitar o intellisense do jquery no visual studio 2008.

Acessem:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=11800

Abraço a todos.


OpenGL no Visual Studio 2008

Fevereiro 7, 2009

Início de período letivo bem corrido. Uma das coisas que está consumindo meu tempo é a cadeira de Computação Gráfica da faculdade, onde estamos aprendendo a mexer com OpenGL. E a partir de hoje, compartilho com vocês através deste blog o conhecimento que eu for adquirindo nessa matéria.

Neste Post iremos aprender como configurar nosso ambiente de desenvolvimento. Ou seja, instalar e configurar o OpenGl, Glut e Glui no Visual Studio 2008

1. Baixando os arquivos

Adquira os arquivos no seguinte link:

http://cid-2d6d3503299ba131.skydrive.live.com/self.aspx/Artigos/Configuration%20Files.rar

Descompacte os arquivos em seu local de preferência.

2. Colocando os arquivos em seus devidos locais
  1. Copie os arquivos com extensão .h (glui.h e glut.h) para a pasta
    C:Program FilesMicrosoft SDKsWindowsv6.0AIncludegl

    Obs: A pasta “gl” deve estar deste modo agora:
    ScreenShot003

  2. Copie os arquivos com extensão .Lib (glut32.lib e glui32.lib) para a pasta
    C:Program FilesMicrosoft SDKsWindowsv6.0ALib
  3. Agora copie a dll glut32.dll e copie para o system32
    C:WindowsSystem32

Agora nosso ambiente está pronto.

3. Configurando o Visual Studio 2008
  1. Crie um novo projeto c++ no visual studio.
    ScreenShot004

    ScreenShot005

    ScreenShot006

  2. Agora vamos configurar o nosso projeto.
  3. Click com o botão direito no projeto e selecione “properties”ScreenShot007
  4. Expanda a opção “Configuration Properties”ScreenShot008
  5. Altere a opção “configuration” para “all configurations”ScreenShot009
  6. Expanda “Linker” e selecione “Input”ScreenShot010
  7. Selecione “Addtion Dependencies”ScreenShot011
  8. Adicione as referências aos “Libs” (OpenGL32.Lib, glut32.Lib e glui32.Lib)ScreenShot012

Nosso ambiente já está pronto. Agora você já pode começar a brincar com as bibliotecas vistas no post.


Alguns Cheat Sheets para a sua coleção

Fevereiro 6, 2009

jquery_1.3_cheatsheet_v1_pg2_large

Cheat Sheets são aqueles posts com todas ou um conjunto de classes, funções, propriedades, atributos, etc. de uma determinada linguagem, framework…

A inteção deste post é disponibilizar para vocês, leitores, alguns Cheats, que irão servir de apoio em suas jornadas de trabalho ou estudo.

  1. jQuery 1.3
    http://acodingfool.typepad.com/blog/pdf/jquery_1.3_cheatsheet_v1.pdf
  2. Linq Query Operators
    http://acodingfool.typepad.com/blog/pdf/linq_query_operators_cheatsheet_v1.pdf
  3. Formatação de Strings em .NET
    http://acodingfool.typepad.com/blog/pdf/dotnet_string_formatting_cheatsheet_v1.pdf
  4. Ciclo de vida de uma página ASP.NET
    http://acodingfool.typepad.com/blog/pdf/asp.net_life_cycle_cheatsheet_v2.pdf
  5. CSS
    http://acodingfool.typepad.com/blog/pdf/css_cheatsheet_v2.pdf
  6. Design Pattners
    http://acodingfool.typepad.com/blog/pdf/design_pattern_cheatsheet_v1.pdf
  7. Carácteres HTML
    http://acodingfool.typepad.com/blog/pdf/html_entities_cheatsheet_v3.pdf
  8. Cores HTML
    http://acodingfool.typepad.com/blog/pdf/html_colors_cheatsheet_v2.pdf
  9. XHTML
    http://acodingfool.typepad.com/blog/pdf/xhtml_1.1_cheatsheet_v3.pdf

Todos os links foram tirados do site: http://acodingfool.typepad.com/

Abraços


ASP.NET AJAX: Carregando abas sobre demanda

Fevereiro 5, 2009

Postei um pequeno artigo de como carregar abas sobre demanda com ASP.NET no site do devmedia.

Para ter acesso ao mesmo,entre no seguinte link:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=11784

Abraços!


Microsoft Sql Server 2008 Books Online

Fevereiro 3, 2009

Já está disponível para download o Books Online da nova versão do Sql Server.

Para download, acesse:

http://www.microsoft.com/downloads/details.aspx?familyid=765433F7-0983-4D7A-B628-0A98145BCB97&displaylang=en


Complexidade vs Simplicidade

Fevereiro 3, 2009

DilbertComplexity

Não entendo por que ainda hoje existem pessoas que pensam que o melhor sistema é aquele mais complexo!

Abraços!


Performance em Aplicações ASP.NET (Parte 2): Minimizando arquivos Javascript e CSS com YUI Compressor

Fevereiro 2, 2009

parte 1: http://fpimentel88.wordpress.com/2009/01/20/analisando-e-melhorando-a-performance-em-aplicaes-aspnet-parte-1/

1. Introdução

Cada espaço em branco, cada caractere, cada quebra de linha de um arquivo Javascript e CSS ocupam espaços. Ou seja, quanto mais caracteres deste tipo seus arquivos tiverem, maiores serão seus tamanhos. Ou seja, a seguinte função…

   1: function yuiCompressor(){
   2:
   3:
   4:
   5:     var el = document.getElementById("idPessoa");
   6:
   7:
   8:
   9:     alert(el.id);
  10:
  11:
  12:
  13: }

…Ocupa mais espaço que esta outra:

   1: function yuiCompressor(){var el = document.getElementById("idPessoa");alert(el.id);}

Mais vocês concordam comigo que é inviável programar da segunda maneira, certo? Pois é, por isso que existe o YUI Compressor e tantos outros compressores de arquivos Javascript e CSS. Eles existem justamente para minimizar esses tipos de arquivos, tirando todo tipo de caractere desnecessário.

Então a idéia é bem simples. Trabalhamos normalmente com os arquivos, “sem” se preocupar com espaços e quebras de linhas. E antes de publicar o site, utilizarmos o YUI Compressor para minimizar os devidos arquivos.

2. Minimizando os Arquivos

Existem duas maneiras de utilizar o YUI Compressor:

  1. Através do próprio site (http://www.refresh-sf.com/yui/)onde você informará a entrada e o sistema dará a saída. Tudo isso on-line.
  2. A segunda maneira é através da linha de comando (É necessário ter JAVA instalado na máquina).

No nosso caso vamos minimizar os arquivos via linha de comando, pois em futuro um post irei mostrar como integrar o YUI Compressor com o Cruiser Control.

Para minimizar o nosso arquivo, vamos seguir os seguintes passos:

  1. Baixe o YUI Compressor no seguinte link: http://www.julienlecomte.net/yuicompressor/
  2. Crie um arquivo javascript (.js) e um css (.css) e salve em qualquer local na sua máquina (no meu caso:  “C:\Files\JS1.js e C:\Files\CSS1.css”).Os arquivos devem conter qualquer conteúdo. É apenas um teste.
  3. Abra o prompt command e vá para o diretório onde se encontra a pasta build dentro de YUI Compressor.ScreenShot001
  4. Agora execute o seguinte comando para gerar uma saída de acordo com o arquivo de entrada.“java -jar yuicompressor-x.y.z.jar C:\Files\JS1.js -o C:\Files\JS1-min.js”

    ScreenShot002

  5. Pronto!!! Agora já temos nosso arquivo .js minimizado. Simples né? Agora, é só repetir a operação para os arquivos .css e .js que você tiver.

Abraço a todos!