Mercurial > sdl-ios-xcode
comparison src/video/SDL_renderer_gl.c @ 3475:3bd01435287f
Added comment for pixel-perfect line workaround.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 21 Nov 2009 07:26:52 +0000 |
parents | 1edb86163d62 |
children | 6f887204fa7a |
comparison
equal
deleted
inserted
replaced
3474:1edb86163d62 | 3475:3bd01435287f |
---|---|
1155 data->glVertex2f(0.5f + x2, 0.5f + y2); | 1155 data->glVertex2f(0.5f + x2, 0.5f + y2); |
1156 data->glEnd(); | 1156 data->glEnd(); |
1157 | 1157 |
1158 /* The line is half open, so we need one more point to complete the line. | 1158 /* The line is half open, so we need one more point to complete the line. |
1159 * http://www.opengl.org/documentation/specs/version1.1/glspec1.1/node47.html | 1159 * http://www.opengl.org/documentation/specs/version1.1/glspec1.1/node47.html |
1160 * If we have to, we can use vertical line and horizontal line textures | |
1161 * for vertical and horizontal lines, and then create custom textures | |
1162 * for diagonal lines and software render those. It's terrible, but at | |
1163 * least it would be pixel perfect. | |
1160 */ | 1164 */ |
1161 data->glBegin(GL_POINTS); | 1165 data->glBegin(GL_POINTS); |
1162 #ifdef __APPLE__ | 1166 #ifdef __APPLE__ |
1163 /* Mac OS X seems to always leave the second point open */ | 1167 /* Mac OS X seems to always leave the second point open */ |
1164 data->glVertex2f(0.5f + x2, 0.5f + y2); | 1168 data->glVertex2f(0.5f + x2, 0.5f + y2); |
1165 #else | 1169 #else |
1166 /* Linux seems to use the right-most or bottom-most point open */ | 1170 /* Linux seems to leave the right-most or bottom-most point open */ |
1167 if (x1 > x2) { | 1171 if (x1 > x2) { |
1168 data->glVertex2f(0.5f + x1, 0.5f + y1); | 1172 data->glVertex2f(0.5f + x1, 0.5f + y1); |
1169 } else if (x2 > x1) { | 1173 } else if (x2 > x1) { |
1170 data->glVertex2f(0.5f + x2, 0.5f + y2); | 1174 data->glVertex2f(0.5f + x2, 0.5f + y2); |
1171 } else if (y1 > y2) { | 1175 } else if (y1 > y2) { |