geometry_program4.py :  » Game-2D-3D » PyOpenGL » PyOpenGL-3.0.1 » OpenGL » GL » NV » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Game 2D 3D » PyOpenGL 
PyOpenGL » PyOpenGL 3.0.1 » OpenGL » GL » NV » geometry_program4.py
'''OpenGL extension NV.geometry_program4

This module customises the behaviour of the 
OpenGL.raw.GL.NV.geometry_program4 to provide a more 
Python-friendly API

Overview (from thespec import 
  
  NV_geometry_program4 defines a new type of program available to be run on
  the GPU, called a geometry program.  Geometry programs are run on full
  primitives after vertices are transformed, but prior to flat shading and
  clipping.
  
  A geometry program begins with a single primitive - a point, line, or
  triangle.  Quads and polygons are allowed, but are decomposed into
  individual triangles prior to geometry program execution.  It can read the
  attributes of any of the vertex in the primitive and use them to generate
  new primitives.  A geometry program has a fixed output primitive type,
  either a point, a line strip, or a triangle strip.  It emits vertices
  (using the EMIT opcode) to define the output primitive.  The attributes of
  emitted vertices are specified by writing to the same set of result
  bindings (e.g., "result.position") provided for vertex programs.
  Additionally, a geometry program can emit multiple disconnected primitives
  by using the ENDPRIM opcode, which is roughly equivalent to calling End
  and then Begin again.  The primitives emitted by the geometry program are
  then clipped and then processed like an equivalent OpenGL primitive
  specified by the application.
  
  This extension provides four additional primitive types:  lines with
  adjacency, line strips with adjacency, separate triangles with adjacency,
  and triangle strips with adjacency.  Some of the vertices specified in
  these new primitive types are not part of the ordinary primitives.
  Instead, they represent neighboring vertices that are adjacent to the two
  line segment end points (lines/strips) or the three triangle edges
  (triangles/tstrips).  These "adjacency" vertices can be accessed by
  geometry programs and used to match up the outputs of the geometry program
  with those of neighboring primitives.
  
  Additionally, geometry programs allow for layered rendering, where entire
  three-dimensional, cube map, or array textures (EXT_texture_array) can be
  bound to the current framebuffer.  Geometry programs can use the
  "result.layer" binding to select a layer or cube map face to render to.
  Each primitive emitted by such a geometry program is rendered to the layer
  taken from itsprovokingvertex. import 
  
  Since geometry programs expect a specific input primitive type, an error
  will occur if the application presents primtives of a different type.  For
  example, if an enabled geometry program expects points, an error will
  occur at Begin() time, if a primitive mode of TRIANGLES is specified.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/NV/geometry_program4.txt
'''
from OpenGL import platform,constants,constant,arrays
from OpenGL import extensions,wrapper
from OpenGL.GL import glget
import ctypes
from OpenGL.raw.GL.NV.geometry_program4 import *
### END AUTOGENERATED SECTION
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.