bool SkOSWindow::attachGL() { if (NULL == fAGLCtx) { fAGLCtx = create_gl((WindowRef)fHWND); if (NULL == fAGLCtx) { return false; } } GLboolean success = true; int width, height; success = aglSetWindowRef((AGLContext)fAGLCtx, (WindowRef)fHWND); width = this->width(); height = this->height(); GLenum err = aglGetError(); if (err) { SkDebugf("---- aglSetWindowRef %d %d %s [%d %d]\n", success, err, aglErrorString(err), width, height); } if (success) { glViewport(0, 0, width, height); glClearColor(0, 0, 0, 0); glClearStencil(0); glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); } return success; }
SurfaceOpenGL::SurfaceOpenGL(const std::string& file, int x, int y, int w, int h, int use_alpha) { sdl_surface = sdl_surface_part_from_file(file,x,y,w,h,use_alpha); create_gl(sdl_surface, &gl_texture); w = sdl_surface->w; h = sdl_surface->h; }
SurfaceOpenGL::SurfaceOpenGL(const std::string& file, int use_alpha) { sdl_surface = sdl_surface_from_file(file, use_alpha); create_gl(sdl_surface,&gl_texture); w = sdl_surface->w; h = sdl_surface->h; }
SurfaceOpenGL::SurfaceOpenGL(SDL_Surface* surf, int use_alpha) { sdl_surface = sdl_surface_from_sdl_surface(surf, use_alpha); create_gl(sdl_surface,&gl_texture); w = sdl_surface->w; h = sdl_surface->h; }
/** Wygenerowanie textur openGL-a */ void RendererGL::init() { create_gl( pBackground , &pBackground_GL ); create_gl( pAtlas, &pAtlas_GL ); create_gl( pMenuBackground , &pMenuBackground_GL ); }