В canvas.drawVertices(...)
есть 3 режима.Т.е. Canvas.VertexMode.TRIANGLES
, Canvas.VertexMode.TRIANGLES_FAN
и Canvas.VertexMode.TRIANGLES_STRIP
Я мог понять Canvas.VertexMode.TRIANGLES_FAN
и Canvas.VertexMode.TRIANGLES_STRIP
.Но не Canvas.VertexMode.TRIANGLES
Правда ли, что Canvas.VertexMode.TRIANGLES
также будет рисовать треугольник из первых 3 координат из verts
ниже и игнорировать другие?то есть он игнорирует последние 2 координаты verts
, то есть {width/3f, height.toFloat(), 0f, height.toFloat()}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
if (width == 0 || height == 0) return
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
val verts = floatArrayOf(
0f, 0f,
width.toFloat(), 0f,
width/2f, height.toFloat(),
width/3f, height.toFloat(),
0f, height.toFloat()
)
canvas.drawVertices(Canvas.VertexMode.TRIANGLES, verts.size, verts, 0,
null, 0, null, 0, null, 0, 0, paint)
}