Remove renderGLGeometry from kwinglutils.

Not used anymore - completely replaced by VBO.
This commit is contained in:
Martin Gräßlin 2011-02-04 19:37:31 +01:00 committed by Marco Martin
parent 5cbd1d458b
commit 9814a8e81b
2 changed files with 0 additions and 157 deletions

View file

@ -170,125 +170,6 @@ int nearestPowerOfTwo(int x)
return 1 << last;
}
void renderGLGeometry(int count, const float* vertices, const float* texture, const float* color,
int dim, int stride)
{
return renderGLGeometry(infiniteRegion(), count, vertices, texture, color, dim, stride);
}
void renderGLGeometry(const QRegion& region, int count,
const float* vertices, const float* texture, const float* color,
int dim, int stride)
{
#ifdef KWIN_HAVE_OPENGLES
Q_UNUSED(region)
Q_UNUSED(count)
Q_UNUSED(vertices)
Q_UNUSED(texture)
Q_UNUSED(color)
Q_UNUSED(dim)
Q_UNUSED(stride)
#else
// Using arrays only makes sense if we have larger number of vertices.
// Otherwise overhead of enabling/disabling them is too big.
bool use_arrays = (count > 5);
if (use_arrays) {
glPushAttrib(GL_ENABLE_BIT);
glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
// Enable arrays
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(dim, GL_FLOAT, stride, vertices);
if (texture != NULL) {
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, stride, texture);
}
if (color != NULL) {
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(4, GL_FLOAT, stride, color);
}
}
// Clip using scissoring
if (!effects->isRenderTargetBound()) {
PaintClipper pc(region);
for (PaintClipper::Iterator iterator;
!iterator.isDone();
iterator.next()) {
if (use_arrays)
glDrawArrays(GL_QUADS, 0, count);
else
renderGLGeometryImmediate(count, vertices, texture, color, dim, stride);
}
} else {
if (use_arrays)
glDrawArrays(GL_QUADS, 0, count);
else
renderGLGeometryImmediate(count, vertices, texture, color, dim, stride);
}
if (use_arrays) {
glPopClientAttrib();
glPopAttrib();
}
#endif
}
void renderGLGeometryImmediate(int count, const float* vertices, const float* texture, const float* color,
int dim, int stride)
{
#ifdef KWIN_HAVE_OPENGLES
Q_UNUSED(count)
Q_UNUSED(vertices)
Q_UNUSED(texture)
Q_UNUSED(color)
Q_UNUSED(dim)
Q_UNUSED(stride)
#else
// Find out correct glVertex*fv function according to dim parameter.
void (*glVertexFunc)(const float*) = glVertex2fv;
if (dim == 3)
glVertexFunc = glVertex3fv;
else if (dim == 4)
glVertexFunc = glVertex4fv;
// These are number of _floats_ per item, not _bytes_ per item as opengl uses.
int vsize, tsize, csize;
vsize = tsize = csize = stride / sizeof(float);
if (!stride) {
// 0 means that arrays are tightly packed. This gives us different
// strides for different arrays
vsize = dim;
tsize = 2;
csize = 4;
}
glBegin(GL_QUADS);
// This sucks. But makes it faster.
if (texture && color) {
for (int i = 0; i < count; i++) {
glTexCoord2fv(texture + i * tsize);
glColor4fv(color + i * csize);
glVertexFunc(vertices + i * vsize);
}
} else if (texture) {
for (int i = 0; i < count; i++) {
glTexCoord2fv(texture + i * tsize);
glVertexFunc(vertices + i * vsize);
}
} else if (color) {
for (int i = 0; i < count; i++) {
glColor4fv(color + i * csize);
glVertexFunc(vertices + i * vsize);
}
} else {
for (int i = 0; i < count; i++)
glVertexFunc(vertices + i * vsize);
}
glEnd();
#endif
}
void addQuadVertices(QVector<float>& verts, float x1, float y1, float x2, float y2)
{
verts << x1 << y1;

View file

@ -85,44 +85,6 @@ inline bool KWIN_EXPORT isPowerOfTwo(int x)
**/
int KWIN_EXPORT nearestPowerOfTwo(int x);
/**
* Renders quads using given vertices.
* If texture is not 0, each texture coordinate much have two components (st).
* If color is not 0, each color much have four components (rgba).
* Note that texture coordinates must match texture type (normalized/unnormalized
* for GL_TEXTURE_2D/GL_TEXTURE_ARB).
*
* In OpenGL ES this method is a no-op.
*
* @param count number of vertices to use.
* @param dim number of components per vertex coordinate in vertices array.
* @param stride byte offset of consecutive elements in arrays. If 0, then
* arrays must be tighly packed. Stride must be a multiple of sizeof(float)!
* @deprecated Use GLVertexBuffer
* @see GLVertexBuffer
**/
KWIN_EXPORT void renderGLGeometry(const QRegion& region, int count,
const float* vertices, const float* texture = 0, const float* color = 0,
int dim = 2, int stride = 0);
/**
* Same as above, renders without specified region
* @deprecated Use GLVertexBuffer
* @see GLVertexBuffer
**/
KWIN_EXPORT void renderGLGeometry(int count,
const float* vertices, const float* texture = 0, const float* color = 0,
int dim = 2, int stride = 0);
/**
* In OpenGL ES this method is a no-op.
*
* @deprecated Use GLVertexBuffer
* @see GLVertexBuffer
**/
KWIN_EXPORT void renderGLGeometryImmediate(int count,
const float* vertices, const float* texture = 0, const float* color = 0,
int dim = 2, int stride = 0);
/**
* @deprecated Quads are not available in OpenGL ES
**/