texture_cube_map.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 » texture_cube_map.py
'''OpenGL extension ARB.texture_cube_map

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

Overview (from thespec import 
  
  This extension provides a new texture generation scheme for cube
  map textures.  Instead of the current texture providing a 1D, 2D,
  or 3D lookup into a 1D, 2D, or 3D texture image, the texture is a
  set of six 2D images representing the faces of a cube.  The (s,t,r)
  texture coordinates are treated as a direction vector emanating from  import 
  the center of a cube.  At texture generation time, the interpolated
  per-fragment (s,t,r) selects one cube face 2D image based on the
  largest magnitude coordinate (the major axis).  A new 2D (s,t) is
  calculated by dividing the two other coordinates (the minor axes
  values) by the major axis value.  Then the new (s,t) is used to
  lookup into the selected 2D texture image face of the cube map.
  
  Unlike a standard 1D, 2D, or 3D texture that have just one target,
  a cube map texture has six targets, one for each of its six 2D texture
  image cube faces.  All these targets must be consistent, complete,
  and have equal width and height (ie, square dimensions).
  
  This extension also provides two new texture coordinate generation modes
  for use in conjunction with cube map texturing.  The reflection map
  mode generates texture coordinates (s,t,r) matching the vertex's
  eye-space reflection vector.  The reflection map mode
  is useful for environment mapping without the singularity inherent
  in sphere mapping.  The normal map mode generates texture coordinates
  (s,t,r) matching the vertex's transformed eye-space
  normal.  The normal map mode is useful for sophisticated cube
  map texturing-based diffuse lighting models.
  
  The intent of the new texgen functionality is that an application using
  cube map texturing can use the new texgen modes to automatically
  generate the reflection or normal vectors used to look up into the
  cube map texture.
  
  An application note:  When using cube mapping with dynamic cube
  maps (meaning the cube map texture is re-rendered every frame),
  by keeping the cube map's orientation pointing at the eye position,
  the texgen-computed reflection or normal vector texture coordinates
  can be always properly oriented for the cube map.  However if the
  cube map is static (meaning that when view changes, the cube map
  texture is not updated), the texture matrix must be used to rotate
  the texgen-computed reflection or normal vector texture coordinates
  to match the orientation of the cube map.  The rotation can be
  computed based on two vectors: 1) the direction vector from thecube import 
  map center to the eye position (both in world coordinates), and 2)
  the cube map orientation in world coordinates.  The axis of rotation
  is the cross product of these two vectors; the angle of rotation is
  the arcsin of the dot product of these two vectors.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/texture_cube_map.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.texture_cube_map 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.