Las tarjetas de video pueden ser programadas directamente a través de sus propias interfaces de lenguaje ensamblador, llamado para las GPUs ARB; sin embargo, la dificultad que esto conlleva y su poca portabilidad ha implicado el desarrollo de varios lenguajes que facilitan el proceso y "traducen" a la tarjeta de video las instrucciones.