当我在片段着色器中调用纹理时,它的效果很好:
public static string Vertexshader= @"// #version 410 core layout(location = 0) in vec3 Position; layout(location = 1) in vec3 Normal; layout(location = 2) in vec2 Texture; out vec4 WorldNormal; uniform mat4 ModelMatrix; uniform mat4 ProjectionMatrix; out vec2 FS_Texture_in; uniform sampler2D Texture0_; void main(){ FS_Texture_in=Texture; vec4 displace= WorldNormal*length(texture(Texture0_,Texture.xy).xyz); gl_Position = (ProjectionMatrix*ModelMatrix *(vec4(Position, 1.0)+ displace)); } "; public static string Fragmentshader = @" #version 410 core out vec4 FragColor; void main(void) { FragColor= vec4(1,1,1,1); } ";
当我在片段着色器中调用纹理时,它的效果很好:
public static string Vertexshader1 = @"// #version 410 core layout(location = 0) in vec3 Position; layout(location = 1) in vec3 Normal; layout(location = 2) in vec2 Texture; uniform mat4 ModelMatrix; uniform mat4 ProjectionMatrix; out vec2 FS_Texture_in; void main(){ FS_Texture_in=Texture; gl_Position = (ProjectionMatrix*ModelMatrix *(vec4(Position, 1.0))); } "; public static string Fragmentshader1 = @" #version 410 core out vec4 FragColor; in vec2 FS_Texture_in; uniform sampler2D Texture0_; void main(void) { FragColor=texture(Texture0_,FS_Texture_in); } ";
我认为它也可以在顶点着色器中使用。 请帮助我!