Mercurial > mplayer.hg
comparison libvo/matrixview.c @ 36245:081cb3fca68f
Use only one single texture.
author | reimar |
---|---|
date | Wed, 12 Jun 2013 18:54:19 +0000 |
parents | ca4ce05e1930 |
children | b474a1e925c0 |
comparison
equal
deleted
inserted
replaced
36244:ca4ce05e1930 | 36245:081cb3fca68f |
---|---|
32 #include "matrixview_font.h" | 32 #include "matrixview_font.h" |
33 | 33 |
34 static float matrix_contrast = 1.5; | 34 static float matrix_contrast = 1.5; |
35 static float matrix_brightness = 1.0; | 35 static float matrix_brightness = 1.0; |
36 | 36 |
37 static const uint8_t flare[4][4] = { | |
38 { 0, 0, 0, 0}, | |
39 { 0, 180, 0, 0}, | |
40 { 0, 0, 0, 0}, | |
41 { 0, 0, 0, 0} | |
42 }; | |
43 | |
44 #define MAX_TEXT_X 0x4000 | 37 #define MAX_TEXT_X 0x4000 |
45 #define MAX_TEXT_Y 0x4000 | 38 #define MAX_TEXT_Y 0x4000 |
46 static int text_x = 0; | 39 static int text_x = 0; |
47 static int text_y = 0; | 40 static int text_y = 0; |
48 #define _text_x (text_x/2) | 41 #define _text_x (text_x/2) |
107 | 100 |
108 static void draw_flare(float x, float y, float z) //flare | 101 static void draw_flare(float x, float y, float z) //flare |
109 { | 102 { |
110 mpglColor4ub(204, 204, 204, 255); // Basic polygon color | 103 mpglColor4ub(204, 204, 204, 255); // Basic polygon color |
111 | 104 |
112 mpglTexCoord2f(0, 0); | 105 mpglTexCoord2f(1.0 - 4.0/128, 1.0 - 4.0/64); |
113 mpglVertex3f(x - 1, y + 1, z); | 106 mpglVertex3f(x - 1, y + 1, z); |
114 mpglTexCoord2f(0.75, 0); | 107 mpglTexCoord2f(1.0 - 1.0/128, 1.0 - 4.0/64); |
115 mpglVertex3f(x + 2, y + 1, z); | 108 mpglVertex3f(x + 2, y + 1, z); |
116 mpglTexCoord2f(0.75, 0.75); | 109 mpglTexCoord2f(1.0 - 1.0/128, 1.0 - 1.0/64); |
117 mpglVertex3f(x + 2, y - 2, z); | 110 mpglVertex3f(x + 2, y - 2, z); |
118 mpglTexCoord2f(0, 0.75); | 111 mpglTexCoord2f(1.0 - 4.0/128, 1.0 - 1.0/64); |
119 mpglVertex3f(x - 1, y - 2, z); | 112 mpglVertex3f(x - 1, y - 2, z); |
120 } | 113 } |
121 | 114 |
122 static void draw_text(const uint8_t *pic) | 115 static void draw_text(const uint8_t *pic) |
123 { | 116 { |
246 { | 239 { |
247 mpglTexImage2D(GL_TEXTURE_2D, 0, 1, 128, 64, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, | 240 mpglTexImage2D(GL_TEXTURE_2D, 0, 1, 128, 64, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, |
248 font_texture); | 241 font_texture); |
249 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | 242 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
250 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | 243 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
251 | |
252 mpglBindTexture(GL_TEXTURE_2D, 1); | |
253 mpglTexImage2D(GL_TEXTURE_2D, 0, 1, 4, 4, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, | |
254 flare); | |
255 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | |
256 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | |
257 | |
258 // Some pretty standard settings for wrapping and filtering. | |
259 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); | |
260 mpglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); | |
261 mpglBindTexture(GL_TEXTURE_2D, 0); | |
262 } | 244 } |
263 | 245 |
264 void matrixview_init(int w, int h) | 246 void matrixview_init(int w, int h) |
265 { | 247 { |
266 make_text(); | 248 make_text(); |
306 mpglClear(GL_COLOR_BUFFER_BIT); | 288 mpglClear(GL_COLOR_BUFFER_BIT); |
307 | 289 |
308 // OK, let's start drawing our planer quads. | 290 // OK, let's start drawing our planer quads. |
309 mpglBegin(GL_QUADS); | 291 mpglBegin(GL_QUADS); |
310 draw_text(data); | 292 draw_text(data); |
311 mpglEnd(); | |
312 | |
313 mpglBindTexture(GL_TEXTURE_2D, 1); | |
314 mpglBegin(GL_QUADS); | |
315 draw_flares(); | 293 draw_flares(); |
316 mpglEnd(); | 294 mpglEnd(); |
317 mpglBindTexture(GL_TEXTURE_2D, 0); | |
318 | 295 |
319 make_change(currentTime); | 296 make_change(currentTime); |
320 } | 297 } |
321 | 298 |
322 void matrixview_contrast_set(float contrast) | 299 void matrixview_contrast_set(float contrast) |