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! :)
Subscrever:
Enviar feedback (Atom)
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
ResponderEliminarAliá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.
São coisas bem diferentes. Isso era uma técnica para implementar uma iluminação mais realista, mas é bem diferente do ray-tracing.
EliminarO exemplo do Star Wars é mais elucidativo do que permite fazer em termos dos reflexos "reais". :)
É basicamente voxel ray tracing... basicamente usas apenas meia dúzia de raios por cena para calcular efeitos e aplicas de forma global.
ResponderEliminarÉ bastante simplificado ao ser muito limitado, mas segue os princípios básicos do ray tracing
Vê este estudo:
ResponderEliminarhttp://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!
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. :)
EliminarPois... hehehehe!
ResponderEliminarMas pelo menos para profissionais já podes ter Ray Tracing pelo GPGPU.
https://gpuopen.com/announcing-real-time-ray-tracing/