āĻāĻ¯āĻŧāĻžāĻāĻ¨ āĻĒā§āĻ°āĻā§āĻā§āĻ 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