direct GL rendering works