Merge pull request #9644 from fredj/webgl_layer_compose

Use compose function from ol/transform
This commit is contained in:
Frédéric Junod
2019-06-04 15:35:05 +02:00
committed by GitHub
2 changed files with 12 additions and 7 deletions
+8 -6
View File
@@ -10,11 +10,11 @@ import {clear} from '../obj.js';
import {ARRAY_BUFFER, ELEMENT_ARRAY_BUFFER, TEXTURE_2D, TEXTURE_WRAP_S, TEXTURE_WRAP_T} from '../webgl.js';
import ContextEventType from '../webgl/ContextEventType.js';
import {
compose as composeTransform,
create as createTransform,
reset as resetTransform,
rotate as rotateTransform,
scale as scaleTransform,
translate as translateTransform
scale as scaleTransform
} from '../transform.js';
import {create, fromTransform} from '../vec/mat4.js';
import WebGLPostProcessingPass from './PostProcessingPass.js';
@@ -691,10 +691,12 @@ class WebGLHelper extends Disposable {
const center = frameState.viewState.center;
resetTransform(transform);
scaleTransform(transform, 2 / (resolution * size[0]), 2 / (resolution * size[1]));
rotateTransform(transform, -rotation);
translateTransform(transform, -center[0], -center[1]);
composeTransform(transform,
0, 0,
2 / (resolution * size[0]), 2 / (resolution * size[1]),
-rotation,
-center[0], -center[1]
);
return transform;
}
+4 -1
View File
@@ -213,7 +213,10 @@ describe('ol.webgl.WebGLHelper', function() {
scaleTransform(expected, scaleX, scaleY);
rotateTransform(expected, -frameState.viewState.rotation);
translateTransform(expected, -frameState.viewState.center[0], -frameState.viewState.center[1]);
expect(h.makeProjectionTransform(frameState, given)).to.eql(expected);
h.makeProjectionTransform(frameState, given);
expect(given.map(val => val.toFixed(15))).to.eql(expected.map(val => val.toFixed(15)));
});
});