Я новичок в графическом программировании. Я наткнулся на случай, когда «ResourceView» создается из текстуры, а затем этот вид ресурсов устанавливается как VS Resource. Подводя итог:DirectX: Vertex Shader с использованием текстур
CreateTexture2D(D3D10_TEXTURE2D_DESC{ 640, 512, .... **ID3D10Texture2D_0c2c0f30**)
CreateShaderResourceView(**ID3D10Texture2D_0c2c0f30**, ..., **ID3D10ShaderResourceView_01742c80**)
VSSetShaderResources(0, 1, [**0x01742c80**])
Когда и какие случаи, когда мы используем текстур в вершинных шейдерах ?? Может ли кто-нибудь помочь?
Спасибо.
Фактически пример, который я вижу, в большинстве случаев используется «Texture1D». Так что вы можете дать несколько указателей на волновую функцию, о которой вы говорите. –
Подумайте о синусоиде. Вместо вычисления 'float sinX = sin (x)' в шейдере вы просто выберете значение из текстуры поиска синусоиды: 'float sinX = FunctionTexture.Sample (Sampler, x) .r'. И поскольку функция не жестко закодирована в шейдере, вы можете использовать любые данные, которые вы можете упаковать в 1D-текстуру (константу, шум, градиент и т. Д.). В этом случае координата текстуры будет 'x'. Цвет пикселя - это значение функции 'f (x)'. – Lucius