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 (6): využití transformačních matic

Martin
Martin (neregistrovaný)
10. 8. 2003 16:50 Nový

Jak na 3D akceleraci?

celé vlákno

Mám zkušenosti s OpenGl, nikoli však pod Linuxem. Můžete mi poradit, jaké knihovny (SDL, Mesa, ...) a jaké postupy obecně používat, aby v mnou vytvořených OpenGl programech byla využita 3D akcelerace tak jako ve Windows? Závisí to na použitých knihovnách nebo je to úplně jedno a akcelerace je použita vždy, když je dostupná (nainstalovaná gr.karta a ovladače)?

Marcel Sebek
Marcel Sebek (neregistrovaný)
10. 8. 2003 18:14 Nový

Re: Jak na 3D akceleraci?

celé vlákno

Vetsinou se pouziva defaultne. Treba glut ma parametr -indirect k vypnuti akcelerace.

Tomas Crhonek
Tomas Crhonek (neregistrovaný)
11. 8. 2003 11:52 Nový

Pomale prekreslovani

celé vlákno

Upravil jsem si uvedeny priklad (strom), na fraktalni strom, (na kazde vetvi rekursivne vykreslim dalsi dve vetve). V tom problem neni.

Problem: obraz se vykresluje postupne. Pri poctu 2.000.000 a vice vetvi se vykresluje cara po care (na nizsich patrech stromu to je pekne videt). Zkousel jsem zapnou DOUBLE_BUFFER (a samozrejme SwapBuffers ();) ale je to beze zmeny.

Konfigurace: Win XP Prof SP1; Athlon XP 2500+; GeForce2 MX400 (renderovano do okna). Problem ve vykonu nevydim.

Nejde mi o rychlost vykresleni, to je OK, ale scena vyditelne preblikava (postupne se prekresluje a to i v poctu 32 car).

tomas

Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
11. 8. 2003 13:06 Nový

Re: Pomale prekreslovani

celé vlákno

Přeji dobrý den,

problém může být v tom, jak jste double-buffer zapnul. Nejprve je třeba pomocí funkce glutInitDisplayMode() specifikovat, které buffery chcete použít. Jako parametr je pro double-buffering zapotřebí nastavit parametr GLUT_RGB | GLUT_DOUBLE (dvě konstanty, mezi nimi operátor OR).

Potom je po vykreslení scény (v našich příkladech je to ve funkci onDisplay()) zapotřebí provést glFlush() a následně glutSwapBuffers().

Co se týče nějaké minimální konfigurace pro ukázkové příklady, tak ještě před cca rokem jsem některé ukázkové příklady testoval na 486 DX2@66, Windows 95 a softwarové OpenGL renderování. Všechny tyto příklady pracovaly bez problémů, až mě samotného překvapilo, jak je SW renderování rychlé.

Tomas Crhonek
Tomas Crhonek (neregistrovaný)
12. 8. 2003 12:03 Nový

Diky

celé vlákno

tomas

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