first working version till rasterization
done till rasterization without backface