ThorVG Q&A, Issues, development discussion channel
People
Repo info
Activity
Mira Grudzinska
@mgrudzinska
@hermet@JSUYA we had this conversation a few times already... I sent prs, that depend on each other (#816 depends on #812). We have a few prs regarding gradients and I tried to split them to be as small as possible. I know that this doesn't have the highest priority, so you may review them in some time, so I wanted to send all of them now to be able to concentrate on something else. Returning to all of these calculations after a break and deciding what change should be sent as the next one is very time consuming.
Hermet Park
@hermet
@mgrudzinska neat and clean. #812 has been applied. please update the radial case as well. thanks.
1 reply
Mira Grudzinska
@mgrudzinska
@hermet for now in capi we have 'tvg_paint_transform' + 'tvg_paint_get_transform' and 'tvg_gradient_get_transform' + ''tvg_gradient_set_transform'' Can we change 'tvg_paint_transform' -> 'tvg_paint_set_transform' ?
Hermet Park
@hermet
@mgrudzinska Yes, it seems has to be. Go Go change please.
Hermet Park
@hermet
@ifire:mozilla.org@projectitis please have a look at this Samsung/thorvg#594, static loader for png/jpg modules has been submitted. thanks.
@mgrudzinskaSamsung/thorvg#37 wonderful Mira, you really did good job!
1 reply
Mira Grudzinska
@mgrudzinska
@hermet as @mihashco noticed, the explicit conversion is needed in the case when the bitwise or is used on engine types. since we release capi today, I sent pr in which I've changed the args type. please take a look and decide how we want to deal with it.
@mmaciola every release, i update it based on the guide. recently you updated thorvg viewer, if you think it needs more prerequisite or steps, please let me know.
I just came across the repo! I was in search for vg renderer for months now (was using nanovg but it was slow for my purposes). Thank you very much. I will try to make a backend for it on bgfx. But I have a question, is performance suitable for games for maybe 100-200 basic dynamic objects on screen, dynamic in terms of movement and shape changes so tesselation caching will not be very efficient?
how does the gl backend work? Does it use stencil buffer for clipping (like what rive-sokol does for example)?
Karim Ahmed
@kariem2k
I don't think the GL renderer actually supports this yet from what I see
Hermet Park
@hermet
@kariem2k hi, right. it actually doens't support gl, it's under the development. somewhat sw raster could be better than gl (it's up to how the screen is composed.)
@kariem2k in case of gl , if you have your own native rendering system, it would lose the performance when switching gl contexts between your main renderer and vector graphics renderer (thorvg).
@kariem2k in terms of that scenario, sw raster is more efficient. if you concern the performance, in the end you need to prototype & verify it.
Hermet Park
@hermet
@kariem2k i assume, the number of objects (100 ~ 200) won't be issued much, instead the higher screen resolution is more criticial to the performance.
@kariem2k i don't know the rive-sokol at this moment, you can check https://www.youtube.com/watch?v=U0y0afuNW-8 video I recorded rive animation with thorvg backend on the standard laptop (old one, not high spec machine).
@kariem2k feel free to ask me further questions :)
@hermet: I'm here for a more interactive conversation. The problem I had was I was using svg through thorvg and draw() always shows Result::InsufficientCondition.
@ifire:mozilla.org could you please double-check the return value of this? sw_canvas->push(move(picture));
@ifire:mozilla.org also, I'm wondering if you do not push the picture but just push the background shape, in that case draw() call is successful or not.
@ifire:mozilla.org could you please double check the above?
@ifire:mozilla.org +more question, does this problem only happened when you introduce the accessor customization calls?
and all the svg resources?
to make it sure the fail is only happened at the specific svg resources or all cases 100%.
@ifire:mozilla.org hmm... its not about the corruption.. so i think there could be a logic issue in the implementation...
@ifire:mozilla.org could you please check this request? => put some log messages to draw() //113 line, tvgCanvasImpl.h to figure out which condition fails.