… | |
… | |
62 | u = normalize (u);//D |
62 | u = normalize (u);//D |
63 | vec3 rz = -d; |
63 | vec3 rz = -d; |
64 | vec3 rx = cross (u, rz); |
64 | vec3 rx = cross (u, rz); |
65 | vec3 ry = cross (rz, rx); |
65 | vec3 ry = cross (rz, rx); |
66 | |
66 | |
67 | gl_matrix &m = ctx.projection; |
67 | matrix &m = ctx.projection; |
68 | m(0,0) = rx.x; m(0,1) = rx.y; m(0,2) = rx.z; m(0,3) = -p.x; |
68 | m(0,0) = rx.x; m(0,1) = rx.y; m(0,2) = rx.z; m(0,3) = -p.x; |
69 | m(1,0) = ry.x; m(1,1) = ry.y; m(1,2) = ry.z; m(1,3) = -p.y; |
69 | m(1,0) = ry.x; m(1,1) = ry.y; m(1,2) = ry.z; m(1,3) = -p.y; |
70 | m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = -p.z; |
70 | m(2,0) = rz.x; m(2,1) = rz.y; m(2,2) = rz.z; m(2,3) = -p.z; |
71 | m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1; |
71 | m(3,0) = 0; m(3,1) = 0; m(3,2) = 0; m(3,3) = 1; |
72 | |
72 | |
… | |
… | |
83 | |
83 | |
84 | for (int i = 0; i < 4; i++) |
84 | for (int i = 0; i < 4; i++) |
85 | for (int j = 0; j < 4 ; j++) |
85 | for (int j = 0; j < 4 ; j++) |
86 | mvp[i][j] = m(i,j); |
86 | mvp[i][j] = m(i,j); |
87 | |
87 | |
|
|
88 | ctx.modelview.identity (); |
|
|
89 | |
88 | glMatrixMode (GL_MODELVIEW); |
90 | glMatrixMode (GL_MODELVIEW); |
89 | glLoadIdentity (); |
91 | glLoadIdentity (); |
90 | |
|
|
91 | world.draw (ctx); |
92 | world.draw (ctx); |
92 | |
93 | |
93 | ctx.drawn.clear (); |
94 | ctx.drawn.clear (); |
94 | |
95 | |
95 | glColorMask (1, 1, 1, 0); |
96 | glColorMask (1, 1, 1, 0); |