summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
afc5702)
Pad the graph texture if NPOT textures are not supported
Remove an extraneous pop_matrix call
Distributed unter the GPL
*/
Distributed unter the GPL
*/
+#include <msp/gl/extension.h>
#include <msp/gl/immediate.h>
#include <msp/gl/matrix.h>
#include <msp/gl/meshbuilder.h>
#include <msp/gl/immediate.h>
#include <msp/gl/matrix.h>
#include <msp/gl/meshbuilder.h>
scale(1024),
mesh((GL::COLOR4_UBYTE, GL::TEXCOORD2, GL::VERTEX2))
{
scale(1024),
mesh((GL::COLOR4_UBYTE, GL::TEXCOORD2, GL::VERTEX2))
{
- texture.storage(GL::RGBA, height, width, 0);
+ unsigned texw = height;
+ unsigned texh = width;
+ if(!GL::is_supported("ARB_texture_non_power_of_two"))
+ {
+ for(texw=1; texw<height; texw<<=1) ;
+ for(texh=1; texh<width; texh<<=1) ;
+ }
+ texture.storage(GL::RGBA, texw, texh, 0);
+ texture.image(0, GL::RGBA, GL::UNSIGNED_BYTE, 0);
texture.set_min_filter(GL::LINEAR);
texture.set_min_filter(GL::LINEAR);
+ float wf = static_cast<float>(height)/texw;
+ float hf = static_cast<float>(width)/texh;
GL::MeshBuilder bld(mesh);
bld.color(1.0f, 1.0f, 1.0f);
bld.begin(GL::QUADS);
GL::MeshBuilder bld(mesh);
bld.color(1.0f, 1.0f, 1.0f);
bld.begin(GL::QUADS);
bld.vertex(0, 0);
bld.texcoord(0, 0);
bld.vertex(width, 0);
bld.vertex(0, 0);
bld.texcoord(0, 0);
bld.vertex(width, 0);
bld.vertex(width, height);
bld.vertex(width, height);
bld.vertex(0, height);
bld.end();
}
bld.vertex(0, height);
bld.end();
}
up_min = min(value+1, up_min);
up_max = max(value, up_max);
}
up_min = min(value+1, up_min);
up_max = max(value, up_max);
}
- unsigned *row = &data[y*100];
- for(unsigned x=0; x<100; ++x)
+ unsigned *row = &data[y*height];
+ for(unsigned x=0; x<height; ++x)
{
if(x>=up_min && x<=up_max)
row[x] = 0xFF8000FF;
else if(x<=down)
row[x] = 0xFF80FF80;
{
if(x>=up_min && x<=up_max)
row[x] = 0xFF8000FF;
else if(x<=down)
row[x] = 0xFF80FF80;
- else if(x%25==24 || y%60==0)
+ else if((x*4+4)%height==0 || y%60==0)
row[x] = 0x40FFFFFF;
else
row[x] = 0x00000000;
}
}
row[x] = 0x40FFFFFF;
else
row[x] = 0x00000000;
}
}
- texture.image(0, GL::RGBA, GL::UNSIGNED_BYTE, data.data());
+ texture.sub_image(0, 0, 0, height, width, GL::RGBA, GL::UNSIGNED_BYTE, data.data());
imm.color(1.0f, 1.0f, 1.0f);
font.draw_string(short_name, imm);
GL::Texture::unbind();
imm.color(1.0f, 1.0f, 1.0f);
font.draw_string(short_name, imm);
GL::Texture::unbind();