Build transformation matrix for our hemicube
| 336 | |
| 337 | // Build transformation matrix for our hemicube |
| 338 | void BuildTransform(vector *nu, vector *nv, vector *nn) { |
| 339 | matrix *vm = &rad_Hemicube.view_matrix; // view matrix |
| 340 | |
| 341 | if (Shoot_from_patch) |
| 342 | GetCenterOfSurface(rad_Hemicube.shooting_surface, &rad_Hemicube.view_position); |
| 343 | else |
| 344 | GetCenterOfElement(rad_Hemicube.shooting_element, &rad_Hemicube.view_position); |
| 345 | |
| 346 | rad_Hemicube.view_position += (rad_MaxSurface->normal / 16.0); |
| 347 | |
| 348 | vm->fvec = *nn; |
| 349 | vm->uvec = *nv; |
| 350 | vm->rvec = *nu; |
| 351 | } |
| 352 | |
| 353 | void StartHemicubeDrawing() { |
| 354 | StartEditorFrame(rad_Hemicube.vport, &rad_Hemicube.view_position, &rad_Hemicube.view_matrix, Hemicube_view_zoom); |
no test coverage detected