.[ ČeskéHry.cz ].
D3D - nevysvetlitelna zmena textury

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
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

PříspěvekZaslal: 25. březen 2008, 17:13:41    Předmět: D3D - nevysvetlitelna zmena textury Odpovědět s citátem

Zdravim, mam uz dlhsie jeden problem, pokusam sa ho uz riesit dlho ale bezvysledne Sad tak skusam tuto moznost mozno sa najde niekto kto dostane nejaky rozumny napad.... Confused

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? Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 25. březen 2008, 21:06:39    Předmět: Odpovědět s citátem

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). Smile
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1558

PříspěvekZaslal: 25. březen 2008, 23:33:14    Předmět: Odpovědět s citátem

[OT]Pomalu začínám chápat Hulána Laughing [/OT]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Icek



Založen: 29. 07. 2007
Příspěvky: 45
Bydliště: Banov 375

PříspěvekZaslal: 26. březen 2008, 10:17:07    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 26. březen 2008, 17:35:59    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Icek



Založen: 29. 07. 2007
Příspěvky: 45
Bydliště: Banov 375

PříspěvekZaslal: 26. březen 2008, 20:36:14    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 26. březen 2008, 20:50:15    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna