.[ ČeskéHry.cz ].
OpenGL - načítání textur s rozlišením 128x128 a vyšší

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Anatoly



Založen: 08. 05. 2009
Příspěvky: 10

PříspěvekZaslal: 8. květen 2009, 10:00:26    Předmět: OpenGL - načítání textur s rozlišením 128x128 a vyšší Odpovědět s citátem

Zdravím
jak je z nadpisu patrno, dělá mi problém načítat textury s rozměry přesahujícími 64x64. Načtení obrázku(bmp, load přes SDL) proběhene v pořádku, nastavení parametrů taky, problém nastane při volání funkce glTexImage2D. IDE (Code:blocks) vyhodí hlášku Segmentation fault. Z debuggeru jsem zjistil, že pád nastane někde v knihovně atioglx2.dll. Pokud nechám program proběhnout bez debuggeru vypíše se do konzole
process returned 3. Někde jsem četl, že to znamená soubor nenalezen, ale to asi nebude ono, protože SDL texturu v pořádku načte.
Napadá mě, že by mohl být problém s ovladači grafiky, ale to by se nejspíše projevilo i jinde např při hraní her.
Moje železo je notebook:
AMD Turion 64 X2
1GB ram
ATI Mobility Radeon HD 2600 (256MB ram)

kód:

//txt_man je struktura ukládájící načtené textury
    if(image!=NULL)
    {
        txt_man->txt_width[txt_man->txt_count]=image->w;
        txt_man->txt_height[txt_man->txt_count]=image->h;
        glGenTextures(1,&txt_man->texture[txt_man->txt_count]);
        glBindTexture(GL_TEXTURE_2D,txt_man->texture[txt_man->txt_count]);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
        glTexImage2D(GL_TEXTURE_2D, 0, 3, image->w, image->h,
                     0, GL_RGB, GL_UNSIGNED_BYTE, &image->pixels);
        txt_man->txt_count++;
    }

předem díkes, snad na něco přijdete... Question [/code]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
bolejt



Založen: 02. 05. 2009
Příspěvky: 45

PříspěvekZaslal: 8. květen 2009, 10:27:52    Předmět: Odpovědět s citátem

jak vypada txt_man a jak alokujes vsechny veci?
nechal sis vubec zobrazit, co ti to nacetlo za obrazek, nebo jsi jen ve fazi nacitani a veris, ze 64x64 nacetlo v poradku? .)

prestoze nevim, jak vypada txt_man a to, co v nem hnizdi, tak mne se nezda tohle:
glTexImage2D(GL_TEXTURE_2D, 0, 3, image->w, image->h, 0, GL_RGB, GL_UNSIGNED_BYTE, &image->pixels);
protoze glTexImage2D bere jen void* a predpokladam, ze pixels je ukazatel na cosi, tak bych to opravil na tohle:
glTexImage2D(GL_TEXTURE_2D, 0, 3, image->w, image->h, 0, GL_RGB, GL_UNSIGNED_BYTE, image->pixels);
_________________
Ball ball8;
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Anatoly



Založen: 08. 05. 2009
Příspěvky: 10

PříspěvekZaslal: 8. květen 2009, 19:10:33    Předmět: Odpovědět s citátem

Díkes, zdá se, že to bylo tím. Jasně, že jsem si to nechal zobrazit, menší textury se zobrazily(i když je pravda, že trochu divně).
hm zdá se, že C rozumim míň, než jsem si myslel... Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna