Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 5. říjen 2007, 22:57:50 Předmět: Záhadný doublebuffer v OpenGL |
|
|
Zdravím,
jak je možné, že při překreslování obrazu v OpenGL renderu nikdy nedochází k třesení obrazu, když se nepřekresluje pozadí, jako tomu bylo např. u doomovek?
Díky. |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 5. říjen 2007, 23:11:05 Předmět: |
|
|
Treba proto, ze ten zbuffer mazes? Chtelo by to lip definovat problem. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 5. říjen 2007, 23:33:42 Předmět: |
|
|
Když nemažu color buffer, vzniká tam, kde se nic nevykreslí, tohle:
Jak to, že se to ale netřese, když se střídají dva buffery? Žádný problém s tím nemám, jen mě to zarazilo. Dá se to nějak vysvětlit? |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 6. říjen 2007, 00:10:22 Předmět: |
|
|
Leda ze by ses zeptal primo lidi z nVidie/AMD, coz muzes. Nebo jsi jeste nenasel spravnou podmnozinu stavu, ktera to zpusobuje. A treba to taky nejde. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 6. říjen 2007, 01:11:26 Předmět: |
|
|
Podla mna je to spravanie uplne spravne. Nechapem o akom traseni hovoris. Ked color buffer nezmazes, ostane v nom to, co tam bolo okrem miest, kam nieco znovu vykreslis.
Ako by sa malo take trasenie prejavit? Povedz priklad nejakeho softu, napr. hry, kde to tak je, lebo neviem co myslis... _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 6. říjen 2007, 03:53:32 Předmět: |
|
|
On asi myslel, ze kdyz neco vyrenderujes do back bufferu, pak se to prohodi (back->front) a pak zas neco do back bufferu a pak to jenom furt prohazujes, ze to bude blikat. To si myslim, ze to karty takto resit nemusi. Tam ten buffer muze byt klidne jenom jeden. Ony ty data se klidne mohou rovnou poslat pryc pres RAMDAC a muze se renderovat dal na to stejny misto.
Je treba si uvedomit, ze ucel doublebufferingu je zabranit moznost videt, jak se cela scena sklada tzn. jak tam postupne pribyvaji ty objekty. Jelikoz je to vetsinou dost rychly, muze to spis budit dojem blikani nez ze se tam opravdu neco pridava a pak maze. Nikdo urcite nepocital s tim, ze tam bude chtit frca udelat problikavani dvou bufferu. To udelas nejlip asi tak, ze budes renderovat do dvou textur a vzdycky mezi nimi budes prepinat. Tim asi nasimulujes ten artefakt zpusobeny ve hrach jako doom jeste z dosu, ovsem za cenu vykonu.
frca> Mozna bys mel do tech svych prispevku dat pro priste trochu vic okecavani, at ja tady neztracim cas vysvetlovanim neceho, co ty vlastne ani nechces. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
igor
Založen: 28. 07. 2007 Příspěvky: 196
|
Zaslal: 6. říjen 2007, 09:43:55 Předmět: |
|
|
Zjistil jsem akorat, ze samotny pojem double buffering znamena jen, ze obraz je vykreslovan do nejakeho bufferu, ktery se pak zobrazi najednou. Ta technika s prepinanim 2 bufferu se jmenuje page flipping. Page flipping je jen zpusobem, jak lze double buffering provest. |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 6. říjen 2007, 12:11:10 Předmět: |
|
|
Na starych grafikach page flipping zpusobuje blikani, ktere asi frca mysli (jeste na takovem ATI RagePro sem to videl). Kdyz se pouzilo kopirovani z back-bufferu na screen (druha moznost double-bufferingu), tak zadne blikani samozrejme neni a vysledek je jako na screenshotu. Jak to delaj novy grafiky, nevim. |
|
Návrat nahoru |
|
|
|