Files
2026-04-18 22:31:51 +02:00

115 lines
2.5 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#define float4 vec4
#define float3 vec3
#define float2 vec2
varying vec3 normal;
varying vec2 texture_coordinate_1;
varying vec4 position;
varying vec4 thecolor;
uniform mat4 ProjectionMatrix;
void main()
{
mat4 Billboard;
vec4 glVertex=gl_Vertex;
vec4 Next_Position;
//gl_Position = gl_TextureMatrix[0] * gl_Vertex;
float4 MotionBlurPos_current=gl_TextureMatrix[0]*gl_Vertex;
float4 MotionBlurPos_previous=gl_TextureMatrix[1]*gl_Vertex;
float3 MotionBlurmotionVector=MotionBlurPos_current.xyz-MotionBlurPos_previous.xyz;
float4 MotionBlurNormalDirection=float4 (0.0,0.0,0.0,0.0)-gl_Vertex.xyzz;
MotionBlurNormalDirection= -gl_Normal.xyzz*1.0;
///MotionBlurNormalDirection=gl_TextureMatrix[0]*MotionBlurNormalDirection;
// normalize (MotionBlurNormalDirection);
float MotionBlurflag=dot (MotionBlurmotionVector.xyz,MotionBlurNormalDirection.xyz);
float4 MotionBlurstretch;
float smm=0.0;
if (MotionBlurflag>-0.0)
{
MotionBlurstretch = MotionBlurPos_current+(MotionBlurPos_previous-MotionBlurPos_current)*1.0;
smm=1.0;
}
else
{
smm=0.3;
MotionBlurstretch= MotionBlurPos_current;
}
//MotionBlurstretch = MotionBlurPos_current+(MotionBlurPos_previous-MotionBlurPos_current)*1.0;
//MotionBlurPos_current.xyz=MotionBlurPos_current.xyz/MotionBlurPos_current.w;
//MotionBlurstretch.xyz=MotionBlurstretch.xyz/MotionBlurstretch.w;
//MotionBlurstretch=MotionBlurPos_previous;
gl_Position = gl_ModelViewProjectionMatrix* MotionBlurstretch;
float3 MotionBlur_dP=MotionBlurstretch.xyz-MotionBlurPos_current.xyz;
float4 Mot=MotionBlur_dP.xyzz;
Mot=gl_ModelViewProjectionMatrix*Mot;
MotionBlur_dP.xyz=Mot.xyz;
MotionBlur_dP+=float3 (1.0);
MotionBlur_dP*=0.5;
thecolor =MotionBlur_dP.xyzz;
//thecolor =MotionBlurNormalDirection.xyzz;
//thecolor=float4 (smm);
//thecolor=(MotionBlurPos_previous-MotionBlurPos_current).xyzz+float4 (0.5,0.5,0.5,0.5);
//thecolor=gl_TextureMatrix[0]*gl_Normal.xyzz;
//gl_Position= gl_ModelViewProjectionMatrix*gl_TextureMatrix[0]*gl_Vertex;
//thecolor=MotionBlurstretch.xyzz;
// Transforming The Normal To ModelView-Space
// normal = gl_NormalMatrix * gl_Normal;
//normal = gl_Normal;
//texture_coordinate_1 = vec2(gl_MultiTexCoord0);
//position=(glVertex).xyzw;
//ShadowPosZ= ProjectionMatrix * gl_TextureMatrix[0]*gl_Vertex;
//position=g
// Transforming The Vertex Position To ModelView-Space
// vec4 vertex_in_modelview_space = gl_ModelViewMatrx * gl_Vertex;
// Calculating The Vector From The Vertex Position To The Light Position
// vertex_to_light_vector = vec3(gl_LightSource[0].position vertex_in_modelview_space);
}