Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 17. listopad 2010, 18:05:28 Předmět: Obmedzeny pocet pouzitelnych framebufferov? |
|
|
Ahoj, zda sa mi ze to je bug v driveri, inak si to neviem vysvetlit.
Deje sa toto: mam okno, spravim si 3 framebuffery, kazdy ma ~2 color attachmenty + hlbku. Do kazdeho z nich nieco kreslim, ale ked chcem pouzit v poradi treti (nie v poradi vytvorenia, ale pouzitia) a nasledne chcem pristupovat k texture, ktoru som vyrenderoval do toho druheho FBO, tak je prazdna (samplovanie vracia (0, 0, 0, 0)). Myslel som, ze som vycerpal pamat na GPU, ale nepomohlo ani zmensit rozmery na 256x256, co sa musi zmestit do pamate ked som to s dvomi FBO robil na 800x600.
Ak robim render najprv do prveho, potom do druheho a potom zase do prveho tak je vsetko ok.
Napadlo mi, ze mozno ostala bindnuta textura, ktora je attachnuta, ale pre istotu pred kazdym renderom odbindujem textury zo vsetkych texture units.
Grafiku mam GeForce 310M a driver 260.99 (OpenGL 3.3).
Niekdo nejake napady? _________________ Moje minihry a ine projekty |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 17. listopad 2010, 18:48:56 Předmět: |
|
|
Je textura "kompletní"? Tj. zda splňuješ texture completeness tak, jak je dáno v GL specifikaci. To by mohl být problém, proč samplování vrací černou. Zkus použít taky glFlush před použitím té textury (pokud to pomůže, je bug v driveru). _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 17. listopad 2010, 21:41:57 Předmět: |
|
|
po zmeneni typu textury z RGBA16 FLOAT na RGBA8 UNSIGNED_BYTE problem zmizol. Co je divne kedze v ostatnych FBO vyuzivam textury typu RGBA16 normalne a funguju. _________________ Moje minihry a ine projekty |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 17. listopad 2010, 23:33:29 Předmět: |
|
|
Jediný parametr, který určuje formát textury, je internalformat v glTexImage. Ostatní jenom určují formát pixelů parametru pixels, nic víc.
Chápu to dobře, žes použil GL_RGBA16? To ale není float. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 18. listopad 2010, 09:19:41 Předmět: |
|
|
Sorry, preklep, pouzil som RGBA16F. Cize internal format RGBA16F, format RGBA, type FLOAT. _________________ Moje minihry a ine projekty |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 18. listopad 2010, 11:07:03 Předmět: |
|
|
Funguje to na ATI? Pokud jo, je problém v driveru. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 18. listopad 2010, 13:43:39 Předmět: |
|
|
Po dlhej studii mojho kodu som zistil, ze chyba bola uplne inde. Nevypol som blending. _________________ Moje minihry a ine projekty |
|
Návrat nahoru |
|
|
|