GTK లైబ్రరీ డెవలపర్లు OpenGL (GL 3.3+ మరియు GLES 3.0+) మరియు వల్కాన్ గ్రాఫిక్స్ APIలను ఉపయోగించి “ngl” మరియు “vulkan” అనే రెండు కొత్త రెండరింగ్ ఇంజిన్ల లభ్యతను ప్రకటించారు. GTK 4.13.6 యొక్క ప్రయోగాత్మక విడుదలలో కొత్త ఇంజన్లు చేర్చబడ్డాయి. ప్రయోగాత్మక GTK శాఖలో, ngl ఇంజిన్ ఇప్పుడు డిఫాల్ట్గా ఉపయోగించబడుతుంది, అయితే తదుపరి స్థిరమైన బ్రాంచ్ 4.14లో ముఖ్యమైన సమస్యలు గుర్తించబడితే, పాత "gl" రెండరింగ్ ఇంజిన్ తిరిగి ఇవ్వబడుతుంది.
కొత్త ఇంజిన్లు ఏకీకృతంగా ఉంచబడ్డాయి మరియు ఒకే కోడ్ బేస్ నుండి అసెంబుల్ చేయబడతాయి. ఏకీకరణ యొక్క సారాంశం ఏమిటంటే, వల్కాన్ API ప్రాతిపదికగా ఉపయోగించబడుతుంది, దీని పైన OpenGL మరియు వల్కాన్ మధ్య తేడాలను పరిగణనలోకి తీసుకొని OpenGL కోసం ప్రత్యేక సంగ్రహణ స్థాయి సృష్టించబడింది. ఈ విధానం దృశ్య గ్రాఫ్, ట్రాన్స్ఫార్మేషన్లు, కాషింగ్ టెక్చర్లు మరియు గ్లిఫ్లను ప్రాసెస్ చేయడానికి రెండు ఇంజిన్లలో ఒక సాధారణ అవస్థాపనను ఉపయోగించడం సాధ్యం చేసింది. ఏకీకరణ రెండు ఇంజిన్ల కోడ్ బేస్ నిర్వహణను కూడా గణనీయంగా సులభతరం చేసింది మరియు వాటిని తాజాగా ఉంచడం మరియు సమకాలీకరించడం.
ప్రతి రకమైన రెండర్ నోడ్కు ప్రత్యేక సాధారణ షేడర్ని ఉపయోగించే పాత gl ఇంజిన్ వలె కాకుండా, ఆఫ్స్క్రీన్ రెండరింగ్ సమయంలో డేటాను క్రమానుగతంగా మళ్లీ క్రమబద్ధీకరించింది, కొత్త ఇంజిన్లు ఆఫ్స్క్రీన్ రెండరింగ్కు బదులుగా బఫర్ నుండి డేటాను వివరించే సంక్లిష్టమైన షేడర్ (ubershader)ని ఉపయోగిస్తాయి. . దాని ప్రస్తుత రూపంలో, కొత్త అమలు ఇప్పటికీ ఆప్టిమైజేషన్ల స్థాయి పరంగా పాతదాని కంటే వెనుకబడి ఉంది, ఎందుకంటే ప్రస్తుత దశలో ప్రధాన దృష్టి సరైన ఆపరేషన్ మరియు నిర్వహణ సౌలభ్యంపై ఉంది.
పాత gl ఇంజిన్లో లేని కొత్త ఫీచర్లు:
- కాంటౌర్ సున్నితత్వం - చక్కటి వివరాలను సంరక్షించడానికి మరియు సున్నితమైన ఆకృతులను సాధించడానికి మిమ్మల్ని అనుమతిస్తుంది.
- ఏకపక్ష గ్రేడియంట్ల నిర్మాణం, ఇది ఎన్ని రంగులు మరియు యాంటీ-అలియాసింగ్ను ఉపయోగించవచ్చు (gl ఇంజిన్లో, 6 స్టాప్ రంగులతో కూడిన లీనియర్, రేడియల్ మరియు శంఖాకార గ్రేడియంట్లకు మాత్రమే మద్దతు ఉంది).
- పాక్షిక స్కేల్, ఇది పూర్ణాంకం కాని స్కేల్ విలువలను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, ఉదాహరణకు, 125x1200 విండో కోసం 800% స్కేల్ను ఉపయోగిస్తున్నప్పుడు, 1500x1000 బఫర్ కేటాయించబడుతుంది మరియు పాత ఇంజిన్లో వలె 2400x1600 కాదు.
- బహుళ GPUలను ఉపయోగించడం మరియు మరొక GPUకి వ్యక్తిగత కార్యకలాపాలను ఆఫ్లోడ్ చేయడం కోసం DMA-BUF సాంకేతికతకు మద్దతు.
- పాత అమలులో సమస్యలు ఉన్న అనేక రెండరింగ్ నోడ్లు సరిగ్గా ప్రాసెస్ చేయబడ్డాయి.
కొత్త ఇంజిన్ల పరిమితుల్లో పూర్ణాంకం కాని విలువలు (ఫ్రాక్షనల్ పొజిషన్) మరియు గ్ల్షేడర్ నోడ్ల ద్వారా పొజిషనింగ్కు మద్దతు లేకపోవడం, ఇవి పాత ఇంజిన్ లక్షణాలతో ఎక్కువగా ముడిపడి ఉన్నాయి మరియు దీనికి మద్దతుని జోడించిన తర్వాత ఇకపై అవసరం లేదు. ముసుగులు (ముసుగు) మరియు పారదర్శకతతో అల్లికలతో నోడ్స్. డ్రైవర్లతో పనిచేసే పద్ధతిలో మార్పుల వల్ల గ్రాఫిక్స్ డ్రైవర్లతో సమస్యలు తలెత్తే అవకాశం ఉందని కూడా పేర్కొన్నారు.
భవిష్యత్తులో, కొత్త ఏకీకృత మోడల్ ఆధారంగా, విండోస్లో మాకోస్ మరియు డైరెక్ట్ఎక్స్లో మెటల్ ఉపయోగించి రెండరింగ్ ఇంజిన్ల సృష్టి మినహాయించబడలేదు, అయితే షేడర్ల కోసం ఇతర భాషలను ఉపయోగించడం ద్వారా అటువంటి ఇంజిన్ల సృష్టి సంక్లిష్టంగా ఉంటుంది (“ngl ” మరియు “వల్కాన్” ఇంజిన్లు GLSL భాషను ఉపయోగిస్తాయి, కాబట్టి మెటల్ మరియు డైరెక్ట్ కోసం డూప్లికేట్ షేడర్లు లేదా SPIRV-క్రాస్ టూల్కిట్ ఆధారంగా లేయర్ని ఉపయోగించాలి).
భవిష్యత్ ప్రణాళికలలో సరైన రంగు నిర్వహణ కోసం HDR మద్దతు మరియు సాధనాలను అందించడం, GPU వైపు పాత్ రెండరింగ్కు మద్దతు, గ్లిఫ్లను రెండర్ చేసే సామర్థ్యం, ఆఫ్-స్ట్రీమ్ రెండరింగ్ మరియు పాత మరియు తక్కువ-పవర్ పరికరాల కోసం పనితీరు ఆప్టిమైజేషన్లు ఉన్నాయి. ప్రస్తుత రూపంలో, "వల్కాన్" ఇంజిన్ యొక్క పనితీరు పాత "gl" ఇంజిన్ పనితీరుకు దగ్గరగా ఉంటుంది. "ngl" ఇంజిన్ పనితీరులో పాత "gl" ఇంజిన్ కంటే తక్కువగా ఉంటుంది, కానీ అందుబాటులో ఉన్న పనితీరు 60 లేదా 144 FPS వద్ద రెండరింగ్ చేయడానికి సరిపోతుంది. ఆప్టిమైజేషన్ తర్వాత పరిస్థితి మారుతుందని భావిస్తున్నారు.
మూలం: opennet.ru