SDL 2.0.18 የሚዲያ ቤተ መፃህፍት መለቀቅ

የጨዋታዎች እና የመልቲሚዲያ አፕሊኬሽኖች አጻጻፍን ለማቃለል ያለመ የኤስዲኤል 2.0.18 (ቀላል ዳይሬክትሚዲያ ንብርብር) ቤተ-መጽሐፍት ተለቀቀ። የኤስዲኤል ቤተ-መጽሐፍት እንደ ሃርድዌር-የተጣደፈ 2D እና 3D ግራፊክስ ውፅዓት፣የግብአት ሂደት፣የድምጽ መልሶ ማጫወት፣ 3D ውፅዓት በOpenGL/OpenGL ES/Vulkan እና ሌሎች በርካታ ተዛማጅ ስራዎችን ያቀርባል። ቤተ መፃህፍቱ በ C የተፃፈ እና በዝሊብ ፍቃድ ስር ይሰራጫል። በተለያዩ የፕሮግራም አወጣጥ ቋንቋዎች በፕሮጀክቶች ውስጥ የኤስዲኤልን ችሎታዎች ለመጠቀም ማሰሪያዎች ቀርበዋል ። የቤተ መፃህፍቱ ኮድ በዚሊብ ፍቃድ ተሰራጭቷል።

በአዲሱ እትም፡-

  • ለእያንዳንዱ ተግባር, ተግባሩ ስለታየበት የኤስዲኤል ስሪት መረጃ ይሰጣል. የዊኪ ሰነዶችን ከራስጌ ፋይሎች ጋር በራስ ሰር ማመሳሰል ቀርቧል።
  • አዲስ ባህሪያት ታክለዋል:
    • SDL_RenderGeometry() እና SDL_RenderGeometryRaw() 2D Render API በመጠቀም የዘፈቀደ ቅርጾችን ለመስራት።
    • የመተግበሪያ ውሂብን ከሸካራነት ጋር ለማያያዝ SDL_SetTextureUserData() እና SDL_GetTextureUserData()።
    • SDL_RenderWindowToLogical() እና SDL_RenderLogicalToWindow() በመስኮት መጋጠሚያዎች እና በሎጂካዊ የምስል መጋጠሚያዎች መካከል ለመቀየር።
    • SDL_RenderSetVSync() የውጤት ማመሳሰልን ከቋሚ ባዶ ምት (vblank) ጋር ለማንቃት።
    • SDL_PremultiplyAlpha() በSDL_PIXELFORMAT_ARGB8888 ቅርጸት በፒክሰሎች ብሎኮች ላይ ግልፅነትን ተግባራዊ ለማድረግ።
    • የማውስ ጠቋሚ እንቅስቃሴን በተወሰነ የመስኮቱ አካባቢ ለመገደብ SDL_SetWindowMouseRect() እና SDL_GetWindowMouseRect()።
    • SDL_GameControllerHasRumble()፣ SDL_GameControllerHasRumbleTriggers()፣ SDL_JoystickHasRumble() እና SDL_JoystickHasRumbleTriggers() የጨዋታ መቆጣጠሪያው እና ጆይስቲክ የሚለምደዉ የንዝረት ተፅእኖን (ሩምብል) ይደግፋሉ።
    • የመስኮቱን የአይሲሲ ቀለም መገለጫ ለማግኘት SDL_GetWindowICCPprofile()(የSDL_WINDOWEVENT_ICCPROF_CHANGED ክስተት የመገለጫ ለውጦችን ለመፈተሽ ታቅዷል)።
  • አዲስ ባህሪያት ታክለዋል፡ SDL_HINT_APP_NAME ስለመተግበሪያው ስም መረጃ ለማስተላለፍ እና ለEGL መስኮቶች ግልጽነትን ለማስቻል SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY።
  • አዲስ የመስኮት ክስተት ታክሏል SDL_WINDOWEVENT_DISPLAY_CHANGED መስኮቱ የታየበት ስክሪን ሲቀየር የሚፈጠረው።
  • በክስተቱ መመዘኛዎች ውስጥ "preciseX" እና "preciseY" መስኮችን በመጠቀም የመዳፊት ተሽከርካሪ እንቅስቃሴን ትክክለኛ መለኪያዎች መግለፅ ይቻላል.
  • የሲፒዩ ጭነትን ለመቀነስ የSDL_WaitEvent() ተግባር በአዲስ መልክ ተዘጋጅቷል።
  • የ hidapi API ወደ ይፋዊ ምድብ ተወስዷል እና አሁን በSDL_hidapi.h ራስጌ ፋይል በኩል ይገኛል።
  • በዊንዶውስ መድረክ ላይ በዊንዶውስ የርቀት ዴስክቶፕ ውስጥ አንጻራዊ የመዳፊት እንቅስቃሴን የተሻሻለ ማወቅ። ቤተኛ የበይነገጽ ክፍሎችን ለማሳየት የSDL_HINT_IME_SHOW_UI ባህሪ ታክሏል (በነባሪ ተደብቋል)። ለUWP መተግበሪያዎች፣ ለግቤት መቆጣጠሪያዎች ድጋፍን ለማሻሻል WGI ከXinput ይልቅ ጥቅም ላይ ይውላል።
  • ለሊኑክስ መድረክ፣ የሚከተሉት ባህሪያት ተተግብረዋል፡ SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME ማያ ቆጣቢው ሲሰናከል ለሚታዩ የማስያዣ እርምጃዎች፤ SDL_HINT_LINUX_JOYSTICK_CLASSIC የትኛውን መሳሪያ (/dev/input/js* ወይም /dev/input/event*) ለጆይስቲክ ለመጠቀም መምረጥ ይቻላል፤ SDL_HINT_JOYSTICK_DEVICE መሳሪያው ለጆይስቲክ እንዲከፈት ለማድረግ። የክር ቅድሚያ መስጠትን ለመቆጣጠር SDL_LinuxSetThreadPriorityAndPolicy() ተግባር ታክሏል።
  • ለአንድሮይድ መድረክ፣ AAudio API በመጠቀም ለድምጽ ውፅዓት እና ቀረጻ ድጋፍ ተተግብሯል። በነባሪነት የSteam መቆጣጠሪያው ድጋፍ ተሰናክሏል (የSDL_HINT_JOYSTICK_HIDAPI_STEAM ባንዲራ ለማንቃት ተጠቆመ)።

ማከል፡ ከኤስዲኤል ደራሲዎች አንዱ የሆነው ራያን ጎርደን (ኢኩሉስ) የዘመናዊ ጂፒዩዎች (Vulkan, Direct3D 3, Metal) የኤፒአይ አቅምን የሚደግፍ ቀላል 12D API ወደ SDL ለመጨመር አቅዷል ብሏል። ይህ ልማት በEpic Games የሚሸፈነው እንደ Epic Megagrant ፕሮግራም አካል ነው። ጎርደን ለስጦታው ማመልከቻ በግንቦት 2021 አስገባ እና ከሁለት ሳምንታት በፊት አዎንታዊ ምላሽ አግኝቷል።

ምንጭ: opennet.ru

አስተያየት ያክሉ