Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

vmdsphere.frag File Reference

Go to the source code of this file.


Defines

#define FASTONESIDEDSPHERES 1
\file vmdsphere.frag \brief VMD OpenGL fragment shader implementing a ray-cast sphere primitive with per-pixel lighting, phong highlights, etc. The sphere is drawn within the confines of a correctly transformed bounding cube or viewer-aligned billboard. Much of the shading code is shared with the main VMD fragment shader, with a few optimizations that simplify the sphere shader due to the way it is specifically known to be used within VMD. Certain texturing modes can't actually occur in practice, so the shader can be simplified relative to what the main fragment shader must implement. VMD shaders require GLSL version 1.10 (or later) for minimum features XXX If/when we implement usage of ARB_sample_shading for antialiasing of the sphere shader, we will have to crank the GLSL fragment shader version to 130. macro to enable one-sided spheres for improved speed. More...


Functions

void main (void)
VMD Sphere Fragment Shader (not for normal geometry). More...


Variables

varying vec3 oglcolor
interpolated color from the vertex shader. More...

varying vec3 V
view direction vector. More...

varying vec3 spherepos
sphere origin. More...

varying vec3 rayorigin
ray origin. More...

varying float sphereradsq
sphere rad^2. More...

uniform vec3 vmdlight0
light 0 direction. More...

uniform vec3 vmdlight1
light 1 direction. More...

uniform vec3 vmdlight2
light 2 direction. More...

uniform vec3 vmdlight3
light 3 direction. More...

uniform vec3 vmdlight0H
light 0 Blinn halfway vector. More...

uniform vec3 vmdlight1H
light 1 Blinn halfway vector. More...

uniform vec3 vmdlight2H
light 2 Blinn halfway vector. More...

uniform vec3 vmdlight3H
light 3 Blinn halfway vector. More...

uniform vec4 vmdlightscale
VMD light on/off state for all 4 VMD lights, represented as a scaling constant. Could be done with on/off flags but ATI doesn't deal well with branching constructs, so this value is simply multiplied by the light's contribution. Hacky, but it works for now. More...

uniform vec4 vmdmaterial
VMD material properties [0] is ambient (white ambient light only) [1] is diffuse [2] is specular [3] is shininess. More...

uniform int vmdprojectionmode
perspective=1 orthographic=0. More...

uniform vec4 vmdprojparms
VMD projection parameters [0] is nearClip [1] is farClip [2] is 0.5 * (farClip + nearClip) [3] is 1.0 / (farClip - nearClip). More...

uniform float vmdopacity
VMD global alpha value. More...

uniform float vmdoutline
VMD outline shading. More...

uniform float vmdoutlinewidth
VMD outline shading width. More...

uniform int vmdtransmode
VMD transparency mode. More...

uniform int vmdfogmode
VMD depth cueing / fog mode. More...

uniform int vmdtexturemode
VMD texture mode 0=off 1=modulate 2=replace. More...

uniform sampler3D vmdtex0
active 3-D texture map. More...


Define Documentation

#define FASTONESIDEDSPHERES 1

\file vmdsphere.frag \brief VMD OpenGL fragment shader implementing a ray-cast sphere primitive with per-pixel lighting, phong highlights, etc. The sphere is drawn within the confines of a correctly transformed bounding cube or viewer-aligned billboard. Much of the shading code is shared with the main VMD fragment shader, with a few optimizations that simplify the sphere shader due to the way it is specifically known to be used within VMD. Certain texturing modes can't actually occur in practice, so the shader can be simplified relative to what the main fragment shader must implement. VMD shaders require GLSL version 1.10 (or later) for minimum features XXX If/when we implement usage of ARB_sample_shading for antialiasing of the sphere shader, we will have to crank the GLSL fragment shader version to 130. macro to enable one-sided spheres for improved speed.

Definition at line 38 of file vmdsphere.frag.


Function Documentation

void main ( void )

Variable Documentation

varying vec3 oglcolor

interpolated color from the vertex shader.

Definition at line 44 of file vmdsphere.frag.

Referenced by main.

varying vec3 rayorigin

ray origin.

Definition at line 47 of file vmdsphere.frag.

Referenced by main.

varying vec3 spherepos

sphere origin.

Definition at line 46 of file vmdsphere.frag.

Referenced by main.

varying float sphereradsq

sphere rad^2.

Definition at line 48 of file vmdsphere.frag.

Referenced by main.

varying vec3 V

view direction vector.

Definition at line 45 of file vmdsphere.frag.

Referenced by main.

uniform int vmdfogmode

VMD depth cueing / fog mode.

Definition at line 85 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight0

light 0 direction.

Definition at line 50 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight0H

light 0 Blinn halfway vector.

Definition at line 55 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight1

light 1 direction.

Definition at line 51 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight1H

light 1 Blinn halfway vector.

Definition at line 56 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight2

light 2 direction.

Definition at line 52 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight2H

light 2 Blinn halfway vector.

Definition at line 57 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight3

light 3 direction.

Definition at line 53 of file vmdsphere.frag.

Referenced by main.

uniform vec3 vmdlight3H

light 3 Blinn halfway vector.

Definition at line 58 of file vmdsphere.frag.

Referenced by main.

uniform vec4 vmdlightscale

VMD light on/off state for all 4 VMD lights, represented as a scaling constant. Could be done with on/off flags but ATI doesn't deal well with branching constructs, so this value is simply multiplied by the light's contribution. Hacky, but it works for now.

Definition at line 60 of file vmdsphere.frag.

Referenced by main.

uniform vec4 vmdmaterial

VMD material properties [0] is ambient (white ambient light only) [1] is diffuse [2] is specular [3] is shininess.

Definition at line 67 of file vmdsphere.frag.

Referenced by main.

uniform float vmdopacity

VMD global alpha value.

Definition at line 80 of file vmdsphere.frag.

Referenced by main.

uniform float vmdoutline

VMD outline shading.

Definition at line 82 of file vmdsphere.frag.

Referenced by main.

uniform float vmdoutlinewidth

VMD outline shading width.

Definition at line 83 of file vmdsphere.frag.

Referenced by main.

uniform int vmdprojectionmode

perspective=1 orthographic=0.

Definition at line 73 of file vmdsphere.frag.

Referenced by main.

uniform vec4 vmdprojparms

VMD projection parameters [0] is nearClip [1] is farClip [2] is 0.5 * (farClip + nearClip) [3] is 1.0 / (farClip - nearClip).

Definition at line 74 of file vmdsphere.frag.

Referenced by main.

uniform sampler3D vmdtex0

active 3-D texture map.

Definition at line 87 of file vmdsphere.frag.

Referenced by main.

uniform int vmdtexturemode

VMD texture mode 0=off 1=modulate 2=replace.

Definition at line 86 of file vmdsphere.frag.

Referenced by main.

uniform int vmdtransmode

VMD transparency mode.

Definition at line 84 of file vmdsphere.frag.

Referenced by main.


Generated on Mon Nov 17 02:47:53 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /