Skip to content

Operações tex1 * tex2 e mul(tex1, tex2)

Eduardo de Sousa Ferretti edited this page May 24, 2022 · 5 revisions

A função mul() multiplica x e y usando a matemática matricial. A dimensão interna colunas x e linhas y devem ser iguais. A função retorna o resultado de x vezes y, sendo que o resultado tem a dimensão x-linhas x y-colunas

Abaixo temos uma exemplo de código utilizando mul com e sem otimização:

mul .

Pode-se utilizar text1 * text2 para multiplicar duas texturas, fazendo com que ocorra uma mistura entre elas. Abaixo temos um exemplo visual do que ocorre quando multiplicamos e quando dividimos duas texturas:

Uma das principais diferenças entre os dois métodos de multiplicação está no fato de a função mul em HLSL trabalha através de uma matriz.


Referências:

https://developer.amd.com/wordpress/media/2012/10/Dark_Secrets_of_shader_Dev-Mojo.pdf

https://jesshiderue4.wordpress.com/material-basics/adding-subtracting-multiplying-and-dividing-textures/

https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-mul