Download lib/python3.9/site-packages/OpenGL/GL/APPLE/specular_vector.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.01 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/APPLE/specular_vector.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/OpenGL/GL/APPLE/specular_vector.py
-
curl -L -o specular_vector.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/APPLE/specular_vector.py
2.01 kB
| '''OpenGL extension APPLE.specular_vector | |
| This module customises the behaviour of the | |
| OpenGL.raw.GL.APPLE.specular_vector to provide a more | |
| Python-friendly API | |
| Overview (from the spec) | |
| An alternative specular lighting model is enabled by passing | |
| the LIGHT_MODEL_SPECULAR_VECTOR token as the <pname> parameter | |
| to LightModel, and TRUE as the <param> parameter. The specular | |
| vector lighting model calculates the specular intensity as the | |
| dot product of the true reflection vector of the light source | |
| and the vector from the vertex to the viewpoint. This yields | |
| results that are visually similar to but often more realistic | |
| than the existing lighting model. | |
| Mathematically, the specular component s.n in the existing | |
| lighting model calculation is replaced with the following | |
| alternative calculation. | |
| Given three vectors, n, l, and p, where n is the unit normal | |
| vector at the vertex, l is the unit vector from the vertex to | |
| the light position, and p is the unit vector from the vertex | |
| to the viewpoint (or the vector {0,0,1} if | |
| LIGHT_MODEL_LOCAL_VIEWER is false), the specular component is | |
| given by | |
| (2 * cross(n, cross(n, l)) + l) . p | |
| All other lighting model and material parameters (shininess, | |
| spotlight, attenuation, local viewer, and direction/positional | |
| sources) operate normally. The specular vector lighting model | |
| affects both rgba and index modes. | |
| The official definition of this extension is available here: | |
| http://www.opengl.org/registry/specs/APPLE/specular_vector.txt | |
| ''' | |
| from OpenGL import platform, constant, arrays | |
| from OpenGL import extensions, wrapper | |
| import ctypes | |
| from OpenGL.raw.GL import _types, _glgets | |
| from OpenGL.raw.GL.APPLE.specular_vector import * | |
| from OpenGL.raw.GL.APPLE.specular_vector import _EXTENSION_NAME | |
| def glInitSpecularVectorAPPLE(): | |
| '''Return boolean indicating whether this extension is available''' | |
| from OpenGL import extensions | |
| return extensions.hasGLExtension( _EXTENSION_NAME ) | |
| ### END AUTOGENERATED SECTION | |