AMD 3D āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻĄā§āĻ°āĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ–ā§āĻ˛ā§‡āĻ›ā§‡

āĻāĻāĻŽāĻĄāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ–ā§‹āĻ˛āĻž āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ•āĻĄā§āĻ°āĻ¨, āĻ¯āĻž Vulkan āĻŦāĻž DirectX12 API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—ā§‡āĻŽ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻ°ā§āĻ¤ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡āĨ¤ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ SDK-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŽā§‹ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ•ā§‹āĻĄ C++11 āĻ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻŽāĻ†āĻ‡āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤

āĻ•āĻĄā§āĻ°āĻ¨āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻ—ā§‡āĻŽ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻļāĻŋāĻ–āĻ¤ā§‡ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§āĻ•ā§āĻ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ°āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤:

  • āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻāĻŦāĻ‚ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ˛ā§‹āĻĄāĻžāĻ°āĨ¤ DDS, PNG, JPG, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻŸā§‡āĻ•ā§āĻ¸āĻšāĻžāĻ° āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ‡āĻŽā§‡āĻœ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻ™ā§āĻ—ā§‡. āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻāĻŦāĻ‚ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻœā§āĻ¯āĻžāĻŽāĻŋāĻ¤āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§€āĻ°ā§āĻˇāĻŦāĻŋāĻ¨ā§āĻĻā§ āĻāĻŦāĻ‚ āĻ¸ā§‚āĻšāĻ• āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻŸā§‡āĻ•ā§āĻ¸āĻšāĻžāĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  • āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻžāĻ° āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ¯āĻžāĻŽā§‡āĻ°āĻž āĻŽā§āĻ­āĻŽā§‡āĻ¨ā§āĻŸ, āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§‡āĻŽ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŸ, āĻŸā§‡āĻ•ā§āĻ¸āĻšāĻžāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚, āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛āĻŋ āĻŦā§‡āĻ¸āĻĄ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻ…āĻĢ āĻŽā§āĻ¯āĻžāĻŸā§‡āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ (PBR), āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ˛āĻžāĻ‡āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻļā§āĻ¯āĻžāĻĄā§‹āĻ° āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš glTF 3 āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ 2.0D āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĒā§‹āĻ¸ā§āĻŸ-āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻļā§‡āĻĄāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ PostProcPS/PS āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ 2D āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ ImGUI āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ™ā§āĻ• āĻ—ā§āĻ°āĻŋāĻĄ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻĢā§āĻ°ā§‡āĻŽ āĻ•āĻŋāĻ‰āĻŦ (āĻŦāĻžāĻ‰āĻ¨ā§āĻĄāĻŋāĻ‚ āĻŦāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ†āĻ˛ā§‹/āĻ•ā§āĻ¯āĻžāĻŽā§‡āĻ°āĻž āĻĒā§āĻ°āĻšāĻžāĻ° āĻļāĻ™ā§āĻ•ā§āĻ° āĻœāĻ¨ā§āĻ¯) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ GUI āĻāĻŦāĻ‚ āĻ‰āĻ‡āĻœā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯;
  • āĻ­āĻ˛āĻ•āĻžāĻ¨ API-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ;
  • āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻŦāĻ‚ āĻĒā§‚āĻ°ā§āĻŖ-āĻ¸ā§āĻ•ā§āĻ°ā§€āĻ¨ āĻŽā§‹āĻĄ, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŦāĻžāĻš āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•ā§‹āĻĄāĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: GPU āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ AGS, Vulkan āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ VulkanMemoryAllocator, D3D12 API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ d3d12x, DirectX-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ shader āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸āĻš dxc, āĻāĻ•āĻŸāĻŋ GUI āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ imgui, JSON-āĻ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ json āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸

AMD 3D āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻĄā§āĻ°āĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ–ā§āĻ˛ā§‡āĻ›ā§‡

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨