O hardware de amostragem quadrilinear de textura é suportado?


8

Se você tiver uma textura de volume com mipmaps, a amostragem de textura GL_LINEAR_MIPMAP_LINEAR executará a amostragem quadrilinear de textura.

Isso é implementado em hardware como é a amostragem bilinear de texturas? Ou o driver apenas faz duas amostras de textura trilineares e interpola esses resultados para você?

A amostragem trilinear é suportada pelo hardware?

Respostas:


2

O post de Alfonse Reinheart neste tópico (# 8) deve lançar alguma luz. Quando você resume tudo, a resposta é "não existe tal coisa". Amostragem quadrilinear é simplesmente o termo usado para aplicar uma amostragem linear (GL_LINEAR_MIPMAP_LINEAR no OpenGL) a uma textura 3D.

Você quase pode argumentar que a resposta é "sim", pois o linear está no nível do hardware e simplesmente aplica várias passagens de linear à textura; mas estritamente falando, não.


Obrigado Stephan! Você não saberia se esses lerps acontecem antes que os dados de textura sejam alimentados de volta no pipeline, não é? Se possível, seria bom verificar que deixar o hardware fazer isso por você significa que você obtém o resultado usando menos recursos (principalmente largura de banda de barramento, eu sei que o shader de fragmentos que faz o lerps será mais computado).
Alan Wolfe

Geralmente, não entendo isso profundamente no meu processamento gráfico, mas posso dizer com confiança que deixar a GPU lidar com qualquer processamento de imagem sempre será mais rápido do que voltar para a CPU. Estou bastante confiante de que todos os lerps aconteceriam de uma só vez na GPU e o resultado armazenado no buffer ou retornaria pelo canal.
Stephan

Caso alguém tenha algum comentário de acompanhamento no futuro para elaborar mais, retroceder para a CPU definitivamente seria mais uso de largura de banda, mas estou curioso sobre retroceder para um shader de fragmento.
Alan Wolfe
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.