Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL herjaa outoja

Tumpelo [21.10.2006 11:04:22]

#

Tuli aika nolo päätös aamun koodailuille, kun aina hyvin toiminut SDL_LoadBMP alkoi peeloilemaan. Jostain syystä seuraavasta koodinpätkästä tulee segmentaatio virhe

if ((TextureImage[0] = SDL_LoadBMP("SpeedomLogo.bmp")))

, mutta jos tuon "SpeedomLogo.bmp":n tilalle pistää vaikka "/SpeedomLogo.bmp" niin se ei valita mitään, mutta silloin kuva ei näy enkä sillä voi teksturoida yhtikäs mitään.

Mistä mahtaa tällainen outo herjaus johtua? Olen debugannut koko koodin ja tuo on todella se virheen aiheuttaja, olen myös kokeillut Load_IMG-funktiota eikä se muuttanut asiaa miksikään.

Includetut tiedostot on tässä:

#include <cstdio>
#include <cstdlib>
#include <GL/gl.h>
#include <GL/glu.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <GL/glext.h>

sqwiik [21.10.2006 13:01:19]

#

Millä tavalla tuo TextureImage-taulukko on alustettu?

Tumpelo [21.10.2006 13:25:39]

#

sqwiik kirjoitti:

Millä tavalla tuo TextureImage-taulukko on alustettu?

SDL_Surface *TextureImage[1];

Mitään alustustahan tuolle ei kyllä tehdä, pitäisikö sitten?

tgunner [21.10.2006 16:53:03]

#

En ole yhtään varma, mutta oletko vapauttanut tuon pinnan ohjelman lopussa?

Tumpelo [21.10.2006 17:07:28]

#

TGunner kirjoitti:

En ole yhtään varma, mutta oletko vapauttanut tuon pinnan ohjelman lopussa?

Kyllä.

Noniin, vika selvisi, ja jälleen kerran se löytyi sieltä mistä sitä vähiten etsi. Tuon Load_BMP rivin alla on tällainen rivi: glGenTextures(1, &logo[0]);, tuossa oli aluksi ensimmäisenä parametrinä kolme, mutta kun muutin sen ykköseksi niin alkoi pelittämään. -__-

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta