¿Cómo debo renderizar un efecto de linterna 2D?

Estoy tratando de hacer un efecto de linterna en mi juego 2D. Mi linterna se representa como un segmento de línea que se extiende desde la entidad en un ángulo específico. La linterna puede apuntar en cualquier dirección. La linterna también varía en intensidad (longitud del haz de la linterna).

Tengo un problema al tratar de encontrar la mejor manera (y la más fácil) de representar el efecto de la linterna. Particularmente con el mapa de azulejos.

Puedo pensar en dos métodos. Pero no tengo idea de implementarlas:

SOLO dibuje una parte cónica / segmento de círculo del mapa en mosaicocubriendo la pantalla con una textura negra y con un código perforando un agujero en la textura negra. De esta manera puedo cambiar los atributos del agujero.

No tengo idea de dónde empezar con esto / cómo se llaman estos / si libGDX puede hacerlos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta