mirror of
https://github.com/schrodinger/pymol-open-source.git
synced 2026-06-03 19:54:24 +08:00
fixed volume shaders
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
CHANGE LOG
|
||||
=========================================================================
|
||||
|
||||
2011-06-09 Jason Vertrees <Jason.Vertrees@schrodinger.com>
|
||||
|
||||
* fixed volume shader; esp for Ubuntu
|
||||
|
||||
2011-06-08 Jason Vertrees <Jason.Vertrees@schrodinger.com>
|
||||
|
||||
* "fix" for colored sticks problem
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
uniform sampler3D volumeTex;
|
||||
uniform sampler1D colorTex;
|
||||
|
||||
uniform float fog_r;
|
||||
uniform float fog_g;
|
||||
uniform float fog_b;
|
||||
uniform float fog_enabled;
|
||||
varying float fog;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 fog_color = vec3(0.0, 0.0, 0.0);
|
||||
vec3 fog_color = vec3(fog_r, fog_g, fog_b);
|
||||
vec4 color = texture1D(colorTex, texture3D(volumeTex, gl_TexCoord[0].xyz).x);
|
||||
if (color.a == 0.0) discard;
|
||||
gl_FragColor = vec4(vec3(mix(fog_color, color.rgb, fog)), color.a);
|
||||
float cfog = mix(1.0, clamp(fog, 0.0, 1.0), fog_enabled);
|
||||
gl_FragColor = vec4(vec3(mix(fog_color, color.rgb, cfog)), color.a);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ void main()
|
||||
vec4 vertex = gl_ModelViewMatrix * gl_Vertex;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_ClipVertex = vertex;
|
||||
gl_FogFragCoord = length(vertex.z);
|
||||
fog = (gl_Fog.end - gl_FogFragCoord) * gl_Fog.scale;
|
||||
gl_Position = ftransform();
|
||||
gl_FogFragCoord = -vertex.z;
|
||||
fog = (gl_Fog.end - gl_FogFragCoord) * gl_Fog.scale;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user