Pinahaba ng AMD ang Radeon Cauldron 1.0 SDK Sa Programming Community Na Aling Gumagamit ng Pinasimple na C ++

Hardware / Pinahaba ng AMD ang Radeon Cauldron 1.0 SDK Sa Programming Community Na Aling Gumagamit ng Pinasimple na C ++ Basahin ang 4 na minuto

Matapos ang malawak na panloob na pagsubok at nakakagulat na mabilis na pag-aampon sa loob, nag-aalok ang AMD ngayon ng Radeon Cauldron 1.0 Software Development Kit (SDK) sa pamayanan ng programa. Tinitiyak ng kumpanya na ang balangkas ay hindi lamang lubos na pinasimple ngunit ito rin ay lubos na maraming nalalaman. Sa madaling salita, ang Radeon Cauldron SDK ay madaling maunawaan para sa mga nagsisimula. Bukod dito, ang balangkas ay malawak na nababaluktot para sa mga programmer na naghahanap upang mapalawak ito sa mga bagong tampok.



Nag-aalok ang AMD ng isa sa pinakatanyag nito mga balangkas ng pag-unlad ng software sa masa. Ang unang komprehensibo at matatag na paglabas ng Radeon Cauldron SDK ay magagamit na ngayon sa mga programmer. Ang Radeon Cauldron ay mahalagang isang framework library para sa mabilis na prototyping. Ginagamit ito sa mga sample at epekto ng AMD SDK. Ang SDK ay gumagana nang maayos sa alinman sa Vulkan o Direct3D 12 API. Ginawa ng AMD ang buong balangkas magagamit para sa pag-download sa GitHub , ang pinakatanyag na imbakan para sa open-source software na kamakailan-lamang na nakuha ng Microsoft. Kapansin-pansin, ang AMD ay mayroon din nag-upload ng isang GltfSample . Ang kakaibang pinangalanang app ay dinisenyo, binuo at binuo gamit ang balangkas ng Cauldron. Hindi sinasadya, ang lahat ng mga nauugnay na mapagkukunan sa Radeon Cauldron SDK ay magagamit din sa GitHub.

Ano ang Radeon Cauldron SDK At Paano Ito Makakaapekto sa Software, App o Game Development?

Ang Radeon Cauldron ay mahalagang isang buong balangkas o kumpletong Software Development Kit para sa mabilis na prototyping. Pangunahin itong gagamitin sa mga sample at epekto ng AMD SDK. Tulad ng nabanggit sa itaas, maaari itong gumana nang mahusay sa Vulkan, na kung saan ay isang ginustong mababang-overhead, cross-platform 3D graphics at computing API. Bukod dito, gumagana rin ang SDK sa pinakabagong bersyon ng Direct3D, na kung saan ay ang Direct3D 12.



Ang Radeon Cauldron SDK ay unang inilabas sa loob ng AMD. Bagaman inaasahan, ang paunang paglabas ay may katangi-tanging tinanggap at pinagtibay ng mga panloob na koponan sa pag-unlad ng software ng AMD. Matapos ang unang proyekto ng piloto, kinumpirma ng AMD kahit na ang iba pang mga tangential na pangkat sa loob ng kumpanya ay nagsimulang magpakita ng interes. Sa paglaon, ang SDK ay naging isa sa mga ginustong balangkas para sa mga koponan na humahawak ng mga tool, driver, at maging ang mga demonstrasyon ng software at tampok.



Ang AMD ay nagbibigay ng Radeon Cauldron 1.0 sa GPUOpen sa ilalim ng lisensya ng open source ng MIT. Paulit-ulit na binigyang diin ng kumpanya ang kadalian ng pag-unawa sa code at ang kadalian ng pagpapalawak ng pareho. Sa madaling salita, kahit na ang mga bihasang programmer ay hindi magagamit, ang mga bagong gumagamit ay maaaring mabilis na maunawaan ang maraming mga bahagi at kanilang mga indibidwal na pag-andar pati na rin ang mga dependency. Ito ay dapat na lubos na gawing simple ang proseso ng kumplikadong pag-unlad at tinitiyak na ang lahat ng mga gumagamit ay tiwala at komportable habang ginagamit ang pareho. Bukod dito, ang mga programmer ay maaaring mabilis at mahusay na mapalawak ang code nang hindi nag-aalala tungkol sa paghadlang sa nakaraang trabaho o paglabag sa isang bagay sa proseso.



Ang balangkas ay nakakagulat na may kakayahang umangkop at maraming nalalaman, tiniyak sa AMD. Lumilitaw na totoo ang mga pag-angkin dahil ang SDK ay gumagamit ng vanilla C ++. Ang AMD ay nakabuo ng pareho sa isang malinaw na layunin na sundin ang isang 'isang tampok, isang klase, isang file' na pilosopiya. Hindi na kailangang banggitin ito ay nangangahulugang ang mga programmer ay hindi kailangang mag-navigate sa mga kumplikado at maraming mga file habang sinusubukan lamang na maunawaan kung paano gumagana ang isang application o web platform. Tiniyak ng AMD na ang Radeon Cauldron SDK ay mananatili sa pinakasimpleng anyo ng mga klase. Sa madaling salita, hangga't maaari, karamihan sa mga klase ay magpapatupad ng mga sumusunod na pamamaraan:

klase ng MyTechnique

{



bool OnCreate (...); // Lumilikha ng mga pipelines, static geometry, at iba pang mga isang beses na pagsisimula

walang bisa ang OnDestroy (…);

walang bisa OnDraw (...) // gamitin ang nilikha na mapagkukunan upang iguhit ang pamamaraan

}

Pinapayagan ng Radeon Cauldron SDK ang dalawang diskarte na kinakailangan upang mag-render ng mga modelo ng glTF 2.0. Habang ang isa ay kinakailangan para sa pass ng PBR (Physical Based Rendering), ang iba pa ay para sa Pass-Only pass. Bilang isang extension, mayroong dalawang klase na tinatawag na GltfPbrPass at GltfDepthPass. Ang data ng isang modelo ng glTF ay nahahati sa tatlong mga file:

  1. Ang GltfCommon, isang klase na API-agnostic na naglo-load at nag-aalaga ng pagbabago at animasyon ng eksena, kasama ang skinnin class na MyTechnique {bool OnCreate (…); // Lumilikha ng mga pipeline, static geometry, at iba pang mga isang beses na pagsisimula na walang bisa OnDestroy (...); walang bisa OnDraw (...) // gamitin ang nilikha na mapagkukunan upang iguhit ang pamamaraan} g.
  2. Ang GltfTexturesAndBuffers, isang klase na naglo-load at humahawak ng lahat ng mga pagkakayari, mga skin matrice, at mga geometry buffer.
  3. GltfPbrPass at GltfDepthPass, dalawang klase na gumagamit ng mga klase sa itaas upang mai-render ang eksena sa mga nabanggit na diskarte.

Ang balangkas ng Radeon Cauldron ay naglalaman ng pareho, graphics-agnostic at code na umaasa sa graphics. Samakatuwid ang balangkas ay maaaring hatiin sa tatlong mga proyekto sa Visual Studio:

  1. Framework_DX12: Tulad ng maliwanag mula sa pangalan, ang bahaging ito ay tumutukoy sa DirectX12. Sa madaling salita, naglalaman ito ng lahat ng Direct3D 12 code.
  2. Framework_VK: Ang bahaging ito ay naglalaman ng lahat ng nauugnay na Vulkan code.

Hindi sinasadya, mayroong isang pangatlong bahagi din, na karaniwan para sa parehong uri ng mga proyekto sa Visual Studio na nabanggit sa itaas. Ang bahaging ito ay tinatawag na 'Framework_Common'. Naglalaman ang karaniwang sangkap ng mga sumusunod na aspeto:

Mga istruktura ng GLTF

  • Transformation at animation code
  • Naglo-load ng mga imahe
  • Pangangasiwa sa bintana
  • Kamera

Sinusuportahan ng balangkas ng Radeon Cauldron ang mga pamamaraan sa pag-proseso pagkatapos ng pag-bloom, blur, downsampling, at tone-mapping. Ipinakikilala ng SDK ang dalawang bagong mga kasapi. Kapaki-pakinabang ang mga ito sa paglikha ng mga pansamantalang target sa pag-render:

bool OnCreateWindowSizeDependentResource (...) // lumilikha ng pansamantalang mga target sa pag-render na kinakailangan para sa epekto

walang bisa OnDestroyWindowSizeDependentResource (…)

Kapansin-pansin, ang nasubok na panloob na AMD Radeon Cauldron 1.0 SDK ay nagpapahintulot sa mga programmer na ipatupad ang mga bagay sa isang mas mababang antas din. Nakakagulat, kahit sa mga antas na ito, maaari silang gumamit ng maraming mga tagapamahala ng memorya upang matiyak na tumatakbo nang maayos ang mga bagay. Ang ilan sa mga tagapamahala ng memorya na gumagana pa rin kahit sa isang mas mababang antas ay ang mga sumusunod:

  • StaticBufferPool: Ang sangkap na ito ay humahawak ng static na data. Bukod dito, nagtatampok din ito ng sub-paglalaan.
  • DynamicBufferRing: Ito ay isang pabilog na buffer system. Ang mga programmer ay maaaring umasa dito para sa patuloy na mga buffer.
  • Texture: Pinapayagan ang pag-load ng mga texture at paglikha ng mga target sa pag-render. Kapansin-pansin ang system ng Texture na pinapayagan din ang paglikha ng mga view para sa mga target sa pag-render.
  • ShaderCompilerHelper: Ito ay isang malakas na tool na tumutulong sa pag-aayos ng source code. Ang ShaderCompilerHelper din ay cache ng mga binary. Hindi na banggitin, makabuluhang pinababagsak nito ang mga oras ng paglo-load.
  • UploadHeap: Pinapayagan ng tool na ito ang mga programmer na mag-sub-allocate mula sa isang memory system ng system upang mag-upload ng data, na mahalagang may kasamang mga texture pati na rin ang mga buffer sa isang buffer ng memorya ng video.

Dahil ito ay isang bukas na mapagkukunan na SDK, hinihimok ng AMD ang maagang mga adopter sa labas na subukan ang pareho at mag-alok ng kanilang puna. Malamang na susuriin ng AMD ang pareho at ipapatupad ang ilan sa mga mungkahi upang mapabuti ang Radeon Cauldron SDK.

Mga tag amd AMD Navi radeon