Варианта 2,
1) canvas (скорее всего качество плохое, потому что на телефоне высокий DPI, и canvas нужно увеличивать в 2-3 раза, почитайте об этом)
2) WebGl, можете использовать нативный, придется немного запарится, но нарисовать градиентный треугольник сможете. Либо возьмите
Pixi.js , это обертка над webGl, с ним будет проще. Погуглите про displacementFilter в pixi.js, как раз эффект "волны" получится)