Andinthetextingpartofthethree D graphicsengineSiri's, webegantoseeperformanceissuesduetohowthewindowssubsystemrendersthecouncil.
Thereare a lotmoreinterestingalgorithms I'd liketodisplayonthischannel, but I doneedsomesortofhigherFidelitygraphicsinordertodoso.
I guesstheywillbepredominantlygraphicalalgorithms, but I'm a littlebitconsciousofthefactthatthevideosofbecomingabouthowdowedographicsinthecouncilratherthanfocusingonthealgorithmsunderneath.
Andso I decidedtocreatethewomancode, a pixelgameengine, thepixelgameengine, likethecouncilgameengine.
Beforeitis a singleheadoffilesolutionon, I'vedecidedtocreatemyownlicensetouseit.
Oh L C.
Three.
It's a variationofftheBSDthreelicense.
Fundamentally, it's thesameButitdoesinsistthatyougiveme a littlebitof a nod.
Ifyouusethecodeinsomethingpublicnow, I wanttogetthisclearstraightaway.
I'm notgoingtostopusingthecouncilgameengine.
It's stillappropriatefor a lotofthingsthat I wanttodo.
Andrememberwhen I startedthisYouTubechannel, I neverreallyexpectedittogainanykindofsubscriberbaseitall, socompilingonotherplatformswasn't a priority.
However, thisheadoffilehasbeencompiledinLenoxfirst, and I tookthisapproachtoreallytryandensurethemaximumcompatibilitywecanhavewithhismanyusersandoperatingsystemsaspossible.
I'vealsoworkedonquite a bittogetittobe a charactertypeagnostic, soitdoesn't reallymatterwhetheryou'reusingUnicodeornot.
Now, thefirstmajorchangeisallofthepixelgameenginecodeexistsinan O.
L C namespace, and I'veadoptedthisapproachtoallowmetowearextensionslateronthatcanexistwithinthisnamespacewithoutcontaminatingtherestoftheprogramsinsteadofcharacters.
Thefundamentalunityouoperateuponisthepixel, whichis a 32 bitfullcolor, well, pixel.
Wecangetthisstateof a key, andwecangetthisstateof a mouse.
Wecaninterrogatetheprimarydisplayofthepixelgameengineexactlythesameaswiththecouncilgameengine, withthefunctions, screenwitandscreenheightthrough a fewmorenow, whichwemaygointodetailininlatervideosAndifyouhaveanyfamiliaritywithcounselgameengine, you'llrecognize a lotofthesefunctionsstraightaway.
Inthisinstance, wedon't needtocreateanyresources, so I'm justgoingtoreturn.
TruetosaythatthisfunctionsuccessfullycompletedthemainfunctionwhereallofthegutsofthegameengineLiesisonuserupdate, whichtakesin a floatingpointvariablecalled F ElapsedTimeAgain, we'llmakeitreturn.
Previously, wewouldhaveused a characteron a color.
Soifwewantedtodisplaytheirpixelastheletter A, forexample, inthecouncilgameengine, wecoulddothathere.
That's nolongeranoption, becausethepixelisnowpurely a graphicalthing.
Thereisnotextassociatedwithit, andsowehave a varietyofwaysofspecifyingthelookoff a pixelbuiltintotheheadoffileourloadsofconstantcolorsalready, sohewantedtodisplayeverythinggreen.
So I'm goingtoloadupthespiral, thedragonlevelondisplaysinthepixelgameengine.
Fundamentally, thecodehasbeenchanged.
Theonlydifferenceisaware.
We'vebeendrawingandgettinguserinput.
Sowho's Aaronputit?
Wehaven't lookedatyet.
Insteadofspecifyingnow a particularkeycodenativetotheoperatingsystem, youspecifyanolseekeycode, butfunctionally, it's exactlythesame.
Whereasweusedtospecify W S A N D.
AscharacterswenowusethemisConstancefromtheengine.
Allofthemechanicscodeofactuallyrenderingthethree D graphicsisexactlythesamebeforelaunchitonequickthingthatwenowworkwithPNGgraphicsinsteadoftheSP R file.
Solet's take a look.
Andhereweseeit's thespirallevelexactlythesameasitwasbefore, butnowlooks a lotmoredetail.