Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Peto
Založen: 01. 08. 2007 Příspěvky: 206 Bydliště: Košice
|
Zaslal: 25. březen 2008, 17:13:41 Předmět: D3D - nevysvetlitelna zmena textury |
|
|
Zdravim, mam uz dlhsie jeden problem, pokusam sa ho uz riesit dlho ale bezvysledne tak skusam tuto moznost mozno sa najde niekto kto dostane nejaky rozumny napad....
Ide o to ze mam objekt - teren.. s 10 texturami v jednom passe. Je tam vsetko mozne tiene, masky, klasicke tiles a pod. Problem je ze niekedy najma ak mam napr pootvarane aj ine aplikacie napr Windows Photo Gallery s nejakym dost velkym obazkom, sa jedna textura na 6. stage zmeni na inu ktora by tam vobec nemala byt (dokonca tam hodi aj texturu ktora tusim uplne z ineho stagu).
Najlepsie je na tom to ze ked cez GetTexture tesne pred renderovanim ulozim do obrazku vsetky pouzivane stage tak vsetko je ok, vsetky textury su spravne.
Na renderovanie pouzivam Effect a PS2.0. Ked shader prepisem na taky kde nieje nic ine iba zobrazenie toho jedneho problemoveho stagu nepomaha, stale to blbne.
Ked nenastavim ostatne stage, iba ten jeden problemovy.. to iste, stale mi tam hadze inu tex.
Zmena formatu textury a pod nepomaha.
Logicky som skusit pomenit poradie stagov, dal som na ten problemovy inu texturu. Nepomahalo, stale blbol stage ktory predtym, hodilo tam inu texturu. Dalsia vec co ma napadla vynechat problemovy stage a hodit tu texturu z neho na dalsi... to iste.. zblbol ten dalsi.. tak fakt neviem.. ma niekto nejaky napad? |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 25. březen 2008, 21:06:39 Předmět: |
|
|
Bug v driveru, konzultuj to s vývojářskou podporou u tvého výrobce karty.
AMD: devrel@ati.com
nVidia: http://developer.nvidia.com/object/contact_us.html (je tam víc možností)
A když už se tu bavíme o chybách v driverech, dám tady jednu radu: Nezkoušejte PBO v GL pro R2VB, na ATI to nemá smysl, nefunguje to (funguje to v 0.1% případech, prostě loaduju scénu furt dokola, dokud se to nezobrazí správně, na nVidii to jde). _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 25. březen 2008, 23:33:14 Předmět: |
|
|
[OT]Pomalu začínám chápat Hulána [/OT] |
|
Návrat nahoru |
|
|
Icek
Založen: 29. 07. 2007 Příspěvky: 45 Bydliště: Banov 375
|
Zaslal: 26. březen 2008, 10:17:07 Předmět: |
|
|
Eoise > Já jsem PBO v GL pro R2VB, na ATI používal, teda jestli jsem tě správně pochopil (výpočet na GPU a pak přez PBO data zpátky do VBO) |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 26. březen 2008, 17:35:59 Předmět: |
|
|
Dělám to tak, že mám ve VBO 4D vektory a pomocnou texturu formátu RGBA32F, kde šířka*výška = počet vektorů. Postup je:
- Vymažu texturu hodnotama 0.1234 (to je tady jen pro kontrolu, zda se pak všechno zapíše, tento krok není nutný).
- 4D vektory vyrenderuju jako body (points) do textury ve stejným pořadí jako jsou ve VBO, tzn. vyplňuju postupně všechny řádky textury. Během kreslení těch bodů je shader může měnit.
- Texturu zkopíruju do původního VBO (pomocí PBO a glGetTexImage(...., 0)).
Zajímavé je, že:
- Žádný vektor pak nemá XYZW hodnoty 0.1234 (nebo číslo tomu blízké), takže textura musela být správně vyplněna celá (jednotlivé body jsou přesně 1px velké).
- VBO je někdy částečně vyplněno náhodnými daty, které se po opakovaném provádění celého algoritmu nezmění (ani když je v shaderu změním...), což je dost divné. Počet takto "poškozených" vertexů je na ATI náhodný. Na nVidiích je "poškozený" jenom jeden vždy na stejném indexu (tzn. není problém tento index vždy přeskočit, kdyby se to nevyřešilo). Nicméně dokud to nepojede na ATI, je mi to k ničemu.
Icek> Jak to děláš ty? A funguje to? Co máš za HW? _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
Icek
Založen: 29. 07. 2007 Příspěvky: 45 Bydliště: Banov 375
|
Zaslal: 26. březen 2008, 20:36:14 Předmět: |
|
|
Já jsem to používal na update vodní hladiny na GPU. V podstatě to byl přepis dema od Mizanina, nebo jak se ten borec jmenuje. Nešel jsem na to tak vědecky. Je to už víc než rok, ale jestli si dobře pamatuju tak to byl ping-pong textur obsahujících souřadnice vrcholů a textur obsahujících "vektory pohybu" nebo jak to říct.(formát textur si už nepamatuju, ale tipoval bych taky RGBA32F) Zkoušel jsem to na X1600 PRO, ovladače catalyst 6.9 . Je ale pravda, že se to chovalo trošku jinak než na NVIDII 6200, což ale mohlo být nějakou chybou v shaderu. |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 26. březen 2008, 20:50:15 Předmět: |
|
|
To je zas příliš přímočaré, příliš jednoduché, nedá se to použít na všechno. Rád bych, abych mohl pracovat s libovolnými modely (tzn. mít úplně normální R2VB). _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
|