Hlavní navigace

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

  • Článek je starý, nové názory již nelze přidávat.
  • 10. 2. 2004 10:58

    Razi (neregistrovaný)

    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.

  • 10. 2. 2004 14:56

    Pavel Tišnovský (neregistrovaný)

    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).

  • 10. 2. 2004 16:15

    Razi (neregistrovaný)

    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.

  • 11. 2. 2004 7:25

    Pavel Tišnovský (neregistrovaný)

    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.