Lines Matching refs:ctx

770 void IntersectingQuadsTest::render (sglr::Context& ctx, Surface& dst)
773 deUint32 texShaderID = ctx.createProgram(&texShader);
778 createMetaballsTex2D(ctx, metaballsTex, GL_RGB, GL_UNSIGNED_BYTE, 64, 64);
779 createQuadsTex2D(ctx, quadsTex, GL_RGB, GL_UNSIGNED_BYTE, 64, 64);
783 Framebuffer fbo(ctx, getConfig(), width, height);
787 texShader.setUnit(ctx, texShaderID, 0);
790 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbo.getFramebuffer());
791 ctx.viewport(0, 0, width, height);
792 ctx.clearColor(1.0f, 0.0f, 0.0f, 1.0f);
793 ctx.clear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
795 ctx.enable(GL_DEPTH_TEST);
797 ctx.bindTexture(GL_TEXTURE_2D, metaballsTex);
798 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, -1.0f), Vec3(1.0f, 1.0f, 1.0f));
800 ctx.bindTexture(GL_TEXTURE_2D, quadsTex);
801 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 1.0f), Vec3(1.0f, 1.0f, -1.0f));
803 ctx.disable(GL_DEPTH_TEST);
808 ctx.bindFramebuffer(GL_FRAMEBUFFER, 0);
811 ctx.bindTexture(GL_TEXTURE_2D, fbo.getColorbuffer());
812 ctx.viewport(0, 0, ctx.getWidth(), ctx.getHeight());
813 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(1.0f, 1.0f, 0.0f));
816 ctx.readPixels(dst, 0, 0, ctx.getWidth(), ctx.getHeight());
821 ctx.readPixels(dst, 0, 0, width, height);
1127 void StencilTest::render (sglr::Context& ctx, Surface& dst)
1131 deUint32 colorShaderID = ctx.createProgram(&colorShader);
1132 deUint32 texShaderID = ctx.createProgram(&texShader);
1141 createQuadsTex2D(ctx, quadsTex, GL_RGB, GL_UNSIGNED_BYTE, texWidth, texHeight);
1142 createMetaballsTex2D(ctx, metaballsTex, GL_RGB, GL_UNSIGNED_BYTE, texWidth, texHeight);
1144 Framebuffer fbo(ctx, getConfig(), width, height);
1148 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbo.getFramebuffer());
1149 ctx.viewport(0, 0, width, height);
1150 ctx.clearColor(0.0f, 0.0f, 0.0f, 1.0f);
1151 ctx.clear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
1154 ctx.enable(GL_DEPTH_TEST);
1155 ctx.enable(GL_STENCIL_TEST);
1156 ctx.stencilFunc(GL_ALWAYS, 0, 0xffu);
1157 ctx.stencilOp(GL_KEEP, GL_KEEP, GL_INCR);
1159 colorShader.setColor(ctx, colorShaderID, Vec4(0.0f, 0.0f, 1.0f, 1.0f));
1160 sglr::drawQuad(ctx, colorShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(+1.0f, +1.0f, 0.0f));
1162 ctx.bindTexture(GL_TEXTURE_2D, quadsTex);
1163 texShader.setUnit(ctx, texShaderID, 0);
1164 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, -1.0f), Vec3(+1.0f, +1.0f, +1.0f));
1167 ctx.disable(GL_DEPTH_TEST);
1168 ctx.stencilFunc(GL_EQUAL, depth ? 2 : 1, 0xffu);
1169 ctx.stencilOp(GL_DECR, GL_KEEP, GL_KEEP);
1170 colorShader.setColor(ctx, colorShaderID, Vec4(0.0f, 1.0f, 0.0f, 1.0f));
1171 sglr::drawQuad(ctx, colorShaderID, Vec3(-0.5f, -0.5f, 0.0f), Vec3(+0.5f, +0.5f, 0.0f));
1174 ctx.bindTexture(GL_TEXTURE_2D, metaballsTex);
1175 ctx.stencilFunc(GL_GREATER, depth ? 1 : 2, 0xffu);
1176 ctx.stencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
1177 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(+1.0f, +1.0f, 0.0f));
1179 ctx.disable(GL_STENCIL_TEST);
1183 ctx.bindFramebuffer(GL_FRAMEBUFFER, 0);
1184 ctx.activeTexture(GL_TEXTURE0);
1185 ctx.bindTexture(GL_TEXTURE_2D, fbo.getColorbuffer());
1186 ctx.viewport(0, 0, ctx.getWidth(), ctx.getHeight());
1187 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(1.0f, 1.0f, 0.0f));
1188 ctx.readPixels(dst, 0, 0, ctx.getWidth(), ctx.getHeight());
1191 ctx.readPixels(dst, 0, 0, width, height);
1874 void RecreateBuffersTest<Buffers>::render (sglr::Context& ctx, Surface& dst)
1877 deUint32 texShaderID = ctx.createProgram(&texShader);
1884 createQuadsTex2D(ctx, quadsTex, GL_RGB, GL_UNSIGNED_BYTE, 64, 64);
1885 createMetaballsTex2D(ctx, metaballsTex, GL_RGB, GL_UNSIGNED_BYTE, 64, 64);
1887 Framebuffer fbo(ctx, getConfig(), width, height);
1891 texShader.setUnit(ctx, texShaderID, 0);
1894 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbo.getFramebuffer());
1895 ctx.viewport(0, 0, width, height);
1896 ctx.clearColor(1.0f, 0.0f, 0.0f, 1.0f);
1897 ctx.clear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
1899 ctx.enable(GL_DEPTH_TEST);
1901 ctx.bindTexture(GL_TEXTURE_2D, quadsTex);
1902 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(1.0f, 1.0f, 0.0f));
1906 ctx.enable(GL_SCISSOR_TEST);
1907 ctx.scissor(width/4, height/4, width/2, height/2);
1908 ctx.clearStencil(1);
1909 ctx.clear(GL_STENCIL_BUFFER_BIT);
1910 ctx.disable(GL_SCISSOR_TEST);
1915 ctx.bindFramebuffer(GL_FRAMEBUFFER, 0);
1923 ctx.deleteTextures(1, &colorbuf);
1924 ctx.bindTexture(GL_TEXTURE_2D, colorbuf);
1925 ctx.texImage2D(GL_TEXTURE_2D, 0, fbo.getConfig().colorbufferFormat, width, height);
1926 ctx.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
1929 ctx.framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorbuf, 0);
1933 ctx.deleteRenderbuffers(1, &colorbuf);
1934 ctx.bindRenderbuffer(GL_RENDERBUFFER, colorbuf);
1935 ctx.renderbufferStorage(GL_RENDERBUFFER, fbo.getConfig().colorbufferFormat, width, height);
1938 ctx.framebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorbuf);
1951 ctx.deleteRenderbuffers(1, &depthbuf);
1952 ctx.bindRenderbuffer(GL_RENDERBUFFER, depthbuf);
1953 ctx.renderbufferStorage(GL_RENDERBUFFER, fbo.getConfig().depthbufferFormat, width, height);
1956 ctx.framebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthbuf);
1964 ctx.deleteRenderbuffers(1, &stencilbuf);
1965 ctx.bindRenderbuffer(GL_RENDERBUFFER, stencilbuf);
1966 ctx.renderbufferStorage(GL_RENDERBUFFER, fbo.getConfig().stencilbufferFormat, width, height);
1969 ctx.framebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, stencilbuf);
1973 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbo.getFramebuffer());
1975 ctx.clearColor(0.0f, 0.0f, 1.0f, 0.0f);
1976 ctx.clearStencil(0);
1977 ctx.clear(Buffers); // \note Clear only buffers that were re-created
1982 ctx.enable(GL_STENCIL_TEST);
1983 ctx.stencilFunc(GL_EQUAL, 0, 0xffu);
1985 ctx.bindTexture(GL_TEXTURE_2D, metaballsTex);
1986 sglr::drawQuad(ctx, texShaderID, Vec3(-1.0f, -1.0f, 1.0f), Vec3(1.0f, 1.0f, -1.0f));
1988 ctx.disable(GL_STENCIL_TEST);
1990 ctx.disable(GL_DEPTH_TEST);
1993 ctx.readPixels(dst, 0, 0, width, height);
2016 void render (sglr::Context& ctx, Surface& dst)
2023 const deUint32 fboBlitShaderID = ctx.createProgram(&fboBlitShader);
2029 ctx.genFramebuffers(2, &fbos[0]);
2030 ctx.genTextures(2, &textures[0]);
2034 ctx.bindTexture(GL_TEXTURE_2D, textures[fboNdx]);
2035 ctx.texImage2D(GL_TEXTURE_2D, 0, getConfig().colorbufferFormat, fboSizes[fboNdx], fboSizes[fboNdx], 0,
2037 ctx.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
2038 ctx.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
2039 ctx.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
2040 ctx.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
2042 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbos[fboNdx]);
2043 ctx.framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textures[fboNdx], 0);
2046 const GLenum status = ctx.checkFramebufferStatus(GL_FRAMEBUFFER);
2053 ctx.clearColor(0.0f, 0.0f, 0.0f, 0.0f);
2054 ctx.clear(GL_COLOR_BUFFER_BIT);
2056 fboBlitShader.setUnit(ctx, fboBlitShaderID, 0);
2057 ctx.bindTexture(GL_TEXTURE_2D, textures[0]);
2067 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbos[0]);
2068 ctx.clearColor(r, g, b, a);
2069 ctx.clear(GL_COLOR_BUFFER_BIT);
2071 ctx.bindFramebuffer(GL_FRAMEBUFFER, fbos[1]);
2072 ctx.viewport(cellX*cellSize, cellY*cellSize, cellSize, cellSize);
2073 sglr::drawQuad(ctx, fboBlitShaderID, Vec3(-1.0f, -1.0f, 0.0f), Vec3(1.0f, 1.0f, 0.0f));
2076 ctx.readPixels(dst, 0, 0, fboSizes[1], fboSizes[1]);