domingo, 25 de março de 2018

DirectX ganha Raytracing para gráficos mais realistas


A Microsoft sabe que o seu DirectX é um componente de peso que mantém o Windows como plataforma privilegiada para os jogos; e por isso não é de admirar que tente manter-se relevante com o anúncio de um modo raytracing chamado DXR.

A maioria dos utilizadores não perderá um segundo que seja a pensar como é que são geradas as imagens 3D que têm nos jogos, mas a verdade é que se tratam de imagens "falsificadas" que recorrem a todo o tipo de truques para poupar processamento; e que consequentemente vão precisando de métodos cada vez mais complexos para lhes dar maior realismo... como as sombras dinâmicas, diferenças de luminosidade devido a luzes reflectidas, etc.

O raytracing é uma técnica alternativa de rendering 3D que retraça o percurso dos raios de luz e que consegue obter resultados muito mais realistas - sendo que o único problema é que é extremamente "pesada" em termos computacionais; mas o avanço dos GPUs parece estar no ponto para começar a trazer o rendering raytricing em tempo real para os computadores domésticos; ou pelo menos assim pretende a Microsoft com o DirectX Raytracing.

Jogos como o Project PICA PICA já estão a usar este método, e embora ainda se tratem de cenários relativamente simples, já se consegue ir reparando nas diferenças que o raytracing faz (sendo que, obviamente, não faltam as obrigatórias esferas de video / espelhadas para mostrar aquilo que outros sistemas de rendering teriam enorme dificuldade em fazer).

... Faltou apenas dizer que tipo de hardware é que será necessário para correr o DXR em resoluções e framerates decentes... mas para quem passou pelo tempo em que uma única imagem raytraced calculada num Commodore Amiga 500 demorava qualquer coisa como 8 a 12 horas a calcular... qualquer coisa será sempre melhor! :)


6 comentários:

  1. Não sei que novidades traz isto, mas o The Tomoorow Children usava já Cascaded Voxel Cone Ray Tracing na PS4... e o efeito visual em nada ficava a dever ao que tens em cima
    Aliás o Sparse Voxel Octree tinha sido anunciado em 2013 como possível com o hardware destas consolas.
    Em 2015 isso já se implementava e era suportado pelo CryEngine:
    https://www.youtube.com/watch?v=-7U6JgbFCVM
    A novidade aqui não é verdadeiramente nenhuma, excepto o suporte directo no API da Microsoft, que se pretende até especializar na coisa, quando antes tinhas de recorrer a outros APIs e a código proprietário.

    ResponderEliminar
    Respostas
    1. São coisas bem diferentes. Isso era uma técnica para implementar uma iluminação mais realista, mas é bem diferente do ray-tracing.
      O exemplo do Star Wars é mais elucidativo do que permite fazer em termos dos reflexos "reais". :)

      Eliminar
  2. É basicamente voxel ray tracing... basicamente usas apenas meia dúzia de raios por cena para calcular efeitos e aplicas de forma global.
    É bastante simplificado ao ser muito limitado, mas segue os princípios básicos do ray tracing

    ResponderEliminar
  3. Vê este estudo:
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.3443&rep=rep1&type=pdf
    Eles conseguiram simplificar a coisa de forma radical e usando apenas algumas operações, e nas conclusões ainda referem que há maneira de se simplificar ainda mais a coisa!

    ResponderEliminar
    Respostas
    1. Pois, mas no final no há milagres... o exemplo do Star Wars é impressionante enquanto ray-tracing em tempo real, mas está a correr numa máquina de 60 mil dólares. Por isso, não há dúvidas de que para correr em hardware "acessível" se têm que continuar a fazer muitas batotas. :)

      Eliminar
  4. Pois... hehehehe!
    Mas pelo menos para profissionais já podes ter Ray Tracing pelo GPGPU.
    https://gpuopen.com/announcing-real-time-ray-tracing/

    ResponderEliminar

Related Posts with Thumbnails