要用OpenGL写东东, 必须要完成的步骤包括:
Step1.建立一个context
Step2.建立和绑写要用的shader程序
Step3.建立shader函数的赋值关系
Step4.设定输出源,即FrameBufferObject(FBO),如果是输出到默认的FBO,就可以不用自己去设定FBO了。如果是做离屏渲染需要自己设定FBO
import sys
from PIL import Image
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
import numpy as np
#define shader code
vertex_code='''
uniform float scale;
attribute vec2 position;
attribute vec4 color;
varying vec4 v_color;
attribute vec2 TexCoordIn;
varying vec2 TexCoordOut;
void main()
{
gl_Position = vec4(position*scale, 0.0, 1.0);
v_color = color;
TexCoordOut = TexCoordIn;
}'''
fragment_code='''
varying vec4 v_color;
varying vec2 TexCoordOut;
uniform sampler2D Texture;
void main()
{
gl_FragColor = v_color*0.2+texture2D(Texture, TexCoordOut)*0.8;
}'''
#define vertex and color array
data = np.zeros(4, dtype = [ ("position", np.float32, 2), ("color", np.float32, 4),("textureCoord",np.float32,2)] )
data['color'] = [ (1,1,0,1), (1,1,0,1), (1,1,0,1), (1,1,0,1) ]
data['position'] = [ (-1,-1), (-1,+1), (+1,-1), (+1,+1) ]
data['textureCoord']= [ (0,0</