Mercurial > sdl-ios-xcode
annotate test/testdyngl.c @ 855:aa4ac9e65d92
I noticed MacOSX SDL sets up working directory to parent of executable.
On BeOS is should setup it the same way, but it only does when Tracker
wasn't restarted.
I checked code and it looks like a hack to me :(
It looks for env variable and than comapres it to default when OpenTracker
was started after boot, and wasn't restarted. That's probably ok, for that
exact case. Unfortunetly that variable isn't always like that. For
example, after Tracker crashes and is restarted, env variable most
probably is different (depends on how Tracker was restarted, by what
application, etc... for example: i have launcher application from which i
can restart Tracker, and after that nev variable points to that
application's directory, not Tracker's).
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 24 Feb 2004 18:58:40 +0000 |
parents | 0afe0e38e02c |
children | 9f6ad2286011 |
rev | line source |
---|---|
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 * Small SDL example to demonstrate dynamically loading |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 * OpenGL lib and functions |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 * |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 * (FYI it was supposed to look like snow in the wind or something...) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 * |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 * Compile with : |
847
0afe0e38e02c
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
842
diff
changeset
|
8 * gcc testdyngl.c `sdl-config --libs --cflags` -o testdyngl -DHAVE_OPENGL |
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 * |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 * You can specify a different OpenGL lib on the command line, i.e. : |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 * ./testdyngl /usr/X11R6/lib/libGL.so.1.2 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 * or |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 * ./testdyngl /usr/lib/libGL.so.1.0.4496 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 * |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 */ |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 #include <stdio.h> |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 #include <stdlib.h> |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 #include "SDL.h" |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 #ifdef HAVE_OPENGL |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 #include "SDL_opengl.h" |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 void* get_funcaddr(const char* p) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 void* f=SDL_GL_GetProcAddress(p); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 if (f) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 return f; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 else |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 printf("Unable to get function pointer for %s\n",p); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 exit(1); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
39 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 typedef struct |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 void(*glBegin)(GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 void(*glEnd)(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 void(*glVertex3f)(GLfloat, GLfloat, GLfloat); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 void(*glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 void(*glClear)(GLbitfield); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 void(*glDisable)(GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 void(*glEnable)(GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 void(*glColor4ub)(GLubyte,GLubyte,GLubyte,GLubyte); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 void(*glPointSize)(GLfloat); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 void(*glHint)(GLenum,GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 void(*glBlendFunc)(GLenum,GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 void(*glMatrixMode)(GLenum); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 void(*glLoadIdentity)(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 void(*glOrtho)(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 void(*glRotatef)(GLfloat,GLfloat,GLfloat,GLfloat); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 void(*glViewport)(GLint,GLint,GLsizei,GLsizei); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 void(*glFogf)(GLenum,GLfloat); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 glfuncs; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 void init_glfuncs(glfuncs* f) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 f->glBegin=get_funcaddr("glBegin"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 f->glEnd=get_funcaddr("glEnd"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 f->glVertex3f=get_funcaddr("glVertex3f"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 f->glClearColor=get_funcaddr("glClearColor"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 f->glClear=get_funcaddr("glClear"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 f->glDisable=get_funcaddr("glDisable"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
70 f->glEnable=get_funcaddr("glEnable"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
71 f->glColor4ub=get_funcaddr("glColor4ub"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 f->glPointSize=get_funcaddr("glPointSize"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 f->glHint=get_funcaddr("glHint"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 f->glBlendFunc=get_funcaddr("glBlendFunc"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 f->glMatrixMode=get_funcaddr("glMatrixMode"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 f->glLoadIdentity=get_funcaddr("glLoadIdentity"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
77 f->glOrtho=get_funcaddr("glOrtho"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 f->glRotatef=get_funcaddr("glRotatef"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 f->glViewport=get_funcaddr("glViewport"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 f->glFogf=get_funcaddr("glFogf"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
81 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 #define NB_PIXELS 1000 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 int main(int argc,char *argv[]) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
86 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 glfuncs f; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 int i; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
89 SDL_Event event; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 int done=0; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
91 GLfloat pixels[NB_PIXELS*3]; |
842
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
92 #ifdef _WIN32 |
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
93 char *gl_library = "OpenGL32.DLL"; |
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
94 #else |
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
95 char *gl_library = "libGL.so.1"; |
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
96 #endif |
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 |
842
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
98 if (argv[1]) { |
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
99 gl_library = argv[1]; |
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
100 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
101 |
842
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
102 if (SDL_Init(SDL_INIT_VIDEO)<0) |
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
103 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
104 printf("Unable to init SDL : %s\n",SDL_GetError()); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
105 exit(1); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
106 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
107 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
108 if (SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1)<0) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
109 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
110 printf("Unable to set GL attribute : %s\n",SDL_GetError()); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
111 exit(1); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
113 |
842
0eec9985767d
Load the correct library on Windows
Sam Lantinga <slouken@libsdl.org>
parents:
839
diff
changeset
|
114 if (SDL_GL_LoadLibrary(gl_library)<0) |
839
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
115 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
116 printf("Unable to dynamically open GL lib : %s\n",SDL_GetError()); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
117 exit(1); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
118 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
119 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
120 if (SDL_SetVideoMode(640,480,0,SDL_OPENGL)==NULL) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
121 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
122 printf("Unable to open video mode : %s\n",SDL_GetError()); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
123 exit(1); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
124 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
125 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
126 init_glfuncs(&f); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
127 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
128 for(i=0;i<NB_PIXELS;i++) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
129 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
130 pixels[3*i]=rand()%250-125; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
131 pixels[3*i+1]=rand()%250-125; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
132 pixels[3*i+2]=rand()%250-125; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
133 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
134 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
135 f.glViewport(0,0,640,480); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
136 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
137 f.glMatrixMode(GL_PROJECTION); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
138 f.glLoadIdentity(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
139 f.glOrtho(-100,100,-100,100,-500,500); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
140 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
141 f.glMatrixMode(GL_MODELVIEW); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
142 f.glLoadIdentity(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
143 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
144 f.glEnable(GL_DEPTH_TEST); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
145 f.glDisable(GL_TEXTURE_2D); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
146 f.glEnable(GL_BLEND); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
147 f.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
148 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
149 f.glClearColor(0.0f,0.0f,0.0f,0.0f); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
150 f.glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
151 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
152 f.glEnable(GL_POINT_SMOOTH); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
153 f.glHint(GL_POINT_SMOOTH_HINT,GL_NICEST); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
154 f.glPointSize(5.0f); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
155 f.glEnable(GL_FOG); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
156 f.glFogf(GL_FOG_START,-500); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
157 f.glFogf(GL_FOG_END,500); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
158 f.glFogf(GL_FOG_DENSITY,0.005); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
159 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
160 do |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
161 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
162 f.glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
163 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
164 f.glRotatef(2.0,1.0,1.0,1.0); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
165 f.glRotatef(1.0,0.0,1.0,1.0); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
166 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
167 f.glColor4ub(255,255,255,255); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
168 f.glBegin(GL_POINTS); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
169 for(i=0;i<NB_PIXELS;i++) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
170 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
171 f.glVertex3f(pixels[3*i],pixels[3*i+1],pixels[3*i+2]); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
172 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
173 f.glEnd(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
174 SDL_GL_SwapBuffers(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
175 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
176 while(SDL_PollEvent(&event)) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
177 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
178 if(event.type & SDL_KEYDOWN) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
179 done=1; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
180 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
181 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
182 SDL_Delay(20); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
183 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
184 while(!done); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
185 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
186 SDL_Quit(); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
187 return 0; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
188 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
189 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
190 #else /* HAVE_OPENGL */ |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
191 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
192 int main(int argc, char *argv[]) |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
193 { |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
194 printf("No OpenGL support on this system\n"); |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
195 return 1; |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
196 } |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
197 |
7b255f0290da
Added a test program for dynamically loading OpenGL
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
198 #endif /* HAVE_OPENGL */ |