āĻāϝāĻŧāĻžāĻāύ āĻĒā§āϰāĻā§āĻā§āĻ Direct3D 1.5 āĻāϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āϏāĻš vkd3d 12 āĻĒā§āϝāĻžāĻā§āĻ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§āĻā§ āϝāĻž āĻāϞāĻāĻžāύ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āĻāĻĒāĻŋāĻāĻāϤ⧠āϏāĻŽā§āĻĒā§āϰāĻāĻžāϰ āĻāϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻĒā§āϝāĻžāĻā§āĻāĻāĻŋāϤ⧠Direct3D 3 āĻāϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āϏāĻš libvkd12d āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ, shader āĻŽāĻĄā§āϞ 3 āĻāĻŦāĻ 4 āĻāϰ āĻ āύā§āĻŦāĻžāĻĻāĻ āϏāĻš libvkd5d-shader āĻāĻŦāĻ Direct3D 3 āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻĒā§āϰā§āĻāĻŋāĻ āϏāĻšāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĢāĻžāĻāĻļāύ āϏāĻš libvkd12d-utils, āϏā§āĻāϏāĻžāĻĨā§ āĻĄā§āĻŽā§ āĻāĻĻāĻžāĻšāϰāĻŖ āϏāĻš āĻāĻāĻāĻŋ āϏā§āĻ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§āĨ¤ Direct3D 12 āĻĨā§āĻā§ glxgears āĻāϰāĨ¤ āĻĒā§āϰāĻāϞā§āĻĒ āĻā§āĻĄ LGPLv2.1 āĻāϰ āĻ āϧā§āύ⧠āϞāĻžāĻāϏā§āύā§āϏāĻā§āϤ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
libvkd3d āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ Direct3D 12 āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āϏā§āĻŦāĻŋāϧāĻž, āϏāĻžāϰāĻŋ āĻāĻŦāĻ āĻāĻŽāĻžāύā§āĻĄ āϤāĻžāϞāĻŋāĻāĻž, āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāĻŦāĻ āĻšāĻŋāĻĒ āĻšā§āϝāĻžāύā§āĻĄāϞāĻā§āϞāĻŋ, āϰā§āĻ āϏā§āĻŦāĻžāĻā§āώāϰ, āĻ āϰā§āĻĄāĻžāϰ āĻŦāĻšāĻŋāϰā§āĻā§āϤ āĻ ā§āϝāĻžāĻā§āϏā§āϏ, āϏā§āϝāĻžāĻŽā§āĻĒāϞāĻžāϰ, āĻāĻŽāĻžāύā§āĻĄ āϏā§āĻŦāĻžāĻā§āώāϰ, āϰā§āĻ āϧā§āϰā§āĻŦāĻ, āĻĒāϰā§āĻā§āώ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ, āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋ *( ) āĻāĻŦāĻ āĻāĻĒāĻŋ*()āĨ¤
libvkd3d-shader āĻāĻāĻāĻŋ āĻŽāϧā§āϝāĻŦāϰā§āϤ⧠SPIR-V āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻžāϝāĻŧ shader āĻŽāĻĄā§āϞ 4 āĻāĻŦāĻ 5-āĻāϰ āĻŦāĻžāĻāĻāĻā§āĻĄā§āϰ āĻ āύā§āĻŦāĻžāĻĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āĨ¤ āĻāĻžāϰā§āĻā§āĻā§āϏ, āĻĒāĻŋāĻā§āϏā§āϞ, āĻā§āϏā§āϞā§āĻļāύ, āĻāĻŽā§āĻĒāĻŋāĻāĻ āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖ āĻā§āϝāĻžāĻŽāĻŋāϤāĻŋ āĻļā§āĻĄāĻžāϰ, āϰā§āĻ āϏāĻŋāĻāύā§āĻāĻžāϰ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāĻŦāĻ āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ āĻļā§āĻĄāĻžāϰ āύāĻŋāϰā§āĻĻā§āĻļāĻžāĻŦāϞā§āϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§ āĻĒāĻžāĻāĻŋāĻāĻŖāĻŋāϤ, āĻĒāĻžāϰāĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāĻ āĻ āĻĒāĻžāϰā§āĻļāύ, āϤā§āϞāύāĻž āĻāĻŦāĻ āĻĄā§āĻāĻž āĻĒā§āϰāĻŦāĻžāĻš āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻ āĻĒāĻžāϰā§āĻāϰ, āύāĻŽā§āύāĻž, āϏāĻāĻā§āϰāĻš āĻāĻŦāĻ āϞā§āĻĄ āύāĻŋāϰā§āĻĻā§āĻļāĻžāĻŦāϞā§, āĻ -āĻā§āϰāĻŽāĻŦāĻŋāĻšā§āύ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻ āĻĒāĻžāϰā§āĻļāύ (āĻāĻāĻāĻāĻŋ, āĻāύāĻ āϰā§āĻĄāĻžāϰāĻĄ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāĻŋāĻ)āĨ¤
āύāϤā§āύ āĻŦāĻŋāĻļā§āĻŦā§:
- DirectX 9.0 āĻĨā§āĻā§ HLSL (High-level Shader Language) āĻļā§āĻĄāĻžāϰ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ⧠āĻ āύā§āĻ āĻāύā§āύāϤāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻāĻŦāĻ āĻ ā§āϝāĻžāϰā§āϤ⧠āĻā§āĻā§āϏāĻāĻžāϰ 2āĻĄāĻŋ-āϰ āĻŽāϤ⧠HLSL āĻ āĻŦāĻā§āĻā§āĻā§āϰ āĻĒā§āϰāĻāĻžāϰā§āϰ āĻāύā§āϝ āĻāύā§āύāϤ āϏāĻŽāϰā§āĻĨāύ āϏāĻš, āĻŦāĻŋāϞā§āĻ-āĻāύ āĻĢāĻžāĻāĻļāύ āĻĄāĻ(), ldexp() āĻāĻŦāĻ lerp(), āϞāĻāĻŋāĻā§āϝāĻžāϞ āĻ āĻĒāĻžāϰā§āĻāϰāĻā§āϞāĻŋāϰ āĻāύā§āϝ āϝā§āĻ āĻāϰāĻž āϏāĻŽāϰā§āĻĨāύ "āĻāĻŦāĻ", "āĻŦāĻž" shader āĻŽāĻĄā§āϞ 4-āĻāϰ āĻāύā§āϝ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻŦāĻ 5 āĻāĻŦāĻ "āύāĻž", āϏā§āĻāϏāĻžāĻĨā§ āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ āϧāϰāύā§āϰ āĻāĻžāϏā§āĻ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻžāĨ¤
- VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ SPIR-V āĻŽāĻžāϞā§āĻāĻŋāĻĒāĻžāϰā§āĻ āĻĢāϰāĻŽā§āϝāĻžāĻā§āϰ (DXGI_FORMAT) āĻāύā§āϝ āĻ -āĻā§āϰāĻŽāĻŦāĻŋāĻšā§āύ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻž (UAV) āϞā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāϤā§āϏ: opennet.ru
