Renamed Source:s/getDistance to Source:s/getAttenuationDistances (resolves issue #632).

Fixed detection for mipmap sharpness support.
This commit is contained in:
Alex Szpakowski
2013-10-10 23:05:45 -03:00
parent bf070afffa
commit 2710c6c488
4 changed files with 16 additions and 16 deletions
+7 -7
View File
@@ -58,6 +58,7 @@ Image::Image(love::image::CompressedData *cdata)
, width((float)(cdata->getWidth(0)))
, height((float)(cdata->getHeight(0)))
, texture(0)
, texCoordScale(1.0, 1.0)
, mipmapSharpness(defaultMipmapSharpness)
, mipmapsCreated(false)
, compressed(true)
@@ -114,8 +115,7 @@ void Image::drawq(Quad *quad, float x, float y, float angle, float sx, float sy,
Matrix t;
t.setTransformation(x, y, angle, sx, sy, ox, oy, kx, ky);
const Vertex *v = quad->getVertices();
drawv(t, v);
drawv(t, quad->getVertices());
}
void Image::predraw() const
@@ -149,21 +149,21 @@ void Image::uploadCompressedMipmaps()
bind();
int mipmapcount = cdata->getMipmapCount();
int count = cdata->getMipmapCount();
// We have to inform OpenGL if the image doesn't have all mipmap levels.
if (GLEE_VERSION_1_2 || GLEE_SGIS_texture_lod)
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, mipmapcount - 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, count - 1);
}
else if (cdata->getWidth(mipmapcount-1) > 1 || cdata->getHeight(mipmapcount-1) > 1)
else if (cdata->getWidth(count-1) > 1 || cdata->getHeight(count-1) > 1)
{
// Telling OpenGL to ignore certain levels isn't always supported.
throw love::Exception("Cannot load mipmaps: "
"compressed image does not have all required levels.");
}
for (int i = 1; i < mipmapcount; i++)
for (int i = 1; i < count; i++)
{
glCompressedTexImage2DARB(GL_TEXTURE_2D,
i,
@@ -627,7 +627,7 @@ bool Image::hasMipmapSupport()
bool Image::hasMipmapSharpnessSupport()
{
return GLEE_VERSION_1_4 || GLEE_EXT_texture_lod_bias;
return GLEE_VERSION_1_4;
}
bool Image::hasCompressedTextureSupport()
+3 -3
View File
@@ -122,7 +122,7 @@ void Mesh::setVertexMap(const std::vector<uint32> &map)
ibo = nullptr;
}
if (!ibo)
if (!ibo && size > 0)
{
// Full memory backing because we might access the data at any time.
ibo = VertexBuffer::Create(size, GL_ELEMENT_ARRAY_BUFFER, GL_DYNAMIC_DRAW, VertexBuffer::BACKING_FULL);
@@ -130,7 +130,7 @@ void Mesh::setVertexMap(const std::vector<uint32> &map)
element_count = map.size();
if (element_count > 0)
if (ibo && element_count > 0)
{
VertexBuffer::Bind ibo_bind(*ibo);
VertexBuffer::Mapper ibo_map(*ibo);
@@ -241,7 +241,7 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo
GLenum mode = getGLDrawMode(draw_mode);
if (element_count > 0)
if (ibo && element_count > 0)
{
VertexBuffer::Bind ibo_bind(*ibo);