Ntọhapụ mbụ nke igwe egwuregwu ọtụtụ egwuregwu mepere emepe Ambient

Mgbe otu afọ nke mmepe gasịrị, ewepụtara mwepụta mbụ nke igwe egwuregwu mepere emepe ọhụrụ Ambient. Igwe ahụ na-enye oge ịgba ọsọ maka ịmepụta egwuregwu ọtụtụ na ngwa 3D na-achịkọta na nnochite anya WebAssembly ma jiri WebGPU API maka nsụgharị. Edere koodu a na Rust ma kesaa ya n'okpuru ikike MIT.

Ebumnuche bụ isi na mmepe nke Ambient bụ ịnye ngwaọrụ ndị na-eme ka mmepe egwuregwu ọtụtụ egwuregwu dị mfe ma mee ka okike ha ghara isi ike karịa ọrụ otu egwuregwu. Ebumnobi injin a bụ imepụta oge ịgba ọsọ zuru ụwa ọnụ nke na-akwado mmepe egwuregwu na ngwa n'asụsụ mmemme ọ bụla nke ịchịkọta n'ime koodu etiti WebAssembly ga-ekwe omume. Agbanyeghị, ntọhapụ mbụ na-akwado naanị mmepe Rust maka ugbu a.

Isi njirimara nke injin ọhụrụ ahụ:

  • Nkwado ịkparịta ụka n'ụzọ doro anya. Injin ahụ na-ejikọta ndị ahịa na ọrụ nkesa, na-enye ihe niile dị mkpa maka ịmepụta ndị ahịa na mgbagha ihe nkesa, na-emekọrịta ihe nkesa na-akpaghị aka n'ofe ndị ahịa. A na-eji ụdị data nkịtị eme ihe na ndị ahịa na akụkụ nkesa, nke na-eme ka ịnyefe koodu dị mfe n'etiti azụ azụ na frontend.
  • Na-agba ọsọ modul ọ bụla na ebe dịpụrụ adịpụ nke ya, na-enye gị ohere ịkwụsị mmetụta nke koodu enweghị ntụkwasị obi. Ịkpọtu modul anaghị emebi ngwa ahụ dum.
  • Ihe owuwu dabere na data. Inye ụdị data dabere na sistemu akụrụngwa nke modul WASM ọ bụla nwere ike ijikwa ya. Iji ụkpụrụ imewe ECS (Entity Component System). Ịchekwa data nke ihe niile dị na nchekwa data etiti na ihe nkesa ahụ, ọnọdụ nke a na-emegharị ya na-akpaghị aka na onye ahịa, nke dị n'akụkụ ya nwere ike gbasaa data na-eburu n'uche obodo obodo.
  • Ikike ịmepụta modul Ambient n'asụsụ mmemme ọ bụla na-agbakọta na WebAssembly (naanị Rust na-akwado ugbu a).
  • Ịmepụta faịlụ executable zuru ụwa ọnụ dị ka mmepụta nke nwere ike na-agba ọsọ na Windows, macOS na Linux, ma rụọ ọrụ dị ka ma onye ahịa na ihe nkesa.
  • Ikike iji kọwaa akụkụ nke gị na "echiche" (nchịkọta ihe). Ọrụ ndị na-eji otu akụkụ na echiche na-eme ka ịbugharị na ikesa data, ọ bụrụgodị na emeghị data ahụ kpọmkwem maka iji rụọ ọrụ ụfọdụ.
  • Nkwado maka ịchịkọta akụrụngwa n'ụdị dị iche iche, gụnyere .glb na .fbx. Ohere nke nbudata nbudata nke akụrụngwa na netwọkụ - onye ahịa nwere ike ịnata ihe niile dị mkpa mgbe ị na-ejikọ na ihe nkesa (ị nwere ike ịmalite igwu egwu na-echeghị ka akụrụngwa niile buru ibu). Na-akwado ụdị FBX na glTF, ụdị ọdịyo na onyonyo dị iche iche.
  • Usoro nsụgharị dị elu nke na-eji GPU na-eme ka nsụgharị dị ngwa ma na-akwado mbelata akụkụ GPU yana mgbanwe ọkwa ọkwa. Na-eji nsụgharị dabere na anụ ahụ (PBR) na ndabara, na-akwado eserese ngosi na maapụ onyinyo na-atụgharị.
  • Nkwado maka ịme anwansị nke usoro anụ ahụ dabere na injin PhysX.
  • Sistemu maka iwulite oghere ndị ọrụ yiri React.
  • Usoro ntinye ejikọtara ọnụ nke na-adabere na ikpo okwu dị ugbu a.
  • Sistemụ ụda oghere nwere nzacha nkwụnye.

Mmepe ka dị na ọkwa ụdị alfa. N'ime arụmọrụ arụbeghị arụ ọrụ, anyị nwere ike mara ikike ịgba ọsọ na Weebụ, API ahịa, API maka ijikwa multithreading, ọba akwụkwọ maka imepụta interface onye ọrụ, API maka iji shaders nke gị, nkwado ụda, nbudata na ịchekwa. Ihe mejupụtara ECS (Entity Component System), na-ebughachi akụrụngwa na ofufe, ihe nkesa na-akpaghị aka, onye na-edezi maka imekọ ihe ọnụ nke eserese egwuregwu na ihe nkiri egwuregwu.



isi: opennet.ru

Tinye a comment