# Traçat de raigs

El traçat de raigs (en anglès ray tracing) és un algoritme per a síntesi d'imatges que calcula el camí de la llum com a píxels en un plànol de la imatge i simula els seus efectes sobre les superfícies virtuals en les quals incideixi. Aquesta tècnica és capaç de produir imatges amb un alt grau de realisme, d'una forma major que el renderizado mitjançant línies d'exploració tradicional, encara que el cost computacional del traçat de rajos és molt major.

## Història

La idea del traçat de raigs ve aproximadament del segle xvi quan va ser descrit per Albrecht Durer. Al 1982, Scott Roth va usar el terme emissió de raigs en el context de gràfics per computadora, encara que es tracta d'una versió molt menys precisa del traçat de raigs que no inclou refracció ni reflexió de la llum.

## Funcionament de l'algoritme

En l'algoritme d'emissió de rajos es determinen les superfícies visibles en l'escena que es vol sintetitzar traçant rajos des de l'observador (càmera) fins a l'escena a través del plànol de la imatge. Es calculen les interseccions del raig amb els diferents objectes de l'escena i aquella intersecció que estigui més prop de l'observador determina quin és l'objecte visible.
L'algoritme de traçat de raigs estén la idea de traçar els raigs per determinar les superfícies visibles amb un procés d'ombreig (càlcul de la intensitat del píxel) que té en compte efectes globals d'il·luminació com poden ser reflexions, refraccions o ombres llançades.
Per a simular els efectes de reflexió i refracció es tracen rajos recursivament des del punt d'intersecció que s'està ombrejant depenent de les característiques del material de l'objecte intersecat.
Per a simular les ombres llançades s'emeten raigs des del punt d'intersecció fins a les fonts de llum. Aquests raigs es coneixen amb el nom de rajos d'ombra.
L'algoritme bàsic de traçat de rajos va ser millorat per Robert Cook (1985) per simular altres efectes en les imatges mitjançant el mostreig estocàstic usant un mètode de Montecarlo; entre aquests efectes podem citar el desenfocament de moviment, la profunditat de camp o el submostratge per suavitzar les vores de la imatge resultant.
En l'actualitat, l'algoritme de traçat de raigs és la base d'altres algoritmes més complexos per a síntesi d'imatges (mapatge de fotons, Metròpolis, entre d'altres) que són capaces de simular efectes d'il·luminació global complexos com la mescla de colors o les càustiques. Aquesta tècnica va ser introduïda per empreses com Pixar en els seus ordinadors de sobretaula destinats a l'animació per computadora. Aquesta tecnologia va començar a ser desenvolupada per NVIDIA l'any 2013 i no va ser fins a l'any 2019 que va ser introduïda al mercat domèstic amb l'arquitectura Turing per a targetes de video innovant amb un mètode per millorar la qualitat visual de videojocs i objectes tridimensionals. El primer dels títols a suportar la tecnologia de traçat de raigs de llum en temps real és el Battlefield V. Aquesta tecnologia també va ser desenvolupada per Intel i va ser coneguda amb el nom clau Larrabee per a la seva sèrie de targetes gràfiques dedicades de les quals només es van crear mostres d'enginyeria i que mai van sortir al mercat. Una part d'aquesta recerca va ser destinada per al desenvolupament dels xips gràfics en els seus processadors Haswell. AMD introduirà aquesta tecnologia en les seves targetes gràfiques Navi i en els APU de les consoles PlayStation 5 i Xbox Sèries X|S.

## Revisió de l'algoritme

El traçat de raigs descriu un mètode d'imatges visuals construïdes en ambients de gràfics en 3D, amb un major fotorrealisme que l'emissió de raigs o el renderizado mitjançant línia d'escanejo. Est funciona traçant la línia visual d'un ull imaginari a través de cada píxel en una pantalla virtual, i calculant el color de l'objecte visible a través d'ella.
És un algoritme encara en desenvolupament a causa de la seva abundant despesa de recursos, s'espera al fet que s'optimitzi i es perfeccioni en els propers anys.

## Vegeu també

* Renderització
* Pixelat
* Gràfics 3D per ordinador