forked from bartvdbraak/blender
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
|
# Testing the BGL module
|
||
|
|
||
|
import Blender
|
||
|
from Blender.BGL import *
|
||
|
from Blender import Draw
|
||
|
|
||
|
R = G = B = 0
|
||
|
A = 1
|
||
|
|
||
|
instructions = "Hold mouse buttons to change the background color."
|
||
|
quitting = " Press ESC or q to quit."
|
||
|
|
||
|
def show_win():
|
||
|
glClearColor(R,G,B,A) # define color used to clear buffers
|
||
|
glClear(GL_COLOR_BUFFER_BIT) # use it to clear the color buffer
|
||
|
glColor3f(1,1,1) # change default color
|
||
|
glRasterPos2i(50,100) # move cursor to x = 50, y = 100
|
||
|
Draw.Text("Testing BGL + Draw") # draw this text there
|
||
|
glRasterPos2i(350,20) # move cursor again
|
||
|
Draw.Text(instructions + quitting) # draw another msg
|
||
|
glBegin(GL_LINE_LOOP) # begin a vertex-data list
|
||
|
glVertex2i(46,92)
|
||
|
glVertex2i(120,92)
|
||
|
glVertex2i(120,115)
|
||
|
glVertex2i(46,115)
|
||
|
glEnd() # close this list
|
||
|
glColor3f(0.35,0.18,0.92) # change default color again
|
||
|
glBegin(GL_POLYGON) # another list, for a polygon
|
||
|
glVertex2i(315, 292)
|
||
|
glVertex2i(412, 200)
|
||
|
glVertex2i(264, 256)
|
||
|
glEnd()
|
||
|
Draw.Redraw(1) # make changes visible.
|
||
|
|
||
|
def ev(evt, val): # this is a callback for Draw.Register()
|
||
|
global R,G,B,A # it handles input events
|
||
|
if evt == Draw.ESCKEY or evt == Draw.QKEY:
|
||
|
Draw.Exit() # this quits the script
|
||
|
elif evt == Draw.LEFTMOUSE: R = 1 - R
|
||
|
elif evt == Draw.MIDDLEMOUSE: G = 1 - G
|
||
|
elif evt == Draw.RIGHTMOUSE: B = 1 - B
|
||
|
else:
|
||
|
Draw.Register(show_win, ev, None)
|
||
|
|
||
|
Draw.Register(show_win, ev, None) # start the main loop
|