@@ -150,14 +150,24 @@ def extractUniforms(constants, refMatrix):
150150 #matrix = makeMatrix(globUniforms['_uModelviewMatrix']) @ matrix
151151 elif '_uMV' in globUniforms :
152152 # Mapy CZ
153- uvOffsetScale = [0 , - 1 , 1 , - 1 ]
153+ _uParams = makeMatrix (globUniforms ['_uParams' ])
154+ #uvOffsetScale = [0, -1, 1, -1]
155+ uvOffsetScale = [
156+ _uParams [2 ][2 ] / _uParams [0 ][2 ],
157+ (_uParams [3 ][2 ] - 1 ) / _uParams [1 ][2 ],
158+ _uParams [0 ][2 ],
159+ - _uParams [1 ][2 ],
160+ ]
154161 matrix = makeMatrix (globUniforms ['_uMV' ])
162+
163+ """
155164 postMatrix = Matrix(
156165 ((0.682889997959137, 0.20221230387687683, 0.7019768357276917, -0.06431722640991211),
157166 (0.07228320091962814, 0.9375065565109253, -0.3403771221637726, -0.11041564494371414),
158167 (-0.7269363403320312, 0.28318125009536743, 0.6255972981452942, -1.349690556526184),
159168 (0.0, 0.0, 0.0, 1.0))
160169 ) @ Matrix.Scale(500, 4)
170+ """
161171 else :
162172 if refMatrix is None :
163173 print ("globUniforms:" )
@@ -287,6 +297,31 @@ def filesToBlender(context, prefix, max_blocks=200, globalScale=1.0/256.0):
287297
288298 if constants ["DrawCall" ]["type" ] == 'Google Maps' :
289299 verts = positions [:,:3 ] * 256.0 # [ [ p[0] * 256.0, p[1] * 256.0, p[2] * 256.0 ] for p in positions ]
300+ elif constants ["DrawCall" ]["type" ] == 'Mapy CZ' :
301+ raw_verts = positions [:,:3 ]
302+ verts = []
303+ globUniforms = constants ['$Globals' ]
304+ _uParamsSE = makeMatrix (globUniforms ['_uParamsSE' ])
305+ for v0 in raw_verts :
306+ r0 = [0.0 , 0.0 , 0.0 , 0.0 ]
307+ r1 = np .zeros ((3 ,), dtype = np .float32 )
308+ r2 = np .zeros ((3 ,), dtype = np .float32 )
309+ r1 [0 ] = v0 [0 ] * _uParamsSE [3 ][0 ] + _uParamsSE [0 ][0 ]
310+ r1 [1 ] = v0 [1 ] * _uParamsSE [0 ][1 ] + _uParamsSE [1 ][0 ]
311+ r1 [2 ] = (v0 [2 ] * _uParamsSE [1 ][1 ] + _uParamsSE [2 ][0 ]) * _uParamsSE [3 ][3 ]
312+ r0 [1 ] = np .linalg .norm (r1 )
313+ r0 [2 ] = r0 [1 ] + 0.0001
314+ r0 [1 ] = r0 [1 ] - _uParamsSE [2 ][3 ]
315+ r0 [2 ] = 1.0 / r0 [2 ]
316+ r1 *= r0 [2 ]
317+ r0 [2 ] = min (max (r0 [1 ], _uParamsSE [1 ][2 ]), _uParamsSE [3 ][2 ]) # clamp
318+ r0 [2 ] = (r0 [2 ] - _uParamsSE [1 ][2 ]) * _uParamsSE [0 ][3 ] * _uParamsSE [1 ][3 ] + _uParamsSE [2 ][2 ]
319+ r0 [1 ] = r0 [1 ] * r0 [2 ] - r0 [1 ]
320+ r2 [0 ] = v0 [0 ] * _uParamsSE [3 ][0 ]
321+ r2 [1 ] = v0 [1 ] * _uParamsSE [0 ][1 ]
322+ r2 [2 ] = v0 [2 ] * _uParamsSE [1 ][1 ]
323+ r2 += r1 * r0 [1 ]
324+ verts .append (r2 .tolist ())
290325 else :
291326 verts = positions [:,:3 ] # [ [ p[0], p[1], p[2] ] for p in positions ]
292327
0 commit comments