# -*- coding: utf-8 -*-

"""

	Python ver2.7.13 [ pyOpenGL_sample_texture.py ]

		Author	     kazuki tanaka
		Create Date  2017 4/26

"""

''' -----------------------------------------------------
      import library
------------------------------------------------------'''

import numpy as np
import sys
import time
from PIL import Image
import OpenGL
OpenGL.ERROR_ON_COPY = True
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

''' --- Texture Load --- '''
def texLoad( name ):

    #f = open( name,'r')
    texture_image = Image.open( name )

    print texture_image.mode

    #f.close()

''' --- 描画 --- '''
def draw( ):
    
    # 座標(0.25,0.25)から幅0.5,高さ0.5の四角形を描く 
    x,y,w,h = 0.25,0.25,0.5,0.5
    glClear(GL_COLOR_BUFFER_BIT)
    
    # 四角形の色(緑)
    glColor3f(0.2, 0.8, 0.2)
    glBegin(GL_POLYGON)
    
    # 四角形の頂点座標
    glVertex3f(x,   y,   0.0)
    glVertex3f(x+w, y,   0.0)
    glVertex3f(x+w, y+h, 0.0)
    glVertex3f(x,   y+h, 0.0)
    
    glEnd()
    glFlush()


''' --- 初期化 --- '''
def init( ):
    
    # 画面の色
    glClearColor(0.0, 0.0, 0.0, 0.0)
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0)

    #glEnable( GL_CULL_FACE );	                # Use Curring
    #glEnable( GL_DEPTH_TEST );	                # Use ZBuffer
    #glEnable( GL_LIGHTING );                   # Use LIGHT
    #glEnable( GL_TEXTURE_2D );	                # Use Texture

    texLoad( "./car000.png" )
    

''' --- MAIN PROCESS --- '''
def main():

    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) # 表示設定
    glutInitWindowSize(1280, 720)               # 画面サイズ
    glutInitWindowPosition(100, 100)            # 画面の表示位置
    glutCreateWindow("TEST")                    # ウィンドウの名前

    init()                                      # 初期化
    
    glutDisplayFunc(draw)                       # 描画

    glutMainLoop()




''' --- Do Code ---'''
if __name__ == "__main__":
    main()

    
