void Display::play() { Map *map = _game->getMap(); Snake *snake = _game->getSnake(); Shader colorShader("Shaders/couleur2D.vert", "Shaders/couleur2D.frag"); colorShader.load(); glClear(GL_COLOR_BUFFER_BIT); glUseProgram(colorShader.getProgramID()); drawBackground(); drawWalls(); drawFruit(*map); drawSnake(*snake); glUseProgram(0); SDL_GL_SwapWindow(_window); }
SkPDFAlphaFunctionShader* SkPDFAlphaFunctionShader::Create( SkPDFCanon* canon, SkScalar dpi, SkAutoTDelete<SkPDFShader::State>* autoState) { const SkPDFShader::State& state = **autoState; SkRect bbox; bbox.set(state.fBBox); SkAutoTDelete<SkPDFShader::State> opaqueState(state.CreateOpaqueState()); SkAutoTUnref<SkPDFObject> colorShader( get_pdf_shader_by_state(canon, dpi, &opaqueState)); if (!colorShader) { return NULL; } // Create resource dict with alpha graphics state as G0 and // pattern shader as P0, then write content stream. SkAutoTUnref<SkPDFObject> alphaGs( create_smask_graphic_state(canon, dpi, state)); SkPDFAlphaFunctionShader* alphaFunctionShader = SkNEW_ARGS(SkPDFAlphaFunctionShader, (autoState->detach())); SkAutoTUnref<SkPDFDict> resourceDict( get_gradient_resource_dict(colorShader.get(), alphaGs.get())); SkAutoTDelete<SkStream> colorStream( create_pattern_fill_content(0, bbox)); alphaFunctionShader->setData(colorStream.get()); populate_tiling_pattern_dict(alphaFunctionShader, bbox, resourceDict.get(), SkMatrix::I()); canon->addAlphaShader(alphaFunctionShader); return alphaFunctionShader; }