forked from bartvdbraak/blender
* Documentation and a simple test for BGL.
This commit is contained in:
parent
06ee04fb05
commit
dd8f216691
57
source/blender/python/api2_2x/doc/BGL.py
Normal file
57
source/blender/python/api2_2x/doc/BGL.py
Normal file
@ -0,0 +1,57 @@
|
||||
# Blender.BGL module (OpenGL wrapper)
|
||||
|
||||
"""
|
||||
The Blender.BGL submodule
|
||||
|
||||
This module wraps OpenGL constants and functions, making them available from
|
||||
within Blender Python. The complete list can be retrieved from the module
|
||||
itself, by listing its contents: dir(Blender.BGL). There are too many to be
|
||||
documented here, but a simple search on the net can point to more than enough
|
||||
material to teach OpenGL programming, from books to many collections of
|
||||
tutorials. The I{red book}: "OpenGL Programming Guide", is a very good
|
||||
resource, even for newcomers.
|
||||
@see: U{www.opengl.org}
|
||||
|
||||
Example::
|
||||
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
|
||||
"""
|
@ -1,11 +1,17 @@
|
||||
# The Blender Module
|
||||
|
||||
# The module files in this folder are used to create the API documentation.
|
||||
# Doc system used: epydoc - http://epydoc.sf.net
|
||||
# command line: epydoc -t Blender.py -n "Blender" --no-private MODULES
|
||||
# where MODULES is a list of all such modules in this folder, like:
|
||||
# Blender.py Camera.py Lamp.py BGL.py etc.
|
||||
|
||||
"""
|
||||
Here goes the Introduction to Blender Python
|
||||
|
||||
Let's see::
|
||||
- What scripting is, why have it
|
||||
- What is Python, links
|
||||
- What Python is, links
|
||||
- More about what scripting can give us
|
||||
- Overview of the Blender Python modules
|
||||
- Links to Blender, Blender Python, later: script lists
|
||||
|
45
source/blender/python/api2_2x/doc/testbgl.py
Normal file
45
source/blender/python/api2_2x/doc/testbgl.py
Normal file
@ -0,0 +1,45 @@
|
||||
# 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
|
Loading…
Reference in New Issue
Block a user