fragment_program.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_program.py
'''OpenGL extension ARB.fragment_program

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

Overview (from thespec import 
  
  Unextended OpenGL mandates a certain set of configurable per-
  fragment computations defining texture application, texture 
  environment, color sum, and fog operations.  Several extensions have 
  added further per-fragment computations to OpenGL.  For example, 
  extensions have defined new texture environment capabilities 
  (ARB_texture_env_add, ARB_texture_env_combine, ARB_texture_env_dot3,
  ARB_texture_env_crossbar), per-fragment depth comparisons 
  (ARB_depth_texture, ARB_shadow, ARB_shadow_ambient, 
  EXT_shadow_funcs), per-fragment lighting (EXT_fragment_lighting, 
  EXT_light_texture), and environment mapped bump mapping 
  (ATI_envmap_bumpmap).  
  
  Each such extension adds a small set of relatively inflexible per-
  fragment computations.
  
  This inflexibility is in contrast to the typical flexibility 
  provided by the underlying programmable floating point engines 
  (whether micro-coded fragment engines, DSPs, or CPUs) that are 
  traditionally used to implement OpenGL's texturing computations.  
  The purpose of this extension is to expose to the OpenGL application 
  writer a significant degree of per-fragment programmability for 
  computing fragment parameters.
  
  For the purposes of discussing this extension, a fragment program is 
  a sequence of floating-point 4-component vector operations that 
  determines how a set of program parameters (not specific to an
  individual fragment) and an input set of per-fragment parameters are 
  transformed to a set of per-fragment result parameters.
  
  The per-fragment computations for standard OpenGL given a particular 
  set of texture and fog application modes (along with any state for 
  extensions defining per-fragment computations) is, in essence, a 
  fragment program.  However, the sequence of operations is defined 
  implicitly by the current OpenGL state settings rather than defined 
  explicitly as a sequence of instructions.
  
  This extension provides an explicit mechanism for defining fragment 
  program instruction sequences for application-defined fragment 
  programs.  In order to define such fragment programs, this extension 
  defines a fragment programming model including a floating-point
  4-component vector instruction set and a relatively large set of 
  floating-point 4-component registers.
  
  The extension's fragment programming model is designed for efficient
  hardware implementation and to support a wide variety of fragment 
  programs.  By design, the entire set of existing fragment programs 
  defined by existing OpenGL per-fragment computation extensions can 
  be implemented using the extension's fragment programming model.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/fragment_program.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_program import *
### END AUTOGENERATED SECTION
from OpenGL.GL import glget
glget.addGLGetConstant( GL_FRAGMENT_PROGRAM_ARB, (1,) )
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.