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>
Millä tavalla tuo TextureImage-taulukko on alustettu?
sqwiik kirjoitti:
Millä tavalla tuo TextureImage-taulukko on alustettu?
SDL_Surface *TextureImage[1];
Mitään alustustahan tuolle ei kyllä tehdä, pitäisikö sitten?
En ole yhtään varma, mutta oletko vapauttanut tuon pinnan ohjelman lopussa?
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. -__-
Aihe on jo aika vanha, joten et voi enää vastata siihen.