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

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

Overview (from thespec import 
  
  This extension adds a new per-fragment test that is, logically,
  after the scissor test and before the alpha test.  The depth bounds
  test compares the depth value stored at the location given by the
  incoming fragment's (xw,yw) coordinates to a user-defined minimum
  and maximum depth value.  If the stored depth value is outside the
  user-defined range (exclusive), the incoming fragment is discarded.
  
  Unlike the depth test, the depth bounds test has NO dependency on
  the fragment's window-space depth value.
  
  This functionality is useful in the context of attenuated stenciled
  shadow volume rendering.  To motivate the functionality's utility
  in this context, we first describe how conventional scissor testing
  can be used to optimize shadow volume rendering.
  
  If an attenuated light source's illumination can be bounded to a
  rectangle in XY window-space, the conventional scissor test can be
  used to discard shadow volume fragments that are guaranteed to be
  outside the light source's window-space XY rectangle.  The stencil
  increments and decrements that would otherwise be generated by these
  scissored fragments are inconsequential because the light source's
  illumination can pre-determined to be fully attenuated outside the
  scissored region.  In other words, the scissor test can be used to
  discard shadow volume fragments rendered outside the scissor, thereby
  improving performance, without affecting the ultimate illumination
  of these pixels with respect to the attenuated light source.
  
  This scissoring optimization can be used both when rendering
  the stenciled shadow volumes to update stencil (incrementing and
  decrementing the stencil buffer) AND when adding the illumination
  contribution of attenuated light source's.
  
  In a similar fashion, we can compute the attenuated light source's
  window-space Z bounds (zmin,zmax) of consequential illumination.
  Unless a depth value (in the depth buffer) at a pixel is within
  the range [zmin,zmax], the light source's illumination can be
  pre-determined to be inconsequential for the pixel.  Said another
  way, the pixel being illuminated is either far enough in front of
  or behind the attenuated light source so that the light source's
  illumination for the pixel is fully attenuated.  The depth bounds
  test can perform this test.

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