- msbuild vkvg.sln /p:Configuration=Debug /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
after_build:
- cd ..
- - 7z a vkvg.zip build\*.dll build\*.exe build\*.lib
+ - 7z a vkvg.zip build\*.*
-
matrix:
- make
after_build:
- cd ..
- - 7z a build/vkvg.zip build/*.so* build/test_*
+ - 7z a vkvg.zip build/*.so* build/test_*
vec2 v = {cosf(a1)*radius + xc, sinf(a1)*radius + yc};
- float step = _get_arc_step(radius);
+ float step = _get_arc_step(ctx, radius);
+ printf ("steps: %.2f\n", 2.f*M_PIF/step);
float a = a1;
if (_current_path_is_empty(ctx))
vec2 v = {cosf(a1)*radius + xc, sinf(a1)*radius + yc};
- float step = _get_arc_step(radius);
+ float step = _get_arc_step(ctx, radius);
float a = a1;
if (_current_path_is_empty(ctx))
else
return res;
}
-float _get_arc_step (float radius) {
- return M_PIF/sqrtf(radius)*0.35f;
+float _get_arc_step (VkvgContext ctx, float radius) {
+ float dx = 1, dy = 1;
+ vkvg_matrix_transform_distance (&ctx->pushConsts.mat, &dx, &dy);
+ return M_PIF/sqrtf(radius)*0.35f/fmaxf(dx,dy);
}
void _create_gradient_buff (VkvgContext ctx){
vkvg_buffer_create (ctx->pSurf->dev,
bool _path_has_curves (VkvgContext ctx, uint32_t ptrPath);
float _normalizeAngle (float a);
-float _get_arc_step (float radius);
+float _get_arc_step (VkvgContext ctx, float radius);
vec2 _get_current_position (VkvgContext ctx);
void _add_point (VkvgContext ctx, float x, float y);