|
1 #include "MTLUtils.h" |
|
2 |
|
3 #include <jni.h> |
|
4 #include <simd/simd.h> |
|
5 #include "common.h" |
|
6 #include "Trace.h" |
|
7 |
|
8 extern void J2dTraceImpl(int level, jboolean cr, const char *string, ...); |
|
9 void J2dTraceTraceVector(simd_float4 pt) { |
|
10 J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, "[%lf %lf %lf %lf]", pt.x, pt.y, pt.z, pt.w); |
|
11 } |
|
12 |
|
13 void checkTransform(float * position, simd_float4x4 transform4x4) { |
|
14 J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, "check transform: "); |
|
15 |
|
16 simd_float4 fpt = simd_make_float4(position[0], position[1], position[2], 1.f); |
|
17 simd_float4 fpt_trans = simd_mul(transform4x4, fpt); |
|
18 J2dTraceTraceVector(fpt); |
|
19 J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, " ===>>> "); |
|
20 J2dTraceTraceVector(fpt_trans); |
|
21 J2dTraceLn(J2D_TRACE_VERBOSE, " "); |
|
22 } |
|
23 |
|
24 static void traceMatrix(simd_float4x4 * mtx) { |
|
25 for (int row = 0; row < 4; ++row) { |
|
26 J2dTraceLn4(J2D_TRACE_VERBOSE, " [%lf %lf %lf %lf]", |
|
27 mtx->columns[0][row], mtx->columns[1][row], mtx->columns[2][row], mtx->columns[3][row]); |
|
28 } |
|
29 } |
|
30 |
|
31 void traceRaster(char * p, int width, int height, int stride) { |
|
32 for (int y = 0; y < height; ++y) { |
|
33 for (int x = 0; x < width; ++x) { |
|
34 char pix0 = p[y*stride + x*4]; |
|
35 char pix1 = p[y*stride + x*4 + 1]; |
|
36 char pix2 = p[y*stride + x*4 + 2]; |
|
37 char pix3 = p[y*stride + x*4 + 3]; |
|
38 J2dTrace4(J2D_TRACE_INFO, "[%d,%d,%d,%d], ", pix0, pix1, pix2, pix3); |
|
39 } |
|
40 J2dTraceLn(J2D_TRACE_INFO, ""); |
|
41 } |
|
42 } |
|
43 |
|
44 void tracePoints(jint nPoints, jint *xPoints, jint *yPoints) { |
|
45 for (int i = 0; i < nPoints; i++) |
|
46 J2dTraceLn2(J2D_TRACE_INFO, "\t(%d, %d)", *(xPoints++), *(yPoints++)); |
|
47 } |