25 éve foglalkozom számítógépes 3D grafikával, hobby szinten. Manapság a https://www.youtube.com/watch?v=CRfZYJ_sk5E videó keltette fel érdeklődésem, mert a benne szereplő, kirajzolt 3000 milliárd háromszög akkor is hatalmas mennyiségű geometriai elem, ha ezek nem is látszanak mind egyszerre, csak úgy cirka 50 millió. 3000 milliárd háromszög, az a négyszögbe rendezett kiosztás miatt 1500 milliárd háromszögpár vagyis ennyi négyszög térbeli definiálása és memóriában tartása szintén tekintélyes teljesítmény a legújabb RTX videókártyák részéről. Elemezve azonban rájöhettem, hogy a tulajdon fejlesztésű skar77.sf.net nyílt forráskódú programom a megfelelő render64.cpp állománnyal lényegében hasonló képességgel bír, csak picivel több memóriára mutatkozik igény.
Az 1500 milliárd négyszöget megoldhatja egy módszerrel 16 gigabájt RAM birtokában, ha figyelembe vesszük, hogy a definiált felületeken túl, minden objektum minden felületére, utolsó, képleképezési lépésként egy 2×2-től 128×128-ig terjedő felületosztódást húz rá tesszellációként, felületosztódásként, ami mégszebb képkészítést eredményez. Ami persze azt jelenti, hogy a 1500 milliárd négyszög az lényegében a programommal csak 91 millió négyszöget fed, csak ezek mindegyikére rá van illesztve még 16384 vagyis 128×128 felület, amely csak szebbé teheti az objektumokat. Kidudorodásokat vagy besüppedéseket már nem eszközölhet ki rajta.
De az RTX demóvideó felületdefinícióit tekintve a 3D gyorsítók módszere nagyon hasonlít saját programoméhoz. A látható sziklák valójában két kockából erednek. Mindkét kocka egyik oldalán egymáshoz simul, tehát a kettő együtt tíz felületet alkot. Akik használják a 3D Studió Max programot azok tudják, hogy MeshSmooth effektust érvényesítve egy objektumon, még részletesebb rajz jön létre, úgy, hogy minden felületet behelyettesít az effektus négy felülettel.
A programom és az RTX demóvideó mögötti gépi gyorsítás ehhez a lehetőséghez még hozzáteszi azt, hogy a felületosztódással csinosított objektum pontjai kidudorodhassanak és be is süppedhetnek keletkezésük után, ám mozgatni is lehet ezeket. Programommal is, és az RTX prómóvideójában szereplő objektumdefinicíókkal is LOD (Level of Design) nívókba csoportosítják az új felületeket. Az új nivók a MeshSmooth filozófiát követik, programommal úgy, hogy a kocka minden oldala helyébe úgy lép 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128 vagy 256×256 új felület, hogy azok egy következő nívót (LOD szintet) alkotnak az objektumon.
A videón ezeket az objektumszinteket nevezik LOD-nek és a kijelzett objektum olyan magas LOD-dal, kijelzési nívóval, felületszámmal jelenik meg, amennyire közel található az adott objektum, a szikla a látószöghöz amely szemléli a tájat. A kijelzés közben változtatott távolságra pedig megváltozik a LOD: ha távolodik egyre kevesebb LOD-dal, ha közelít, egyre nagyobb LOD-dal jelenik meg. Növekszik tehát a felületeinek száma, ám a váltás a LOD-ok között nehezen észrevehető.
