Noticias3D
Registrarme | Recuperar password
  • Inicio(current)
  • Noticias
    • Últimas noticias
    • MÁs leÍdas
    • MÁs comentadas
    • Envia una noticia
  • Articulos
    • Todos
    • Placas base
    • Tarjetas grÁficas
    • Almacenamiento
    • F.AlimentaciÓn
    • Cajas de ordenador
    • Audio y vÍdeo
    • Gaming
    • PortÁtiles
    • GuÍas y taller
    • Memoria
    • Monitores
  • Tags
  • Drivers
  • Foro
×

Google

Raytracing: Un motor de render

featured image
27 de marzo, 2002 |
Alex Canalda
Siguiente
Mostrando página 1 de 11

Introducción

El raytracing es una técnica para obtener imágenes 3D generadas por ordenador. No consiste en retoque fotográfico, genera una imagen 3D desde cero. Raytracing es una palabra compuesta del arameo errr esto digo inglés, sus dos partes describen como funciona esta técnica. Para generar una escena 3D se pueden tomar varias aproximaciones dependiendo de la técnica que se usa, en este artículo veremos el raytracing y como hacer un motor de render que no será en tiempo real. El enfoque que pretendo tomar en este artículo es partir desde cero e ir incrementando el nivel de dificultad (como un juego) pero claro unos conocimientos mínimos de matemáticas, programación en C++ son imprescindibles para llegar al final. Lo que me ha movido ha escribir esto es la aparición de películas como Shrek o Final Fantasy, las dos creadas usando esta técnica de render llevada a la casi-perfección. Creo que cuando terminéis de leer esto podréis evaluar mejor el trabajo que hay detrás de una película de este tipo. También entenderéis mejor lo que hace una tarjeta aceleradora 3D ya que varios de los efectos del motor de render los hace una aceleradora por hardware en tiempo real.

El principio

El mundo que nos rodea está compuesto de objetos sólidos, líquidos, gases y fuentes de luz (de varios tipos, unas que emiten luz en todas direcciones y otras solo en alguna). El raytracing modela el comportamiento de luz y su interacción con el mundo. Debido a la complejidad de líquidos y gases limitaremos nuestro campo de acción a los sólidos (opacos y transparentes) y a las fuentes de luz que emiten en todas direcciones. Lo primero que debemos imaginar es que tenemos un mundo o escena (consideraremos al mundo como una descripción geométrica limitada a unos cuantos objetos) y un observador o cámara (del que también tendremos otra descripción). Raytracing intenta modelar cómo vería el mundo el observador. Una forma de hacer esto sería seguir cada rayo de luz que emite cada fuente de luz y ver si va a parar al ojo del observador. Esto se podría hacer ya que el comportamiento de la luz es conocido pero computacionalmente es imposible ya que hay muchos rayos que el observador no vería o simplemente no interactuarían con el mundo. Así que lo que se hace es lo contrario, lanzar rayos desde el observador hacia el mundo y llegado un cierto momento calcular la luz que influye en ese rayo. En el caso de una película el observador sería la cámara y la escena el mundo. Otro punto a destacar es que tipo de cámara (observador) que usaremos, perspectiva o paralela. La verdad es que son distintas y trabajan de formas diferentes pero el resultado es muy similar, las veremos en detalle más adelante.

Para empezar a realizar un motor de render lo primero es saber hasta donde queremos llegar y hacerlo progresivamente. Empezaremos con los objetos sólidos y modelaremos varios tipos, empezando por el objeto más sencillo, la esfera. Luego podremos ir añadiendo otros tipos de objetos: polígonos, cilindros, conos, curvas de Bezier, Nurbs... Si con esto no tienes suficiente se puede optimizar mucho el programa de raytracing llevándolo a entornos paralelos, programando por zonas mediante árboles, añadiendo texturas, efectos ufffff y muchas cosas más, si lo consigues puedes montar una empresa... Yo sinceramente lo hice en plan casero y programé las esferas, los polígonos y las texturas.

Páginas:
Siguiente
Mostrando página 1 de 11

Tags:Software

Ver comentarios (2)

Últimos articulos
  • Corsair TC80 Review: una silla gaming robusta, cómoda y asequible
  • GMK TriggerKey Review: teclas gatillo ajustables para sacar más partido a las WASD
  • Cooler Master V8 ACE 3DHP Review: rendimiento de gama alta con torre única y heatpipes 3DHP
  • Lenovo y su apuesta por la IA Generativa en el edge: te explicamos qué es y en qué equipos puedes usarla
  • ASUS ROG Raikiri II Pro PC Review: TMR, 8.000 Hz, pantalla integrada y hasta 79 horas de autonomía
  • ASUS Zenbook 14 UX3480 Qualcomm Review: el MacBook Neo killer con Snapdragon X
  • Cooler Master HAF II 500 Review: una torre ATX gigantesca con tres ventiladores Mighty40 y un flujo de aire brutal
  • MSI Maestro 500 Wireless review: triple conectividad, ANC y hasta 90 horas de autonomía por 70 €
  • NVIDIA DLSS 5: ¿revolución gráfica o “AI Slop”? Así funciona su nuevo renderizado neuronal
  • QNAP QSW-M2130P-2C2S26T Review: switch L2 con 10 GbE, PoE++ y 375 W de potencia total
Top articulos
  • Intel Nova Lake: todo lo que sabemos de los próximos Core Ultra Series 4 para escritorio y portátiles
  • NVIDIA DLSS 5: ¿revolución gráfica o “AI Slop”? Así funciona su nuevo renderizado neuronal
  • QNAP QSW-M2130P-2C2S26T Review: switch L2 con 10 GbE, PoE++ y 375 W de potencia total
  • ASUS ROG Swift OLED PG27UCWM Review: monitor Tandem RGB WOLED 4K de 240 Hz con modo dual a 480 Hz
  • IA Generativa en el edge: cómo ejecutar modelos abiertos en local y qué hardware necesitas
  • AORUS MASTER 16 Gen 2 Review: Ryzen 9 9955HX3D, RTX 5090 y pantalla OLED de 240 Hz
  • ASUS ROG Raikiri II Pro PC Review: TMR, 8.000 Hz, pantalla integrada y hasta 79 horas de autonomía
  • ASUS TUF Gaming 850W Platinum Review: una fuente ATX 3.1 silenciosa y preparada para las GPU más exigentes
  • MSI MPG CoreLiquid P22 360 Review: una AIO de 360 mm con pantalla LCD, ARGB y gran rendimiento
  • be quiet! Light Loop IO LCD 360mm Review: una refrigeración líquida AIO con pantalla LCD, ARGB y un excelente rendimiento
Compras recomendadas
  • Insta360 X5 Esencial Kit 8K
  • Tarjeta Gráfica PNY GeForce RTX 5070 Ti 16GB
  • AMD Ryzen 7 9800X3D 4.7/5.2GHz
  • Tarjeta Gráfica Asus ROG STRIX GeForce RTX 5070 OC 12GB
  • Monitor MSI MAG 274QP QD-OLED X24 27" WQHD 240Hz QD-OLED
  • ASUS TUF GAMING B650M-PLUS WIFI
  • Gigabyte Z890 GAMING X WIFI7
Noticias 3D
  • articulos
  • drivers
  • foro
  • tags
  • contacto
  • publicidad
© Copyright 2000 - 2026 | nFinite9000 S.L. | Todos los derechos reservados | Aviso legal