All pastes #151169 Raw Edit

fest

public cpp v1 · immutable
#151169 ·published 2006-08-27 19:34 UTC
rendered paste body
//function to load textureGLuint LoadTexture(char* filename){SDL_Surface* surf;if (surf=IMG_Load(filename)) {if (((surf->w & (surf->w -1))!=0) || ((surf->h & (surf->h -1))!=0)){	printf("Taa nav po2 textuura!\n");}Uint32 rmask, gmask, bmask, amask;#if SDL_BYTEORDER == SDL_BIG_ENDIAN    rmask = 0xff000000;    gmask = 0x00ff0000;    bmask = 0x0000ff00;    amask = 0x000000ff;#else    rmask = 0x000000ff;    gmask = 0x0000ff00;    bmask = 0x00ff0000;    amask = 0xff000000;#endif    SDL_Surface* surface = SDL_CreateRGBSurface(SDL_SWSURFACE, surf->w, surf->h, 32,                                   rmask, gmask, bmask, amask);    if(surface == NULL) {        printf("CreateRGBSurface nesanaaca: %s\n", SDL_GetError());     }	SDL_Rect srcrect;	SDL_Rect dstrect;	srcrect.x=srcrect.y=dstrect.x=dstrect.y=0;	dstrect.w=srcrect.w=surf->w;	dstrect.h=srcrect.h=surf->h;	//SDL_SetAlpha(surf,0,255);	SDL_BlitSurface(surf,&srcrect,surface,&dstrect);	GLuint surfhandle=0;glGenTextures(1,&surfhandle);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D,surfhandle);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,surface->w,surface->h,0,GL_RGBA,GL_UNSIGNED_BYTE,surface->pixels);if (surf) SDL_FreeSurface(surf);if (surface) SDL_FreeSurface(surface);printf("OpenGL errors: %s\n",glGetError());printf("Textuura %s veiksmiigi ielaadeeta!\n",filename);return surfhandle;}else printf("Neizdevaas ielaadeet textuuru: %s\n",SDL_GetError());return 0;}//rendering routinevoid RenderScene(){glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glLoadIdentity();glTranslatef(100,100,0);glBindTexture(GL_TEXTURE_2D,texture);glBegin(GL_QUADS);glTexCoord2i(0,0);glVertex2f(0,0);glTexCoord2i(1,0);glVertex2f(128,0);glTexCoord2i(1,1);glVertex2f(128,128);glTexCoord2i(0,1);glVertex2f(0,128);glEnd();}