Commit Graph

1623 Commits

Author SHA1 Message Date
beuc
0d92390463 - Document what works with GLES1 and GLES2 as of now
- Conditionaly disable what doesn't work
  so that libfreeglut can be compiled as-is for GLES1 and GLES2
  (Android and Mesa EGL)
- These #ifdef's are meant to disappear as more functions are implemented for GLES



git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1201 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-23 01:02:57 +00:00
beuc
45a5e59f94 Geometry: Use 'double' instead of 'GLdouble' in include/GL/*.h, fixing temporary GLES work-around and getting consistent with latest changes in fg_geometry.c
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1200 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-22 23:25:13 +00:00
dcnieho
940bc0ac45 internally in fg_geometry, GLfloat used everywhere
external facing functions now take double instead of GLdouble, which
isn't defined on GLES platforms


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1199 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-21 05:09:19 +00:00
dcnieho
1d91d09834 simplified check for whether opengl 2.1+ context is requested.
Flags or profile set are now ignored unless opengl 2.1+ context is
requested


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1198 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-19 00:31:00 +00:00
beuc
468a43416d Add missing new _glx files
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1197 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 14:54:33 +00:00
beuc
5d6c1b44f4 Add support for X11+EGL.
The changes are made with minimalism and clarity in mind:
- Either the functions are common and are kept in _x11.c files
- Either the functions have small differences and dealt with #ifdef
- Either the functions are largely different, and split in:
  - Specialized portable code in egl/
  - Specialized GLX code in _x11_glx.c files

Using EGL or GLX is decided at compile time
(CMake FREEGLUT_GLES1 or FREEGLUT_GLES2 option enabled)..



git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1196 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 12:38:07 +00:00
beuc
8c0ae8bfb6 Remove left-over printf
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1195 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 12:25:29 +00:00
beuc
76e2c3ed3f pkg-config: add -lm to static libraries
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1194 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 10:25:19 +00:00
beuc
265e1cc378 Define PKG_CONFIG_PATH in client instructions
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1193 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 10:24:21 +00:00
dcnieho
c00c3d67a0 All doubles now GLdoubles (important for GLES later)
Other general cleanup in prep for porting geometry code involving
circles.
no longer computing a larger circle table when only need half of it


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1192 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 10:02:54 +00:00
dcnieho
3e21108d4f teapot header not in list of files (so doesn't show up in IDE)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1191 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 09:59:50 +00:00
dcnieho
b171a73282 per old glut manpages, glutTeapot calls generate clockwise frontfacing
polygons. Following recommendations in these manpages, updated the
shapes demo by surrounding calls with glFrontFace(GL_CW); and
glFrontFace(GL_CCW);


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1190 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 07:37:08 +00:00
dcnieho
8ab33e935f added a message when new context creation was silently ignored due to
wglCreateContextAttribsARB not available, similar as is done for x11
with glxCreateContextAttribsARB


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1189 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-18 05:13:16 +00:00
beuc
95d74d15c0 Identify more precisly where GLdouble->GLfloat is needed in freeglut header
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1188 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 22:13:58 +00:00
beuc
ef9c4e1361 Rename fghChooseConfigEGL -> fghChooseConfig (not a specialization of an existing function)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1187 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 19:29:49 +00:00
beuc
7a42e4527e Fix library for GLES1
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1186 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 16:26:00 +00:00
beuc
b42288155e Removed fgPlatformGlutLayerGet to match other ports (thanks Diederick)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1185 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 16:12:31 +00:00
dcnieho
70046e0145 got rid of edgeflags as I now draw all wire frames face-by-face using
line loops. Split wire and solid drawing in two separate functions
Now doing polygon to triangle decomposition using vertex indices that
are passed to glDrawElements, saves on memory, executes more efficient,
and makes wireframe drawing a piece of cake.
This should be GLES1 compatible too, hope so!


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1184 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 16:11:06 +00:00
beuc
604018bc92 Implement EGL fgPlatformGlutGetModeValues and partial/reusable fgPlatformGlutGet
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1183 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 15:36:25 +00:00
beuc
a729bc608f EGL: implement fgPlatformSetWindow
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1182 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 14:24:42 +00:00
beuc
2a3295e970 Add 2 more temporary stubs
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1181 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 14:18:33 +00:00
beuc
6bc5a5c401 Remove Android-specific code (logging) in fg_display_egl
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1180 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 14:14:01 +00:00
beuc
af95cbdafe Context can be used for a menu rather than the current window
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1179 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 13:29:51 +00:00
beuc
3ce776e21e EGL: more code reusability
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1178 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 12:34:22 +00:00
beuc
b4115920d4 fghChooseConfigEGL returns 1/0 if found/not found
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1177 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 11:39:45 +00:00
beuc
6a05cd0a10 Move tagSFG_PlatformWindowState from EGL to Android
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1176 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 11:21:56 +00:00
beuc
04e3e33ad7 Move OpenGL ES stubs out of Android
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1175 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 10:33:28 +00:00
beuc
5149d43941 EGL: make more code reusable - less Android-specific
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1174 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 10:30:31 +00:00
beuc
40db28bb94 EGL: separate config and context code
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1173 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 10:09:19 +00:00
beuc
8b779d66dd Copy documentation about FREEGLUT_GLES2 and FREEGLUT_GLES1 from CMakefile.txt to freeglut_std.h (a.k.a. don't use them)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1172 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 07:05:25 +00:00
dcnieho
b38c9bc3ee that definition is FREEGLUT_GLES1, not FREEGLUT_GLES
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1171 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 04:00:13 +00:00
dcnieho
da52865ab3 little bit of cleanup
added code for GLES1 (though only tested on OpenGL 2, non-ES context)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1170 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 03:58:26 +00:00
dcnieho
99cd253ea3 oops, that was a bit sloppy. Also added a missing free
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1169 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 02:23:03 +00:00
dcnieho
1b5b24155d check for every malloc call if memory was allocated successfully
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1168 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 02:21:19 +00:00
dcnieho
5818920c5c Need to also set glDisable(GL_CULL_FACE) when drawing wireframe to match what was
produced before


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1167 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 02:11:49 +00:00
dcnieho
445fd29338 Done dodecahedron. Nice, this just worked!
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1166 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 02:06:21 +00:00
dcnieho
c4e7f30fae removing some debug code
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1165 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 01:36:08 +00:00
dcnieho
b043205853 was still trying to draw RhombicDodecahedron as GL_QUAD, of course it
doesn't work
Made internal draw macro for case with edge flags


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1164 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 01:35:11 +00:00
dcnieho
41ce6d6860 implemented scheme for automatic square and pentagon decomposition and
edgeflag generation
Works for cube, RhombicDodecahedron temporarily broken (probably due to
incorrect vertex order for decomposition method)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1163 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 00:32:08 +00:00
dcnieho
9f437ed383 corrected data type (its a demo after all, better be precise)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1162 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-17 00:21:40 +00:00
beuc
31e0027e09 Move EGL fields to a separate structure for reusability (e.g. upcoming Mesa X11 EGL support)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1161 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 23:23:19 +00:00
beuc
cb3dea2183 CMake: Declare OPTIONS higher in the file so they can be used to conditionaly include source files
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1160 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 21:39:37 +00:00
beuc
f6111f49ac GLES1 and GLES2 versions are now compiled with -DFREEGLUT_GLES1 and -DFREEGLUT_GLES2 to cleanly bootstrap headers inclusion
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1159 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 21:30:26 +00:00
beuc
ea875680a5 CMake: use same test for referencing and generating freeglutdll.def
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1158 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 20:43:29 +00:00
dcnieho
977a9f1e6b cube now done with triangles, internal edges on each face hidden with
edge flag


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1157 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 11:06:23 +00:00
dcnieho
b95ed51118 RhombicDodecahedron moved to glVertexPointer
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1156 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 08:46:13 +00:00
dcnieho
ade8e6e8ef icosahedron also done
wrote for easy declaring of interface functions


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1155 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 08:36:48 +00:00
dcnieho
b6f616f685 made some macros to reduce code duplication
made naming completely consistent now


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1154 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 07:55:12 +00:00
dcnieho
4f9c00faa7 octahedron also done
another pass at making all variable types consistent
added some direct mode drawing code for debugging


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1153 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 07:24:34 +00:00
dcnieho
5bb67c1c82 now a toggle for perspective/orthogonal projection in shapes demo
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1152 7f0cb862-5218-0410-a997-914c9d46530a
2012-03-16 06:05:33 +00:00