view test/testver.c @ 2359:b70b96e615d2 gsoc2008_iphone

These files are the OpenGL ES render driver. You should be able to use them on any platform that supports OpenGL ES -- not just iPhone. The driver is based off the OpenGL render driver. There are a few differences between OpenGL and OpenGL ES that present difficulties for this driver: - OpenGL ES does NOT support many pixel formats (for example, no GL_BGR). Also, when using texture functions format and internalFormat must be the same -- this means 32 bit packed formats like SDL_PIXELFORMAT_BGR888 cannot be automatically converted to GL_RGB (which is 24bpp). - OpenGL ES doesn't have GL_PACK_ROW_LENGTH, which means data must be reformatted before uploading changes to dirty rects. This change has been added. - OpenGL ES doesn't support paletted textures, though there is an extension. I'm looking into this. Some other notable differences: - OpenGL ES has an extension called GL_OES_draw_texture which allows for quicker 2D sprite-type drawing. I use this in GL_RenderCopy when it is available. The iPhone supports the extension, but the iPhone Simulator does not (presently). - No glBegin() / glEnd() and no GL_QUADS! I'm using glDrawArrays with GL_TRIANGLE_STRIP instead!
author Holmes Futrell <hfutrell@umail.ucsb.edu>
date Thu, 17 Jul 2008 23:31:42 +0000
parents c121d94672cb
children 388c5a2daeac
line wrap: on
line source


/* Test program to compare the compile-time version of SDL with the linked
   version of SDL
*/

#include <stdio.h>
#include <stdlib.h>

#include "SDL.h"

int
main(int argc, char *argv[])
{
    SDL_version compiled;

    /* Initialize SDL */
    if (SDL_Init(0) < 0) {
        fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
        exit(1);
    }
#ifdef DEBUG
    fprintf(stderr, "SDL initialized\n");
#endif
#if SDL_VERSION_ATLEAST(1, 2, 0)
    printf("Compiled with SDL 1.2 or newer\n");
#else
    printf("Compiled with SDL older than 1.2\n");
#endif
    SDL_VERSION(&compiled);
    printf("Compiled version: %d.%d.%d\n",
           compiled.major, compiled.minor, compiled.patch);
    printf("Linked version: %d.%d.%d\n",
           SDL_Linked_Version()->major,
           SDL_Linked_Version()->minor, SDL_Linked_Version()->patch);
    SDL_Quit();
    return (0);
}