fragment_coord_conventions.py :  » Game-2D-3D » PyOpenGL » PyOpenGL-3.0.1 » OpenGL » GL » ARB » 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 » ARB » fragment_coord_conventions.py
'''OpenGL extension ARB.fragment_coord_conventions

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

Overview (from thespec import 
  
  This extension provides alternative conventions for the fragment
  coordinate XY location available for programmable fragment processing.
  
  The scope of this extension deals *only* with how the fragment
  coordinate XY location appears during programming fragment processing.
  Beyond the scope of this extension are coordinate conventions used
  for rasterization or transformation.
  
  In the case of the coordinate conventions for rasterization and
  transformation, some combination of the viewport, depth range, culling
  state, and projection matrix state can be reconfigured to adopt other
  arbitrary clip-space and window-space coordinate space conventions.
  Adopting other clip-space and window-space conventions involves
  adjusting existing OpenGL state.  However it is non-trivial to massage
  an arbitrary fragment shader or program to adopt a different
  window-space coordinate system because such shaders are encoded in
  various textual representations.
  
  The dominant 2D and 3D rendering APIs make two basic choices of
  convention when locating fragments in window space.
  
  The two choices are:
  
  1)  Is the origin nearest the lower-left- or upper-left-most pixel
      of the window?
  
  2)  Is the (x,y) location of the pixel nearest the origin at (0,0)
      or (0.5,0.5)?
  
  OpenGL assumes a lower-left origin for window coordinates and assumes
  pixel centers are located at half-pixel coordinates.  This means
  the XY location (0.5,0.5) corresponds to the lower-left-most pixel
  in a window.
  
  Other window coordinate conventions exist for other rendering APIs.
  X11, GDI, and Direct3D version through DirectX 9 assume an upper-left
  window origin and locate pixel centers at integer XY values.
  By this alternative convention, the XY location (0,0) corresponds
  to the upper-left-most pixel in a window.
  
  Direct3D for DirectX 10 assumes an upper-left origin (as do prior
  DirectX versions) yet assumes half-pixel coordinates (unlike prior
  DirectX versions).  By the DirectX 10 convention, the XY location
  (0.5,0.5) corresponds to the upper-left-most pixel in a window.
  
  Fragment shaders can directly access the location of a given
  processed fragment in window space.  We call this location the
  "fragment coordinate".
  
  This extension provides a means for fragment shaders written in GLSL
  or OpenGL assembly extensions to specify alternative conventions
  for determining the fragment coordinate value accessed during
  programmable fragment processing.
  
  The motivation for this extension is to provide an easy, efficient
  means for fragment shaders accessing a fragment's window-space
  location to adopt the fragment coordinate convention for which the
  shader was originally written.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/fragment_coord_conventions.txt
'''
from OpenGL import platform,constants,constant,arrays
from OpenGL import extensions,wrapper
from OpenGL.GL import glget
import ctypes
from OpenGL.raw.GL.ARB.fragment_coord_conventions 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.