Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Grafická knihovna OpenGL (32): operace s fragmenty

Razi
Razi (neregistrovaný)
10. 2. 2004 10:58 Nový

Par drobnosti...

celé vlákno

Pri teste na hlbku chyba zmienka o zisteni nastavenej testovacej funkcii:

glGetIntegerv(
GL_DEPTH_FUNC,
&params
);

Pri blendingu vypadli funkcie na zistovanie nastavenej zdrojovej a cielovej funkcie:

glGetIntegerv(
GL_BLEND_SRC,
&params
);

glGetIntegerv(
GL_BLEND_DST,
&params
);

Pri popise funkcii glReadBuffer() a glDrawBuffer() chyba pri hodnotach GL_FRONT_RIGHT, GL_FRONT_LEFT, GL_BACK_RIGHT, GL_BACK_LEFT poznamka, ze sa mozu pouzit iba pri zapnutom double-bufferingu.

Ak sa sucasne pouzivaju predny, zadny, lavy aj pravy buffer, potom pre funkciu glReadBuffer() definuju hodnoty GL_FRONT, GL_LEFT a GL_FRONT_LEFT vzdy lavy predny buffer, GL_FRONT_RIGHT a GL_RIGHT pravy predny buffer a konecne GL_BACK_LEFT a GL_BACK definuju lavy zadny buffer.

Pri hodnote GL_NONE mala byt menovana funkcia glDrawBuffer().

Pouzivat hodnotu GL_AUX_BUFFERS na zistenie poctu pridavnych bufferov je chyba. Spravne sa ma pouzit funkcia:

glGetIntegerv(
GL_AUX_BUFFERS,
&params
);

Dalej mozno doplnit, ze hodnoty konstant GL_AUXi su nastavene tak, aby splnali podmienku:

GL_AUXi = GL_AUX0 + i

Pomaha to pri zjednoduseni kodu programu.

Mimochodom, uvadzat v definiciach hlaviciek funkcii priklady hodnot ich parametrov ma este nikdy nenapadlo :) Zo zaciatku trochu matuce, ale uznavam, setri to miesto.

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
10. 2. 2004 14:56 Nový

Re: Par drobnosti...

celé vlákno

Dejuji za prispevek,

ja jsem tam nektere funkce (resp. parametry funkci glGet*) uz ani neuvadel, protoze se tato cast neumerne natahovala a snadno se to da nalezt v dokumentaci.

S hodnotou GL_NONE u glDrawBuffer() mate naprostou pravdu, docela zavazna chyba, stejne jako GL_AUX_BUFFERS.

U popisu vyznamu hodnot GL_FRONT_RIGHT, GL_FRONT_LEFT, GL_BACK_RIGHT, GL_BACK_LEFT predpokladam, ze si ctenar pouziti odvodi z GL_FRONT a GL_BACK.

Mimochodem, vy jste nekdy pouzil auxiliary barvove buffery? Kdyz jsem je chtel docela davno pouzit, tak jsem zjistil, ze mnoho implementaci je vubec nepodporuje (pouze predni a zadni barvovy buffer), takze se na ne neda moc spolehat. Bylo to v dobe Windows 98 a akceleratoru prvni a druhe generace (zacinaly GPU).

Razi
Razi (neregistrovaný)
10. 2. 2004 16:15 Nový

Re: Par drobnosti...

celé vlákno

Podla mne dostupnych zdrojov v Redmond OS nie su OpenGL auxiliary buffery podporovane. Kedze programujem hlavne pod vyssie zmienenym OS, nemal som moznost vyskusat ich v praxi. Vsetky doterajsie pokusy o ich inicializaciu skoncili neuspechom (musim vsak priznat, ze vela ich nebolo). Tiez s prikladmi pouzitia aux. bufferov sa stretavam velmi zriedka, asi prave kvoli tomu, ze na ich existenciu sa neda spolahnut.

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
11. 2. 2004 7:25 Nový

Re: Par drobnosti...

celé vlákno

Ja pouzivam nejenom OS z Redmontu, ale i Unixove systemy. Na grafiku jsem pouzival zejmena SGI Octane, ktery je sice zastaraly, ale zase ho povazuji z hlediska OpenGL za jakousi referencni platformu.

Je ale zajimave, ze auxiliary barevne buffery nefungovaly na wenckach ani pri pouziti SW implementace od SGI.

Zasílat nově přidané příspěvky e-mailem