HTML

Friss topikok

  • Pretender: @Tiberius (the one): hallottam mondjuk már róla, de teljesen abban a tudatban voltam, hogy az mana... (2012.02.28. 18:43) Winapi Winforms
  • Pretender: @version: oké :) most végül lehet, h találtam valakit, majd látjuk ;) (2011.12.08. 19:26) Háló 2

2012.04.11. 19:50 Pretender

Fallback

 A valamivel újabb és normálisabb (azaz ATi vagy nVidia) videókártyákon jól megy a deferred shadinges megjelenítés, azonban régebbi, vagy kevésbé normális (Intel) kártyákon annyira nem szuperált, ezért elkezdtem azon dolgozni, hogy minél szélesebb körben futtatható legyen a program.

Bevezettem 3 renderelési módot: Deferred, Forward, Fixed function. Ezek között majd a menüben is lehet kézzel állítani, azonban vannak bizonyos kritériumok, amiknek meg kell lennie ahhoz, hogy az adott mód használható legyen.

1.: Deferred Shading:
Ahhoz, hogy lehessen Deferred Shadingünk, szinte az összes számomra szükséges extensionnek szerepelnie kell:
- VBO
- FBO
- GLSL Shader
- MRT
ha ezek bármelyikét nem támogatja az adott videókártya, akkor nem lehet deferred shadingünk.

2.: Forward Shading:
Ennek hasonlóak a feltételei, mint a Deferred Shading esetén, csupán az MRTre, azaz a Multi-RenderTargetre nincs szükség (OpenGLben annyit jelent, hogy a csatolható COLOR_ATTACHMENTek száma < 2)

3.: Fixed Function:
Ha se Shader, se FBO, se MRT nincs, akkor nincs más választásunk: Fixed Function kell renderelni. Ekkor nincs normal mapping sem, csupán maximum 8 db fény, sima diffuse shadinggel.
Itt már le van kezelve a VBOs és a VBO nélküli renderelés.

A fixed function animációról annyit, hogy nem áll rendelkezésre GPU skinning (tudtommal), hiszen nincs shaderünk, ezért a CPUn kell az animálást elvégezni. Ugyan azt csináljuk, mint a GPU esetén, annyiban más csak, hogy a VBO (már ha van) feltöltése után nem törölhetjük az adatokat (Vertexek listáját), hiszen azzal fogunk dolgozni. Sőt, még egy másolatot is kell készíteni róla, mert az eredeti vertexet akarjuk a megfelelő mátrixszal transzformálni.

Összegezve: eddig egész jól ment, de meg kell találni azért az arany középutat. Túlságosan nem akarok majd belemenni a fallbackelésbe, aki játszani akar majd, annak legyen is hozzá gépe. Vagy csak szimplán ne Intel kártyával akarjon bármit is csinálni :)

Szólj hozzá!


A bejegyzés trackback címe:

https://screamengine.blog.hu/api/trackback/id/tr394386553

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása