segunda-feira, 1 de março de 2010

Iniciando o SDL.(2)

Acho que agora vou conseguir começar esses tutoriais^^.
Vamos começar:

Para que possamos usar as funções da SDL primeiro temos que iniciá-la,
segue o código:


if (SDL_Init(SDL_INIT_VIDEO) != 0) {
 printf("Não foi possível iniciar a SDL: %s\n", SDL_GetError());
 return 1;
}

Nesse trecho o programa inicializa a biblioteca apenas com as funções de vídeo,
se desejar-mos inicializar o audio
também teremos que modificar para:

if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) != 0) {
 printf("Não foi possível iniciar a SDL: %s\n", SDL_GetError());
 return 1;
}

E adicionamos as flags de todos os sub-sistemas que queremos inicializar,
por hora vamos nos ater somente ao video.
Como temos o vídeo inicializado, podemos agora abrir uma janela para que possamos
mostrar o nosso programa:

SDL_Surface *screen;
 
screen = SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF | SDL_FULLSCREEN);
if (screen == NULL) {
 printf("Não foi possível escolher o modo de video %s\n", SDL_GetError());
 return 1;
}

obs: screen é um ponteiro para a tela do programa, uma surface da sdl.

Usamos a função SDL_SetVideoMode para escolher o modo de vídeo que iremos utilizar.
No exemplo,selecionamos largura 640, altura 480, profundidade da cor de 16 bits e
opções como duplo buffer e tela cheia. Ao final testamos para ver se screen existe e
caso contrário o programa emite um erro
com a descrição dada pela SDL (em inglês) e termina.

Ao fechar o programa devemos fechar a SDL primeiro, para isso usamos a função atexit:

atexit(SDL_Quit);

Essa função faz com que antes do fim do programa a função de fechar a SDL SDL_Quit
seja chamada automaticamente, não importa em que parte do programa seja o fim do mesmo.

Bom, por hoje é só. Na proxima parte irei explicar como mostrar uma imagem na tela.
Agora aqui vai o código completo que  não faz nada^^ só abre uma janela e fecha logo
em seguida, mas tá aí pra quem quiser testar. Até.




domingo, 16 de agosto de 2009

Complementando com a Conversão RGB para Sepia

Modificando um pouco a Função Anterior com a ajuda do techrepublic temos uma conversão de RGB para sépia:



Até!!!!

convertendo surfaces RGBA para escala de cinza

Eu fiz um trabalhinho de fim de semana no meu projeto então decidi postar aqui para que possa servir de auxílio pra quem precisar, o código é parte da classe surface e serve para fazer um efeito de preto e branco( escala de cinza ) em uma sdl_surface dando efeito de antigo. Segue abaixo:




Para quem precisar está aí^^.
Mas uma pequena observação: Não é uma função para ser usada em tempo real!
Até a próxima!!!!

domingo, 8 de março de 2009

Bibliotecas Auxiliares da SDL para Symbian S60v3

Eu agora estou um pouco ocupado com o trabalho, faculdade e um pouquinho de lazer nos fins de semana(eu também mereço ^^). Por isso estou um pouco afastado do Blog e não sei quando terei tempo para postar meus tutoriais.
Então decidi que iria postar os meus ports das bibliotecas auxiliares da SDL para facilitar a vida de quem deseja programar para celulares Symbian com o auxílio da SDL e SDL_image( suporta BMP, PNG, TARGA e outras), SDL_mixer( port simples - não fiz muitos testes mas funciona- suporta midi, wav e algo mais) e SDL_ttf( funciona perfeitamente - a lib freetype já vem com port para Symbian). Por enquanto são só essas mas se tiver tempo( e necessidade adiciono outros ports).
Vou achar um lugar para upar os arquivos logo após posto um link com os mesmos. Até.

terça-feira, 28 de outubro de 2008

Iniciando o SDL.

Começando pelo início ^^'.

Antes de trazer códigos mais pesados percebi que devo primeiro ensinar o básico de SDL para que mesmo alguem que não tenha conhecido a SDL consiga entender um pouco sobre o que está sendo postado.
Então, após ter mudado o formato do Blog para um que acredito seja mais fácil de ler, vou começar os tutoriais, eles serão pequenos e rápidos pois estou com pouco tempo para escrever.