import GameLogic
ObjectList = GameLogic.getCurrentScene().getObjectList()
ShaderObjects = [ObjectList['OBCube']]
MaterialIndexList = [0]
VertexShader = """
void main() {
gl_Position = ftransform();
}
"""
FragmentShader = """
uniform vec4 orange;
void main() {
gl_FragColor = orange;
}
"""
def MainLoop ():
for obj in ShaderObjects:
mesh_index = 0
mesh = obj.getMesh(mesh_index)
while mesh != None:
for mat in mesh.materials:
if not hasattr(mat, "getMaterialIndex"):
return
mat_index = mat.getMaterialIndex()
found = 0
for i in range(len(MaterialIndexList)):
if mat_index == MaterialIndexList[i]:
found=1
break
if not found: continue
shader = mat.getShader()
if shader != None:
if not shader.isValid():
shader.setSource(VertexShader, FragmentShader,1)
shader.setUniformfv('orange', [1.0,0.5,0.0,1.0])
mesh_index += 1
mesh = obj.getMesh(mesh_index)
MainLoop()