Merge instanced_object_pass vertex shaders.
This commit is contained in:
parent
5dd2d28134
commit
5c8ef365a5
@ -6,7 +6,10 @@ in vec3 Orientation;
|
|||||||
|
|
||||||
in vec3 Position;
|
in vec3 Position;
|
||||||
in vec3 Normal;
|
in vec3 Normal;
|
||||||
|
in vec2 Texcoord;
|
||||||
|
|
||||||
out vec3 nor;
|
out vec3 nor;
|
||||||
|
out vec2 uv;
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
{
|
{
|
||||||
@ -15,4 +18,5 @@ void main(void)
|
|||||||
mat4 TransposeInverseModelView = transpose(inverse(ViewMatrix * ModelMatrix));
|
mat4 TransposeInverseModelView = transpose(inverse(ViewMatrix * ModelMatrix));
|
||||||
gl_Position = ViewProjectionMatrix * ModelMatrix * vec4(Position, 1.);
|
gl_Position = ViewProjectionMatrix * ModelMatrix * vec4(Position, 1.);
|
||||||
nor = (TransposeInverseModelView * vec4(Normal, 0.)).xyz;
|
nor = (TransposeInverseModelView * vec4(Normal, 0.)).xyz;
|
||||||
|
uv = Texcoord;
|
||||||
}
|
}
|
@ -1,23 +0,0 @@
|
|||||||
uniform mat4 ViewProjectionMatrix;
|
|
||||||
uniform mat4 TextureMatrix =
|
|
||||||
mat4(1., 0., 0., 0.,
|
|
||||||
0., 1., 0., 0.,
|
|
||||||
0., 0., 1., 0.,
|
|
||||||
0., 0., 0., 1.);
|
|
||||||
|
|
||||||
|
|
||||||
in vec3 Origin;
|
|
||||||
|
|
||||||
in vec3 Position;
|
|
||||||
in vec2 Texcoord;
|
|
||||||
out vec2 uv;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void main(void)
|
|
||||||
{
|
|
||||||
mat4 ModelMatrix = mat4(1.);
|
|
||||||
ModelMatrix[3].xyz += Origin;
|
|
||||||
uv = (TextureMatrix * vec4(Texcoord, 1., 1.)).xy;
|
|
||||||
gl_Position = ViewProjectionMatrix * ModelMatrix * vec4(Position, 1.);
|
|
||||||
}
|
|
@ -512,7 +512,7 @@ namespace MeshShader
|
|||||||
void InstancedObjectPass1Shader::init()
|
void InstancedObjectPass1Shader::init()
|
||||||
{
|
{
|
||||||
Program = LoadProgram(
|
Program = LoadProgram(
|
||||||
GL_VERTEX_SHADER, file_manager->getAsset("shaders/instanced_object_pass1.vert").c_str(),
|
GL_VERTEX_SHADER, file_manager->getAsset("shaders/instanced_object_pass.vert").c_str(),
|
||||||
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/utils/encode_normal.frag").c_str(),
|
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/utils/encode_normal.frag").c_str(),
|
||||||
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/object_pass1.frag").c_str());
|
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/object_pass1.frag").c_str());
|
||||||
attrib_origin = glGetAttribLocation(Program, "Origin");
|
attrib_origin = glGetAttribLocation(Program, "Origin");
|
||||||
@ -587,7 +587,7 @@ namespace MeshShader
|
|||||||
void InstancedObjectPass2Shader::init()
|
void InstancedObjectPass2Shader::init()
|
||||||
{
|
{
|
||||||
Program = LoadProgram(
|
Program = LoadProgram(
|
||||||
GL_VERTEX_SHADER, file_manager->getAsset("shaders/instanced_object_pass2.vert").c_str(),
|
GL_VERTEX_SHADER, file_manager->getAsset("shaders/instanced_object_pass.vert").c_str(),
|
||||||
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/utils/getLightFactor.frag").c_str(),
|
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/utils/getLightFactor.frag").c_str(),
|
||||||
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/object_pass2.frag").c_str());
|
GL_FRAGMENT_SHADER, file_manager->getAsset("shaders/object_pass2.frag").c_str());
|
||||||
attrib_position = glGetAttribLocation(Program, "Position");
|
attrib_position = glGetAttribLocation(Program, "Position");
|
||||||
|
Loading…
Reference in New Issue
Block a user