#include #include #include #include #undef main int main(int argc, char **argv) { SDL_Init(SDL_INIT_VIDEO); //SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 0); SDL_Surface *screen = SDL_SetVideoMode(800, 600, 0, SDL_OPENGL); printf("Vendor: %s\n", glGetString(GL_VENDOR)); printf("Renderer: %s\n", glGetString(GL_RENDERER)); printf("Version: %s\n", glGetString(GL_VERSION)); printf("Extensions: %s\n", glGetString(GL_EXTENSIONS)); glScalef(1.0 / 32768, 1.0 / 32768, 1); const int array1size = 1024/8; short array1[array1size]; for(int i=0; i < array1size; i++) { array1[i] = i * 23565 + 25782 + i * i * 2357; } while(true) { //usleep(20000); SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: SDL_Quit(); return 0; break; } } for(int i=0; i < array1size; i++) array1[i] += 1 + (i & 7) * 5; glVertexPointer(2, GL_SHORT, 0, array1); //glColorPointer(3, GL_UNSIGNED_BYTE, 0, array1); glColor4ub(10,10,10,1); //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendFunc(GL_ONE, GL_ONE); glEnable(GL_BLEND); glClear(GL_COLOR_BUFFER_BIT); glEnableClientState(GL_VERTEX_ARRAY); //glEnableClientState(GL_COLOR_ARRAY); glDrawArrays(GL_TRIANGLE_STRIP, 0, array1size / 2); glDisableClientState(GL_VERTEX_ARRAY); //glDisableClientState(GL_COLOR_ARRAY); // oops... missing SDL_GL_SwapBuffers(); } return 0; }