Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 7. leden 2011, 22:23:56 Předmět: Rozdíl dvou textur |
|
|
Zdravím,
jak co nejrychleji spočítat průměrný rozdíl mezi pixely dvou textur a získat tak jednu skalární hodnotu? Jde to vůbec nějak rozumně akcelerovat na GPU?
Díky. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Deluxe

Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 7. leden 2011, 22:40:20 Předmět: |
|
|
Jen takovej napad, nedalo by se to zjistit az z nejmensi mipmapy tech textur? |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 7. leden 2011, 23:12:28 Předmět: |
|
|
Trochu problém je, že minimálně jedna z těch textur bude vytvořena pomocí vykreslování do textury. Abych se přiznal, nevím, jak s tím jdou mipmapy dohromady. A když se tak nad tím zamýšlím, tak lepší by možná byla spíš suma absolutních hodnot rozdílů z důvodu přesnosti. A nebo né z celých textur, ale ze dvou obdélníkových stejně velkých podobrázků těchto dvou textur. Nebo nedalo by se to nějak spočítat na CPU, aniž by se ty textury přesouvaly do RAM? Ale pozor, maximální pro mě využitelná verze OpenGL je 2.1. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 7. leden 2011, 23:51:15 Předmět: |
|
|
zobrat tie dve textury (ze je z FBO je uplne jedno) a vyrenderovat do tretej kde sa zapise absolutny rozdiel. mozno by to slo aj FFP ale radsej pouzit shader. no a nakoniec nechat pre tu tretiu vygenerovat mipmapy a precitat najvyssi lvl tej mipmapy s rozmerom 1x1 kde bude priemer.
aka bude ale presnost netusim. asi by sa zislo pouzit float textury.
mipmapy nechat generovat pomocou GL_GENERATE_MIPMAP alebo lepsie glGenerateMipmap(). glGenerateMipmap() nie je v 2.1 ale myslim ze kazdy HW ktory zvlada FBO by mal vediet aj glGenerateMipmap() _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 8. leden 2011, 04:45:30 Předmět: |
|
|
Případně můžes provést redukci výsledné textury s diferencema na 1x1 texturu ručně tak, že ji vyrenderuješ to textury s width/4 a height/4, kde v pixel shaderu zprůměruješ vždycky 4x4 blok pixelů. To vyjde na 2x méně průchodů než dělá glGenerateMipmap. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Vilem Otte

Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 8. leden 2011, 23:54:03 Předmět: |
|
|
Co k tomu použít Summed Area Tables? Mohlo by se to veli zrychlit a velmi zjednodušit. _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
 |
|