Detect pixel perfect collision location

Like in topic. I have made pixel perfect collision like this (after running bounding box test):

protected boolean accurateTest(int object1, int object2) {
        GL11.glScissor((int) (-Graphics.SCREEN_X*2.5), (int) (-Graphics.SCREEN_Y*2.5), Graphics.SCREEN_X*5, Graphics.SCREEN_Y*5);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 1);
        GL11.glStencilOp(GL11.GL_REPLACE, GL11.GL_REPLACE, GL11.GL_REPLACE);

        Core.List.get(object1).Draw(false);

        GL11.glStencilFunc(GL11.GL_EQUAL, 1, 1);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);

        GL15.glBeginQuery(GL15.GL_SAMPLES_PASSED, occquery);

        Core.List.get(object2).Draw(false);

        GL15.glEndQuery(GL15.GL_SAMPLES_PASSED);

        do {
            GL15.glGetQueryObject(occquery, GL15.GL_QUERY_RESULT_AVAILABLE, samples);
        } while (samples.get(0) == 0);

        GL15.glGetQueryObject(occquery, GL15.GL_QUERY_RESULT, samples);

        return samples.get(0) > 0;
    }

Can I detect point(s) where colision taken place?

And one additional question - how can I handle colisions that happen outside screen without making extremally big glScissor?