Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //set uniforms
- auto ret = [[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]];
- ret[0][0] = 1 / (tan((30*3.14/180)*0.5f));
- ret[1][1] = 1 / (tan((30*3.14/180)*0.5f));
- ret[2][2] = - (0.1 + 99.0) / (99.0 - 0.1);
- ret[3][2] = -1;
- ret[2][3] = - (2 * 99.0 * 0.1) / (99.0 - 0.1);
- ret[3][3] = 0;
- immutable form = "[%([%(%f, %)],\n %)]]";
- writefln("A = \n" ~ form ~ "\n", ret);
- auto view = [[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]];
- view[0][0] = 1;
- view[1][0] = 0;
- view[2][0] = 0;
- view[3][0] = 0;
- view[0][1] = 0;
- view[1][1] = 1;
- view[2][1] = 0;
- view[3][1] = 0;
- view[0][2] = 0;
- view[1][2] = 0;
- view[2][2] = 1;
- view[3][2] = 0;
- view[0][3] = 0;
- view[1][3] = 0;
- view[2][3] = -15;
- view[3][3] = 0;
- writefln("A = \n" ~ form ~ "\n", view);
- auto result = matMul(ret,view);
- writefln("res = \n" ~ form ~ "\n", result);
- auto meh = [
- result[0][0],
- result[0][1],
- result[0][2],
- result[0][3],
- result[1][0],
- result[1][1],
- result[1][2],
- result[1][3],
- result[2][0],
- result[2][1],
- result[2][2],
- result[2][3],
- result[3][0],
- result[3][1],
- result[3][2],
- result[3][3]
- ];
- glUniformMatrix4fv(glGetUniformLocation(shaderProgramID,toStringz("mvp")),1,GL_FALSE,cast(float *)meh.ptr);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement