This time I started implement glsl shaders. Directional light per pixel shader was easy to implement (Lightouse3d shader, link below). But I had a lot of work with bump mapping implementation(on screens you can see cube with bump mapping and without). I had problems with proper calculations for tangent space coordinates. They should be computed not in shader, so I calculate them when loading obj file, then I pass it as attribute into shader.
Here you can see how it looks:
Good bump mapping tutorial:
Directional Light per Pixel source:
Fisheye image source: