Кіріспе

Демо эффект - демосцененің демоларында кездесетін компьютерлік нақты уақыт визуалды эффекттер атауы. Демонстрациялардың негізгі мақсаты - бағдарламашының дағдыларын көрсету. Осыған байланысты демо-кодерлер көбінесе техникалық негізін басқа бағдарламашылар оңай түсіне алмайтын жаңа эффекттерді жасауға тырысады. Кейде, әсіресе Commodore 64 сияқты шектеулі платформалар жағдайында, демо-эффект мақсатты машинаны оның мүмкіндіктерінен тыс нәрселерді жасауға мәжбүр етуі мүмкін. Техникалық шектеулерді шығармашылық жолмен жеңу қабілеті демосценерлер арасында жоғары бағаланады. Қазіргі заманғы демо 1980 және 1990 жылдардағы демолар сияқты әсерлерге назар аудармайды. Эффекттер енді сирек дербес мазмұн элементтері болып табылады, және олардың бағдарламалаушы көрінісіндегі рөлі азайды, әсіресе PC демонстрацияларында. Бүгінгі таңда компьютерлік компьютерлерді жасаушылар өздерінің бағдарламалау дағдыларын жоғары визуалды эффекттерге қарағанда процессуалды мазмұн жасау немесе 3D қозғалтқыштың мүмкіндіктерімен көрсетуі ықтимал.

Жабдықтар туралы ескертулер

Графикалық ерекшеліктері мен деректерді өңдеу мүмкіндіктері жағынан айтарлықтай өзгеретін көптеген құрылғылар үшін жазылған демонстрациялар бар. Жабдықтың өзгермелілігі әр платформа үшін ойлап табылған эффекттер түрлеріне, сондай-ақ іске асыруда қолданылатын әдістерге әсер етеді. Демосцена Commodore 64 және Amiga сияқты үй компьютерлерінде пайда болды, олар салыстырмалы түрде озық және өте "жарақтайтын" бапталған чиптер мен процессорларға ие болды. Интегралды схемаларды компьютерлік көмекпен жасаудың кеңінен қолданылуына дейін чиптер қолмен жасалып, көп жағдайда құжатталмаған немесе жоспарланбаған көптеген ерекшеліктерге ие болды. Стандарттаудың болмауы сонымен қатар аппараттық дизайн дизайнерлердің өз идеялары мен шығармашылық қабілетін көрсетуге бейім болды. Осы себепті, "ескі мектептің" демо-эффектерінің көпшілігі белгілі бір аппараттардың ерекшеліктерін шығармашылық пайдалануға негізделген. Жаңа эффекттер үшін пайдаланылатын құжатталмаған мүмкіндіктерді табу үшін аппаратты кері инженерияға көп күш-жігер жұмсалды. Алайда, 1990 жылдардағы IBM PC-ге үйлесімді компьютерлерде үй компьютерлеріне тән көптеген ерекшеліктер жоқ, оның орнына стандартты бөлшектер пайдаланылды. Бұл жалпы мақсаттағы есептеу қуатының артуымен өтелді. Компьютерлік жабдықтың үлкен өзгермелілігі арқылы да аппараттық амалдарды жасау мүмкіндігі шектеулі болды. Осы себептермен DOS дәуіріндегі PC-декодерлер пиксельдік деңгейдегі бағдарламалық жасақтаманы көрсету алгоритмдеріне назар аударуды жөн көрді. Демокодерлер жиі бір платформадан екіншісіне эффекттерді "көшіріп" беру арқылы сынға және құрметке ұмтылды. Мысалы, Amiga демо-дисктерінің "алтын дәуірі" кезінде көптеген танымал Amiga эффекттері Atari ST, Commodore 64 және PC-мен қайта жасалды, олардың кейбіреулері аталған эффекттерде талап етілетін негізгі мүмкіндіктер бойынша төмен деп саналды. 1990 жылдардың ортасынан бастап, PC негізгі платформаға айналғаннан кейін, Amiga және C 64 демолары "пиксельдік эффекттер" сияқты PC-ге де ие бола бастады.

Ерте тарих

Демо эффекттерге ұқсайтын ең алғашқы компьютерлік бағдарламалар демосценадан бірнеше онжылдық бұрын пайда болған. Мүмкін, ең алғашқы мысал осы дисплейді хакерлеу деп аталатын бағдарлама болып табылады, ол 1950 жылдардың басында Whirlwind компьютерінде Bouncing Ball деп аталатын бағдарлама. Тағы бір танымал дисплей хак, квадраттарды жеу, бастапқыда PDP 1-де шамамен 1900 жылы құрылған. 1962 жыл.

3D рендеринг

3D компьютерлік графика 1980-жылдардың соңынан бастап демо-драмаларда көрініс тапты. Қазіргі кезде жалпы мақсаттағы 3D қозғалтқышы көптеген жаңа демонстрациялардың ажырамас бөлігі болып табылады. 1980 жылдардың аяғы мен 1990 жылдардың басында айналатын 3D нысандар оларды есептеу мен көрсету қиындығына байланысты өздерінің әсерлері ретінде қарастырылды. Әсіресе, жүйелердің көпшілігінде жылжымалы нүктелік блок болмаған. Жалпы мақсаттағы 3D алгоритмдерден гөрі, демокодерлер көбінесе белгілі бір объектінің айналуы мен рендерингі үшін жоғары оңтайландырылған арнайы мақсаттағы трюктерді қолданды, мысалы, куб немесе сфера. Тіпті нүктелер, сызықтар немесе толтырылған көпбұрыштарды салудың өзі қиын іс болғандықтан, бәсекелестік көбінесе алдын ала есептелген математиканы қолдана отырып, сурет салу тәртібін оңтайландырумен айналысты. Кездейсоқ көрерменге көптеген демо-эффекттер жалпы мақсаттағы 3D қозғалтқышымен қол жетімді нәрсеге ұқсайды. Алайда, 3D-ге ұқсайтын классикалық эффекттерде жиі нақты уақыт 3D есептеулері болмайды. Мысалы, статикалық экраннан текстураға қарап шығу кестелерін симметриялық 3D нысандарымен қолдануға болады, олар симметрия осьтері бойынша айналады. Жаппай сатылатын 3D жеделдету аппараттарының пайда болуына дейін, демокодерлер көбінесе бағдарламалық 3D қозғалтқыштарында жарықтандыру және көлеңкелеу техникаларына, соның ішінде Гурау көлеңкелеу, Фонг көлеңкелеу, текстура картасы, соққы картасы, қоршаған орта картасы, радиоз және тіпті нақты уақыт сәулелі іздену. Жалпы мақсаттағы 3D қозғалтқыштар өте сирек "эффекттер" деп аталады, бірақ рендерингтелген көріністерде көбінесе осындай деп қарастырылатын нәрсе бар.