SDL significa Simple DirectMedia Layer e é uma biblioteca multimídia de código aberto escrita em C e projetada para fornecer acesso de baixo nível ao mouse, teclado, áudio, joystick, hardware de gráficos 3D via Direct3D e OpenGL.
Usado em muitos jogos do Humble Bundle ou no catálogo premiado da Valve
Nos dias de hoje, a SDL é fortemente utilizada por emuladores, software de reprodução de vídeo, bem como inúmeros jogos populares, incluindo o premiado disco Linux de "Civilization: Call To Powe", muitos jogos do Humble Bundle e o catálogo premiado da Valve.
Funciona em todos os sistemas operacionais convencionais
A Camada de DirectMedia simples é executada em vários sistemas operacionais, incluindo os principais GNU / Linux, Microsoft Windows e Mac OS X. Os sistemas operacionais móveis BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX, bem como os sistemas operacionais móveis Android e iOS também são suportados. As plataformas de hardware suportadas incluem 32 e 64 bits.
Começando com SDL
SDL geralmente está disponível para download em vários sistemas operacionais baseados no kernel Linux, através de seus repositórios oficiais de software. Instalá-lo usando o pacote fonte mais recente, que é distribuído gratuitamente no Softoware, é fácil como torta.
Baixe e salve o arquivo em seu diretório inicial, descompacte-o, abra um aplicativo Terminal e navegue até o local onde você extraiu o arquivo (por exemplo, cd /home/softoware/SDL2-2.0.3).
Execute o & lsquo; ./ configure && make & rsquo; comando para configurar, otimizar e compilar o programa. Após uma compilação bem-sucedida, execute o & lsquo; sudo make install & rsquo; comando como um usuário privilegiado para instalar o sistema SDL de largura.
Debaixo do capô
Um olhar rápido sob o capô do projeto SDL, nos informará que está escrito na linguagem de programação C e que funciona nativamente com C ++. As ligações para outras linguagens de programação também estão disponíveis, apoiando o popular Python, & nbsp; Ada, Java, Lua, Eiffel, ML, PHP, Perl, Pike, Ruby e C #.
O que há de novo nesta versão:
- Geral:
- Adicionado uma API para obter caminhos do sistema de arquivos comum em SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Adicionado uma API para fazer atualizações de textura YV12 e IYUV otimizadas: SDL_UpdateYUVTexture ()
- Adicionado uma API para obter a quantidade de RAM no sistema: SDL_GetSystemRAM ()
- Adicionou uma macro para executar comparações do timestapp com SDL_GetTicks (): SDL_TICKS_PASSED ()
- Desempenho de renderização OpenGL ES 2.0 dramaticamente aprimorado
- Adicionado o atributo OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Corrigido suporte de áudio flutuante com o driver PulseAudio
- Corrigido pontos de extremidade de linha faltando no renderizador OpenGL em alguns drivers
- Os símbolos X11 não são mais definidos para evitar colisões ao vincular estaticamente
- Android:
- IMPORTANTE: Você DEVE obter o SDLActivity.java atualizado para coincidir com o código C
- Inicialização EGL movida para o código nativo
- Corrigiu a rotação do eixo do acelerômetro em relação à rotação do dispositivo
- Condições de corrida fixa ao manusear o contexto EGL em pausa / resumo
- Os dispositivos de toque estão disponíveis para enumeração imediatamente após a inicialização
- Framboesa Pi:
- Adicionado suporte para o Raspberry Pi, veja README-raspberrypi.txt para detalhes
O que é novo na versão 2.0.3:
- Geral:
- Adicionado uma API para obter caminhos do sistema de arquivos comum em SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Adicionado uma API para fazer atualizações de textura YV12 e IYUV otimizadas: SDL_UpdateYUVTexture ()
- Adicionado uma API para obter a quantidade de RAM no sistema: SDL_GetSystemRAM ()
- Adicionou uma macro para executar comparações do timestapp com SDL_GetTicks (): SDL_TICKS_PASSED ()
- Desempenho de renderização OpenGL ES 2.0 dramaticamente aprimorado
- Adicionado o atributo OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Corrigido suporte de áudio flutuante com o driver PulseAudio
- Corrigido pontos de extremidade de linha faltando no renderizador OpenGL em alguns drivers
- Os símbolos X11 não são mais definidos para evitar colisões ao vincular estaticamente
- Android:
- IMPORTANTE: Você DEVE obter o SDLActivity.java atualizado para coincidir com o código C
- Inicialização EGL movida para o código nativo
- Corrigiu a rotação do eixo do acelerômetro em relação à rotação do dispositivo
- Condições de corrida fixa ao manusear o contexto EGL em pausa / resumo
- Os dispositivos de toque estão disponíveis para enumeração imediatamente após a inicialização
- Framboesa Pi:
- Adicionado suporte para o Raspberry Pi, veja README-raspberrypi.txt para detalhes
O que é novo na versão 1.2.14:
- Notas gerais:
- Corrigido cintilação ao redimensionar a janela SDL
- Corrigido falha no SDL_SetGammaRamp ()
- Corrigido o congelamento em SDL_memset () com 0 comprimento quando o código de montagem está desativado.
- Adicionado SDL_DISABLE_LOCK_KEYS variável de ambiente para ativar os eventos de Up / Down normais para as teclas Caps-Lock e Num-Lock.
- Problema de qualidade de áudio corrigido ao converter entre 22050 Hz e 44100 Hz.
- Corrigido um bloqueio de thread quando alguns tópicos são rapidamente criados e concluídos.
- Maior precisão das rotinas de mistura alfa.
- Corrigido o bloqueio de carregamento de arquivos BMP salvos com as linhas de varredura invertidas.
- Corrigido o aperto de coordenadas do mouse se SDL_SetVideoMode () não for chamado em resposta ao evento SDL_VIDEORESIZE.
- Adicionado documentação de doxygen para os cabeçalhos da API SDL.
- Unix Notas:
- Corrigido corrupção de memória potencial devido ao erro de montagem com SDL_revcpy ()
- Corrigido falhas tentando detectar os recursos SSE na arquitetura x86_64.
- Montagem fixa para blends blending otimizados com 50% de GCC.
- opção de configuração adicionada --enable-screensaver, para permitir a ativação do protetor de tela por padrão.
- Use XResetScreenSaver () em vez de desativar o salvador de tela inteiramente.
- Removido a limitação máxima do tamanho da janela no X11.
- corrigiu SDL_GL_SWAP_CONTROL no X11.
- Corrigido configurando a sugestão de entrada da janela X11.
- Corrigiu o ícone de janela distorcida X11 para alguns elementos visuais.
- Corrigido a detecção de bibliotecas X11 para carregamento dinâmico no Linux de 64 bits.
- SDL_GL_GetAttribute (SDL_GL_SWAP_CONTROL) retorna o valor correto com GLX_SGI_swap_control.
- Adicionado SDL_VIDEO_FULLSCREEN_DISPLAY como sinônimo preferido para SDL_VIDEO_FULLSCREEN_HEAD no X11.
- A variável de ambiente SDL_VIDEO_FULLSCREEN_DISPLAY pode ser definida como 0 para colocar janelas SDL em tela cheia na primeira tela Xinerama.
- Adicionou a variável de ambiente SDL_VIDEO_FBCON_ROTATION para controlar a orientação de saída no console framebuffer. Valores válidos são: não definido - Não roda, sem sombra; & quot; NONE & quot; - Não girando, mas ainda usando sombra; & quot; CW & quot; - Tela rotativa no sentido horário; "UD" - Girando a tela de cabeça para baixo; & quot; CCW & quot; - Girando a tela no sentido anti-horário.
- Corrigido a detecção DirectFB em algumas distribuições Linux.
- Código adicionado para usar os processadores PS3 SPE para conversão YUV no Linux.
- Atuou o suporte ALSA para a mais recente API estável
- A ALSA agora é preferida em relação ao áudio OSS. (SDL_AUDIODRIVER = dsp restaurará o comportamento anterior.)
- Melhor suporte para PulseAudio
- O suporte ao sistema de áudio de rede agora está carregado dinamicamente em tempo de execução.
- Corrigido falha no MP-8866 Dual USB Joypad nos kernels Linux mais recentes.
- Corrigido falha no SDL_Quit () quando um joystick foi desconectado.
Comentários não encontrado