gl.glDisable(GL.GL_TEXTURE_2D);
light_image.disable();
  private void render_scene_from_camera_view(GL gl, GLAutoDrawable drawable, CameraParameters params) {    // place light    gl.glPushMatrix();    gl.glLoadIdentity();    applyTransform(gl, cameraInverseTransform);    applyTransform(gl, spotlightTransform);    gl.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, light_pos, 0);    gl.glPopMatrix();    // spot image    gl.glActiveTexture(GL.GL_TEXTURE1);    gl.glPushMatrix();    applyTransform(gl, cameraInverseTransform);    eye_linear_texgen(gl);        texgen(gl, true);    gl.glPopMatrix();    gl.glMatrixMode(GL.GL_TEXTURE);    gl.glLoadIdentity();    gl.glTranslatef(.5f, .5f, .5f);    gl.glScalef(.5f, .5f, .5f);    glu.gluPerspective(lightshaper_fovy, 1, lightshaper_zNear, lightshaper_zFar);    applyTransform(gl, spotlightInverseTransform);    gl.glMatrixMode(GL.GL_MODELVIEW);    gl.glBindTexture(GL.GL_TEXTURE_2D, light_image);    gl.glEnable(GL.GL_TEXTURE_2D);    gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_MODULATE);    gl.glActiveTexture(GL.GL_TEXTURE0);    gl.glMatrixMode(GL.GL_PROJECTION);    gl.glLoadIdentity();    gl.glViewport(viewportX, viewportY, drawable.getWidth(), drawable.getHeight());    applyTransform(gl, cameraPerspective);    gl.glMatrixMode(GL.GL_MODELVIEW);    render_scene(gl, cameraTransform, drawable, params);    gl.glActiveTexture(GL.GL_TEXTURE1);    gl.glDisable(GL.GL_TEXTURE_2D);    gl.glActiveTexture(GL.GL_TEXTURE0);    render_manipulators(gl, cameraTransform, drawable, params);    render_light_frustum(gl);  }