MCPcopy
hub / github.com/XingangPan/DragGAN / draw_shape

Function draw_shape

gui_utils/gl_utils.py:309–332  ·  view source on GitHub ↗
(vertices, *, mode=gl.GL_TRIANGLE_FAN, pos=0, size=1, color=1, alpha=1)

Source from the content-addressed store, hash-verified

307#----------------------------------------------------------------------------
308
309def draw_shape(vertices, *, mode=gl.GL_TRIANGLE_FAN, pos=0, size=1, color=1, alpha=1):
310 assert vertices.ndim == 2 and vertices.shape[1] == 2
311 pos = np.broadcast_to(np.asarray(pos, dtype='float32'), [2])
312 size = np.broadcast_to(np.asarray(size, dtype='float32'), [2])
313 color = np.broadcast_to(np.asarray(color, dtype='float32'), [3])
314 alpha = np.clip(np.broadcast_to(np.asarray(alpha, dtype='float32'), []), 0, 1)
315
316 gl.glPushClientAttrib(gl.GL_CLIENT_VERTEX_ARRAY_BIT)
317 gl.glPushAttrib(gl.GL_CURRENT_BIT | gl.GL_TRANSFORM_BIT)
318 gl.glMatrixMode(gl.GL_MODELVIEW)
319 gl.glPushMatrix()
320
321 gl.glEnableClientState(gl.GL_VERTEX_ARRAY)
322 gl.glEnableClientState(gl.GL_TEXTURE_COORD_ARRAY)
323 gl.glVertexPointer(2, gl.GL_FLOAT, 0, vertices)
324 gl.glTexCoordPointer(2, gl.GL_FLOAT, 0, vertices)
325 gl.glTranslate(pos[0], pos[1], 0)
326 gl.glScale(size[0], size[1], 1)
327 gl.glColor4f(color[0] * alpha, color[1] * alpha, color[2] * alpha, alpha)
328 gl.glDrawArrays(mode, 0, vertices.shape[0])
329
330 gl.glPopMatrix()
331 gl.glPopAttrib()
332 gl.glPopClientAttrib()
333
334#----------------------------------------------------------------------------
335

Callers 2

draw_rectFunction · 0.85
draw_circleFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected